Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Nov 1996 13:38:54 +0000 (GMT)
From:      Doug Rabson <dfr@render.com>
To:        "Jordan K. Hubbard" <jkh@time.cdrom.com>
Cc:        wpaul@freebsd.org, dfr@freebsd.org, stable@freebsd.org
Subject:   Re: Weirdie in mountd perhaps you can help me with...
Message-ID:  <Pine.BSF.3.95.961108133601.26390D-100000@minnow.render.com>
In-Reply-To: <199611081243.EAA01694@time.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 8 Nov 1996, Jordan K. Hubbard wrote:

> As has been reported by several people, including myself, there's still
> some problem with "NFS" in 2.1.5 where essentially mountd "goes away" and
> refuses to answer further requests.  Sometimes it goes away entirely, in fact,
> and has to be restarted.
> 
> In order to try and get to the bottom of this one, I compiled up a version
> of mountd with debugging and attached to it with gdb right after the system
> came up.  I've been running this way all day, and just now reproduced one
> of the failures, which was the "long hang" (I haven't had it outright die yet,
> thought it's been mysteriously HUP'd twice by the system when an *outgoing*
> mount request was made, and for no reason that I can see).  The debugger

Mountd wakes up when any filesystem (local or remote) is mounted so that
it can correctly export local filesystems depending on the contents of
/etc/exports.

> shows the following stack trace:
> 
> #0  0x27345 in select ()
> #1  0x18bbc in res_send ()
> #2  0x168c7 in res_query ()
> #3  0x1057a in _gethostbydnsaddr ()
> #4  0xf6c0 in gethostbyaddr ()
> #5  0x1d2d in mntsrv (rqstp=0xefbfda1c, transp=0x4d080)
>     at /usr/src/sbin/mountd/mountd.c:413
> #6  0xa082 in svc_getreqset ()
> #7  0x48db in svc_run ()
> #8  0x1a39 in main (argc=1, argv=0xefbfdadc)
>     at /usr/src/sbin/mountd/mountd.c:317
> 
> Where it appears to be hanging in res_send()'s select.  This, after a long
> interval, finally does time out and drops us back to mountd's usual select,
> e.g.:
> 
> #0  0x27345 in select ()
> #1  0x48c9 in svc_run ()
> #2  0x1a39 in main (argc=1, argv=0xefbfdadc)
>     at /usr/src/sbin/mountd/mountd.c:317
> 
> The corresponding mount request also succeeds at the end of this timeout.
> 
> Any ideas?

My guess is that it is trying to DNS resolve a badly formed address.  The
timeouts for this are pretty long.  Impossible to tell without knowing the
arguments to gethostbyaddr and res_query :-(.

--
Doug Rabson, Microsoft RenderMorphics Ltd.	Mail:  dfr@render.com
						Phone: +44 171 734 3761
						FAX:   +44 171 734 6426




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.961108133601.26390D-100000>