From owner-freebsd-current Wed Jan 8 08:10:09 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id IAA12255 for current-outgoing; Wed, 8 Jan 1997 08:10:09 -0800 (PST) Received: from spinner.DIALix.COM (root@spinner.DIALix.COM [192.203.228.67]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id IAA12219 for ; Wed, 8 Jan 1997 08:10:02 -0800 (PST) Received: from spinner.DIALix.COM (peter@localhost.DIALix.oz.au [127.0.0.1]) by spinner.DIALix.COM (8.8.4/8.8.4) with ESMTP id AAA24235; Thu, 9 Jan 1997 00:08:23 +0800 (WST) Message-Id: <199701081608.AAA24235@spinner.DIALix.COM> X-Mailer: exmh version 2.0beta 12/23/96 To: Bill Paul cc: grog@lemis.de, current@freebsd.org Subject: Re: What's happened to nfsd and mountd? In-reply-to: Your message of "Wed, 08 Jan 1997 09:40:51 EST." <199701081440.JAA24321@skynet.ctr.columbia.edu> Date: Thu, 09 Jan 1997 00:08:22 +0800 From: Peter Wemm Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Bill Paul wrote: > Of all the gin joints in all the towns in all the world, grog@lemis.de > had to walk into mine and say: > > > For the past 10 days or so, I haven't been able to build functional > > nfsd and mountd: they die with messages like these: > > > > Jan 8 11:34:38 freebie mountd[1215]: Can't register mount > > Jan 8 11:35:16 freebie nfsd:[1261]: can't register with udp portmap > > I'm starting to think that this may be due to some changes Peter Wemm > made to the RPC library a short while back (maybe ten days -- not exactly > sure, but it sounds about right). Either that or somebody frobbed some > headers somewhere that broke the library. Hmm.. > > ktraces show that in each case a sendto fails: > > > > 577 mountd CALL sendto(0x5,0x465f0,0x38,0,0x46408,0x10) > > 577 mountd RET sendto -1 errno 47 Address family not supported by pr otocol family > > 577 mountd CALL write(0x2,0xefbfcb98,0x67) > > 577 mountd GIO fd 2 wrote 103 bytes > > "Cannot register service: RPC: Unable to send; errno = Address famil y not supported by protocol family > > > > " > > (don't ask me where stderr goes--I didn't see this message anywhere > > when I ran mountd). > > > > This is apparently not a kernel problem: I can start the versions I > > compiled a month ago and which I still have on my laptop, and they run > > fine. It's rather puzzling, though, because the source files haven't > > changed in that time. I can only assume a library problem somewhere, > > but I don't have the time to follow it up. > > It's most likely something in the RPC library in libc, not in the programs. The first thing that springs to mind is that it looks like it's happening here in clnt_udp.c: if (sendto(cu->cu_sock, cu->cu_outbuf, outlen, 0, (struct sockaddr *)&(cu->cu_raddr), cu->cu_rlen) != outlen) { cu->cu_error.re_errno = errno; if (fds != &readfds) free(fds); return (cu->cu_error.re_status = RPC_CANTSEND); } In this case, it looks to me like the socket is created and bound correctly, Hmm, I'll dig into it some more. > Rrrrr.... excuse me while I go fill up the gas tank on my LART. Do I want to know what a LART is, or not? :-] > -Bill Cheers, -Peter