On Wed, Sep 7, 2011 at 12:24 PM, Charlie Martin <crmar...@sgi.com> wrote:
>
>
> On 2011-09-07 12:53, m...@freebsd.org wrote:
>>>
>>> For my immediate purposes, I'd be happy with any way in which I could
>>> >  brutally kill the kernel and force it to the debugger, say by
>>> > replacing the
>>> >  panic call with a printf followed by "1/0;".  But I'm a little
>>> > confused by
>>> >  the panic.c code -- it prints the arguments using a var_args, and then
>>> > calls
>>> >  "exit(1);'
>>
>> What file are you looking in?  The kernel panic() is in
>> sys/kern/kern_shutdown.c, not sys/boot/common/panic.c.  It will
>> optionally call kdb_enter_why() and then boot().
>
> Bingo, that's got to help.  This makes a lot more sense.
>
>> Do you have the debug.debugger_on_panic sysctl set to 1?
>
> Yes -- and panic does so *except* in the version with those changes to
> queue.h.

If all you need to get started is a backtrace then
debug.trace_on_panic=1 may be sufficient.

I'm not sure of the timeline when 7.2-prerelease was issued, but there
have been some reliability improvements to panic handling including
marking that a CPU is in panic, etc., that may have come after
7.2-prerelease.  You may want to look at the svn history for
kern_shutdown.c and locally apply those changes to see if it changes
your result.

Cheers,
matthew
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to