Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2001 13:32:52 -0500 (EST)
From:      "Alexander N. Kabaev" <ak03@gte.com>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        current@FreeBSD.ORG, John Baldwin <jhb@FreeBSD.ORG>
Subject:   RE: -CURRENT no longer boots
Message-ID:  <XFMail.20010312133252.ak03@gte.com>
In-Reply-To: <xzpn1as5jvk.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <ak03@gte.com>
Date: 12-Mar-2001
Time: 12:40:36
------------------------------------------

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20010312133252.ak03>