NFS problem (non-sleepable locks held)
Robert Watson
rwatson at freebsd.org
Tue Nov 11 15:53:52 PST 2003
On Tue, 11 Nov 2003, cosmin wrote:
> I'm getting the following message when transfering data to a
> freebsd-current server via an nfs mount from another fbsd client.
>
> malloc() of "64" with the following non-sleepable locks held: exclusive
> sleep mutex inp r = 0 (0xc1d250ac) locked @
> /usr/src/sys/netinet/udp_usrreq.c:378
>
> The message shows up 12 times and then it doesn't show up anymore, even
> if I stop the transfer and start it again. This server uses the nge
> driver for its network card. It's running the sources from yesterday,
> Nov 10 2003.
>
> I've been having problems with one of our machines freezing up during
> long nfs transfers, and now i'm trying to reproduce the freeze on this
> test machine. So far no luck, and the only oddity i've been getting is
> the above message.
>
> Could the above message be causing the freezes ?
Could you hook up a serial console and turn on debug.witness_ddb. When
you get this warning, you'll drop into the console debugger. Type in
"trace" to get a stack trace. You can then continue and turn it off again
(or drop into the debugger a few more times until you're able to run it
:-). Basically, something is calling malloc with M_WAITOK while holding a
mutex. Potentially this could cause stalls or resource deadlocks, but I
think it's likely not the source of your freezes. On the other hand, it's
definitely worth fixing, and if it fixes the symptoms you're seeing, even
better :-).
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Network Associates Laboratories
More information about the freebsd-current
mailing list