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>