Date: Thu, 09 Jan 1997 00:08:22 +0800 From: Peter Wemm <peter@spinner.DIALix.COM> To: Bill Paul <wpaul@skynet.ctr.columbia.edu> Cc: grog@lemis.de, current@freebsd.org Subject: Re: What's happened to nfsd and mountd? Message-ID: <199701081608.AAA24235@spinner.DIALix.COM> In-Reply-To: Your message of "Wed, 08 Jan 1997 09:40:51 EST." <199701081440.JAA24321@skynet.ctr.columbia.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701081608.AAA24235>