Subject: Re: deadlocks, many processes in sleepq_block
To: None <tech-kern@netbsd.org>
From: Anthony Mallet <anthony.mallet@laas.fr>
List: tech-kern
Date: 09/21/2007 12:11:45
Andrew Doran writes:
| There are a number of places where uvm_lwp_hold() / rele() are called with
| (l == curlwp), and the callers expect them not to block in that case. The
| locks are fully enabled on the vmlocking branch. I've commented out the
| asssertion for now with uvm_glue.c rev 1.112.

OK, will test. I think this problem is not related to my initial problem,
however.

This morning I had a freeze just after the boot, while running /etc/rc.
ddb showed all the LWP blocked in
   sleepq_block()
   cv_timedwait_sig()
and either pollcommon(), or selcommon() or nfssvc_nfsd()

No assert, no diagnostic message. "sync" in ddb blocked without producing
a crash dump.