FreeBSD 7 64 bits kernel crash debugging

Fernando Apesteguía fernando.apesteguia at gmail.com
Tue Jul 8 07:11:53 UTC 2008


On Thu, Jul 3, 2008 at 4:52 PM, Alexander Sack <pisymbol at gmail.com> wrote:
> On Wed, Jul 2, 2008 at 12:50 PM, Fernando Apesteguía
> <fernando.apesteguia at gmail.com> wrote:
>> Hi all,
>>
>> I'm experiencing several kernel crashes with the GENERIC kernel and
>> with custom kernels as well. One of my MP3 players seems to be
>> recognized, but if I disconnect it from the USB port (even without
>> mounting the device), I got a kernel crash.
>>
>> I've tried to follow the instructions at
>> http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html
>> I have dumpdev and dumpdir properly set to my swap partition (ad0s2b)
>> and to /var/crash.
>>
>> However, during the next boot, I got a message that indicates it is
>> looking for a dump on such device but it couldn't find any.
>>
>> How can I track this error?
>
> Have you enabled at least KDB/DDB debugger support so you can look at
> a stack trace ("t") and post this?  This will at least give us/you
> some idea on what is crashing...

No, running GENERIC kernel.

>
> Add minimally to your kernel build conf file:
>
> options DDB
> options KDB
>
> Rebuild, reboot, and test.  I'm not sure why a crash dump is not
> working.  Have you tried specifying your dump device in your kernel
> config file?

Hi,

First of all sorry for the delay, but my ISP is pissing me off since a
couple of days and I don't have either telephone, nor Internet
connection :S

Anyway, I managed to recompile the kernel with debugging support. I
provoked the panic and here is the trace:

db> t
Tracing pid 2 tid 100006 td 0xffffff0001096340
xpt_done() at xpt_done+0x54
cam_periph_runccb() at cam_periph_runccb+0x46
daprevent() at daprevent+0x80
daclose() at daclose+0x164
g_disk_access() at g_disk_access+0x107
g_access() at g_access+0x188
g_bsd_taste() at g_bsd_taste+0xdc
g_new_provider_event() at g_new_provider_event+0x75
g_run_events() at g_run_events+0x1c7
g_event_procbody() at g_event_procbody+0x56
fork_exit() at fork_exit+0x11e
fork_trampoline() at fork_trampoline()+0xe
--- trap 0, rip = 0, rsp = 0xffffffffa0574d30, rbp = 0 ---

The chain of events that leads to this panic is as follows:

1.- I plug the mp3 player in
2.- I see console messages about the device (size, transfer speed,
etc). It is assigned the da0 device
3.- I list /dev and ther is no da0 (kernel still busy doing something?)
4.- After waiting some time (even minutes) I unplug the mp3 player and
I got the crash.

Thanks in advance.

>
> Let us know,
>
> -aps
>


More information about the freebsd-hackers mailing list