Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Feb 2001 11:02:32 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Crist J. Clark" <cjclark@reflexnet.net>
Cc:        current@FreeBSD.org
Subject:   Re: Kernel Panic from Yesterday's CVSup
Message-ID:  <XFMail.010206110232.jhb@FreeBSD.org>
In-Reply-To: <20010206001751.F91447@rfx-216-196-73-168.users.reflex>

next in thread | previous in thread | raw e-mail | index | archive | help

On 06-Feb-01 Crist J. Clark wrote:
> On Mon, Feb 05, 2001 at 02:51:59PM -0800, John Baldwin wrote:
>> 
>> On 05-Feb-01 Crist J. Clark wrote:
>> > I don't recall reports of trouble with recent CURRENT, but my CVSup
>> > from yesterday afternoon is panicing. Before I try too debug this, has
>> > anyone been getting these or knows what I might be missing?
>> > 
>> > Boot messages and the panic info are attached.
>> 
>> Could you please turn on DDB, WITNESS, and INVARIANTS in your kernel and see
>> if
>> you can reproduce this?  Also, compile the kernel with debug symbols.  Then
>> type 'trace' at the db> prompt when it does to get a backtrace of where it
>> blew
>> up.  Thanks.
> 
> OK. The boot messages and debug output is attachment one, the kernel
> config is second. For the record, I have not made any changes to the
> kernel; fresh CVSup.

ARGH.  The trap code is breaking this.  We are getting a trap with interrupts
disabled because we have hit a bug while holding a spin mutex.  The handy-dandy
trap code then enables interrupts for us which allows an interrupt to come in
and blow up recursing on sched_lock and obscuring the previous trap.  That, and
it looks like ddb can't follow back through an interrupt trace properly.  Can
you edit src/sys/i386/i386/trap.c and comment out the 'enable_intr()' with the
nasty comment above it about spin mutexes in trap():

                /*
                 * We should walk p_heldmtx here and see if any are
                 * spin mutexes, and not do this if so.
                 */
                enable_intr();
        }

Just comment out that enable_intr() and please try again.  This should give you
a stack trace where the actual bug is.  Thanks.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


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.010206110232.jhb>