From owner-freebsd-current Mon Mar 12 10:33:37 2001 Delivered-To: freebsd-current@freebsd.org Received: from h132-197-97-45.gte.com (h132-197-97-45.gte.com [132.197.97.45]) by hub.freebsd.org (Postfix) with ESMTP id 1756F37B719; Mon, 12 Mar 2001 10:33:31 -0800 (PST) (envelope-from ak03@gte.com) Received: (from ak03@localhost) by h132-197-97-45.gte.com (8.11.3/8.11.3) id f2CIWr800738; Mon, 12 Mar 2001 13:32:53 -0500 (EST) (envelope-from ak03) Message-ID: X-Mailer: XFMail 1.4.7p2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Mon, 12 Mar 2001 13:32:52 -0500 (EST) Organization: Verizon Laboratories Inc. From: "Alexander N. Kabaev" To: Dag-Erling Smorgrav Subject: RE: -CURRENT no longer boots Cc: current@FreeBSD.ORG, John Baldwin Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 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