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>