Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jul 2004 10:49:33 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Peter Grehan <grehan@freebsd.org>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: kernel not bootable today?
Message-ID:  <16635.57213.872393.12719@grasshopper.cs.duke.edu>
In-Reply-To: <40FB1C83.3010800@freebsd.org>
References:  <16634.61745.306200.480570@grasshopper.cs.duke.edu> <40FB1C83.3010800@freebsd.org>

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

Peter Grehan writes:
 > > OK boot
 > > Kernel entry at 0x12ab48 ...
 > > KDB: debugger backends: ddb
 > > KDB: current backend: ddb
 > > 
 > > DEFAULT CATCH!, code=900 at   %SRR0: 0000a840   %SRR1: 00083000 
 > >  ok
 > > 0 >
 > 
 >   That's before interrupt vectors have been setup, or it would
 > have dropped into ddb. Is this repeatable ?

Yes.. it seems to be.  I run a kernel without WITNESS, INVARIANTS, 
INVARIANTS_SUPPORT, or KTR.   That will crash like this every time.
If I add back INVARIANTS_SUPPORT and INVARIANTS, it works fine.
Eg:
diff TEST.worked TEST
64,65d63
< options       INVARIANTS              #Enable calls of extra sanity checking
< options       INVARIANT_SUPPORT       #Extra sanity checks of internal structures, required by INVARIANTS

Maybe there is some cache-sync or something that is required at load
time, but which is missing, and INVARIANTS slows down the MI code enough to
mask the bug?

Now that I've found the option that kills it, I'll see if I can do a
binary CVS search for a "good" vs "bad" kernel date.  If there's a
better way, please let me know..  From the SRM console on alpha, you
could at least get the PC at the time of the fault.  Is this possible
with openfirmware?

Drew



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