Do you have WITNESS_SKIPSPIN option in your kernel config?
Here is what supposedly causing the trouble:
a) the process p_spinlocks variable is initialized to one in fork1 during
the process creation
b) the sched_lock is released later in fork_exit, but the process'
p_spinlocks field is not decreased because sched_lock is not tracked by the
witness subsystem
b) process tried to grab Giant but sees p_spinlocks > 0 ... instant panic :)
The quick and dirty fix is to either set debug.witness_skipspin=0 in
/boot/loader.conf or modify witness_enter function to ignore p_skipspin counter
if debug.witness_skipspin is non-zero.
------------------------------------------
E-Mail: Alexander N. Kabaev <[EMAIL PROTECTED]>
Date: 12-Mar-2001
Time: 12:40:36
------------------------------------------
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message