On Wed, Apr 08, 2009 at 01:31:05AM +0000, Bryan wrote:
> okay, I can pop back out to the ddb> prompt if I ctrl-alt-esc again,
> but nothing is
> happening when I type "continue", it goes back to the blinking cursor.  No
> messages, but I did take a screenshot of "ps" and "trace".  By the way, the
> "hangman" feature is interesting...
> 
> I uploaded them here...
> http://picasaweb.google.com/brakeb/31MarchOpenBSDIssue?feat=directlink

This one is interesting, the kernel seems to hang in disksort()
before you interrupt it by dropping into the debugger:
http://picasaweb.google.com/brakeb/31MarchOpenBSDIssue?feat=directlink#5322148143036975074

That function has two loops in it -- maybe one of them does not
terminate for some reason?

> trace_2.jpg is much the same as trace_1, but there are 2 lines at the
> bottom that I thought would be important.
> 
> I did do a boot dump, and after I rebooted, I went into that "gdb"
> that was talked about in crash(8),
> did a "file /var/crash/bsd.0", and then "where"
> 
> It said "No stack."

You also need "target kvm /var/crash/bsd.0.core".

But I'd say you won't see much different stuff then on
http://picasaweb.google.com/brakeb/31MarchOpenBSDIssue?feat=directlink#5322148143036975074
That trace should already be quite helpful and should be analised
by a competent person capable of asking further questions to pin-point
the issue (i.e. not me).

For the future:
The trace you get from a crash dump won't be of much use
unless you compile your kernel with debug symbols.

I have a config DEBUG.MP for that which goes:

        include "arch/i386/conf/GENERIC.MP"

        makeoptions DEBUG="-g"

If you use GENERIC instead of GENERIC.MP you might have to adjust
this obviously.

Compiling a kernel with that option will give you file called
"bsd.gdb" as well as "bsd". You mus then boot that "bsd" kernel
and reproduce the crash again. Don't use your old kernel, it likely
won't match the bsd.gdb. bsd.gdb is not bootable, but you can pass
that to the "file" command of gdb to get a meaningful stack trace from
a crash dump, i.e.:

        file /bsd.gdb
        target kvm /var/crash/bsd.0.core
        where

Stefan

Reply via email to