Current-Users archive

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

Re: How to debug a hang while booting the kernel?



On Tue, Jan 13, 2009 at 06:38:42PM +0000, Patrick Welche wrote:
> On Mon, Jan 12, 2009 at 07:37:02PM +0100, Bernd Ernesti wrote:
> > On Mon, Jan 12, 2009 at 01:27:07PM +0000, Patrick Welche wrote:
> > > On Mon, Jan 12, 2009 at 12:57:21PM +0100, Bernd Ernesti wrote:
> > > > Is there a way to find out where the kernel hangs from ddb?
> > > 
> > > I suppose the first question is: can you get into ddb at all once it 
> > > hangs?
> > 
> > Yes, but bt und ps didn't show something usefull for me.
> 
> Is it eg multiprocessor and i386/amd64, in which case is the trace on the
> other processor more useful eg
> mach cpu 1
> bt
> ?

Yes, this is a i386 SMP system, but only the first cpu is doing something:

 wskbd_translate
 wkbd_input
 pckbd_input
 pckbcintr
 intr_biglock_wrapper
 DDB lost frame for netbsd:Xintr_ioapic_edge10+0xa9, trying 0xce996f74
 Xintr_ioapic_edge10
 --- interrupt ---
 --- switch to interrupt stack ---
 Xspllower
 softint_dispatch
 DDB lost frame for netsbd:Xsoftintr
 Xsoftintr
 --- interrupt ---
 fatal page failt in supervisor mode
 trap type 6 code 0 eip  c0208df cs 8 eflags 10206 cr2 3a ilevel 8

The second cpu:

 x86_stihlt
 idle_loop

> (The only ps trick I can think of is for gdb rather than ddb :-/)

Martin mentioned ps/l and that may lead to something.

Here are some states hand written since the board has no serial port:

usb6    usbevt
usb5    usbdly
usb4    usbevt
usb3    usbevt
usb2    usbevt
usb1    usbevt
usbtask-dr      usbtsk
usbtask-hc      usbtsk
usb0    usbevt
fw0_probe       -
atabus7 ata_initq
atabus6 ata_initq
iic0    iicintr
atabus5 sataup
atabus4 sataup
atabus3 atath
atabus2 atath
atabus1 atath
atabus0 atath

The cdrom is connected to atabus6. there are no devices on atabus4, atabus5 and 
atabus7
4 drives on atabus0 -> atabus3

Bernd



Home | Main Index | Thread Index | Old Index