Re: NFS problem (non-sleepable locks held)

From: Robert Watson <rwatson_at_freebsd.org>
Date: Tue, 11 Nov 2003 18:52:03 -0500 (EST)
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 _at_
> /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
Received on Tue Nov 11 2003 - 14:53:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:28 UTC