NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: double fault when using fssconfig + repetitive savecore problem



Juergen Hannken-Illjes wrote:
On Sun, Feb 20, 2011 at 03:55:08PM +0100, theo borm wrote:
3) <ctrl>-<alt>-<escape>, followed by "sync" generates a memory dump. After this memory dump I'm back in the same repetitive core-saving cycle, and I have to "savecore -c" again.

4) savecore (during reboot) fails with an "savecore: (null): Bad address", and while I end up with a "netbsd.N.core.gz", the accompanying "netbsd.N.gz" file is simply empty. My suspicion is that this is what is causing 3) to happen.

Try adding

        savecore=YES            savecore_flags="-z -N /netbsd"

to /etc/rc.conf.  A working crash dump would help with 2) too.

hi,

Thanks for the reply.

Ok, reading the manual page I don't get how/why that's supposed to work (*), but it does at least try to give me a core dump and a kernel image.


trying to debug my debug-enabled kernel (gdb /var/crash/netbsd.7 /var/crash/netbsd.7.core) results in:
...
"/var/crash/netbsd.7.core" is not a core dump: File format not recognized
(gdb) bt
No stack.
(gdb)

cmp /netbsd /var/crash/netbsd.7 indicates they are the same.


just to verify, sending an ABRT signal to a running top gives me a core dump which I can debug (gdb /usr/bin/top top.core):
...
Program terminated with signal 6, Aborted.
#0 0x00007f7ffd5341aa in select () from /usr/lib/libc.so.12
(gdb) bt
#0 0x00007f7ffd5341aa in select () from /usr/lib/libc.so.12
#1 0x0000000000408402 in do_command ()
#2 0x00000000004088c2 in main ()
(gdb)

So it's not gdb which is the problem...


Trying again with a stock GENERIC kernel results in the same "File format not recognized" message.


So, what's the next option?...

Is there an easy way to provoke a core dump on real hardware? (I've previously had success crashing NetBSD by mounting a particular ext2 formatted USB drive, but I'm not sure if I still have that drive...)


regards, Theo


(*)
# cat test.c
#include <util.h>
int main(void)
{
printf("%s\n",getbootfile());
}
# gcc -o test -lutil test.c
# ./test
/netbsd




Home | Main Index | Thread Index | Old Index