DragonFly bugs List (threaded) for 2008-02
DragonFly BSD
DragonFly bugs List (threaded) for 2008-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue947] Kernel panic during boot in usb_add_task


From: "Nicolas Thery" <nthery@xxxxxxxxx>
Date: Thu, 14 Feb 2008 00:06:57 +0100

2008/2/13, Matthew Dillon <dillon@apollo.backplane.com>:
> :New submission from Michael Neumann <mneumann@ntecs.de>:
> :
> :I tried my brand new HP Compaq laptop 6710b under DragonFly, but during boo=
> :ting
> :the installer CD it "throws" a page fault:
> :
> :  uhub0: 2 ports ...
> :  uhub0: <Intel UHCI root hub, ...>
> :
> :  Fatal trap 12: page fault while in kernel mode
> :  fault virtual address =3D 0x0
> :  fault code            =3D supervisor write, page not present
> :  instruction pointer   =3D 0x8:0xc04a9c5c
> :  stack pointer         =3D 0x10:0xc25f8d38
> :  frame pointer         =3D 0x10:0xc25f8d48
> :  code segment          =3D base 0x0, limit 0xfffff, type 0x1b
> :                        =3D DPL 0, pres 1, def32 1, gram 1
> :  processor eflags      =3D interrupt enabled, resume, IOPL =3D 0
> :  current process       =3D Idle
> :  current thread        =3D pri 46 (CRIT)
> :
> :  kernel: type 12, code=3D2
> :  stopped at       usb_add_task+0x4c:    movl     %edi,0(%eax)

The exception occurs in TAILQ_INSERT_HEAD(&taskq->tasks, task, next),
more precisely, looking at the macro expansion, in
*(&taskq->tasks)->tqh_last = task.

So it looks like tqh_last is a NULL ptr which presumably means that
the list head has not been initialized yet.

Maybe usb_add_task() is called before usb_create_event_thread() (which
initializes usb_taskq[]).



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