Subject: Re: Kernal panic woes
To: Christos Zoulas <christos@zoulas.com>
From: Chris G. Demetriou <cgd@netbsd.org>
List: port-i386
Date: 10/09/1998 10:27:02
christos@zoulas.com (Christos Zoulas) writes:
> You are dying because of a panic, which is good. Unfortunately you are
> rebooting immediately after a panic, so that you are not seeing the panic
> message. In addition, your stack is trashed, so you don't see where panic
> is being called from.

Uh, his stack trace said:

(gdb) where
#0  0x6 in ?? ()
#1  0xf01e5d3b in cpu_reboot ()
#2  0xf013a949 in panic ()
#3  0xf01ec5d6 in trap ()

Looks more likely to me that he's got the problem of not getting
argument information, because the kernel image he's using doesn't have
debugging symbols.


My suggestion:

recompile the kernel from scratch after putting:

makeoptions    DEBUG="-g"      # compile full symbol table

in the config file and re-'config'-ing.

That'll generate two kernels, "netbsd" and "netbsd.gdb".  reboot with
"netbsd" as your kernel, i.e. make it /netbsd and reboot, etc.
But the next time it crashes, use "netbsd.gdb" as the symbol file.


Also, you can easily check to see what the kernel message buffer
looked like, via a command like:

dmesg -N netbsd.2 -M netbsd.2.core

etc., which might show you something interesting (including the panic
message).


In my opinion, DDB is approximately useless in production
environments, and since you seem to be getting a crash dump, you ought
to maximize the utility that you can get out of that.


cgd
-- 
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.