On Sunday 07 March 2010 11:46:58 Garrett Cooper wrote: > On Sun, Mar 7, 2010 at 2:24 AM, Garrett Cooper <yanefbsd_at_gmail.com> wrote: > > On Sun, Mar 7, 2010 at 2:07 AM, Garrett Cooper <yanefbsd_at_gmail.com> wrote: > >> Hi Alexander and Hans, > >> I recently did the following which generated a panic on a > >> 9-CURRENT kernel compiled on the 26th: > >> > >> 1. Executed reboot > >> 2. Removed keyboard. > >> 3. Some time after `All buffers synced\nUptime: ...' was displayed, > >> the keyboard was registered disconnected. > >> 4. The interrupt was delivered to my twa(4) enabled card and the > >> kernel panicked, like so: > >> > >> ugen2.2: <Mitsumi Electric> at usbus2 (disconnected) > >> uhub8: at uhub2, port 1, addr 2 (disconnected) > >> ugen2.3: <Mitsumi Electric> at usbus2 (disconnected) > >> ukbd0: at uhub8, port 3, addr 3 (disconnected) > >> uhid0: at uhub8, port 3, addr 3 (disconnected) > >> panic: mtx_lock_spin() of destroyed mutex _at_ > >> /usr/src/sys/dev/twa/tw_cl_intr.c:88 > >> > >> cpuid = 1 > >> KDB: enter: panic > >> [thread pid 12 tid 100025 ] > >> Stopped at kdb_enter+0x3d: movq $0,0x40289c(%rip) > >> db> > >> > >> I wish I could provide you with more details, but unfortunately I > >> the USB bus isn't registering the fact that I'm reattaching the > >> keyboard right now and the box won't reboot automatically :( (didn't > >> set the right sysctl beforehand to panic automatically). I'll try and > >> reproduce the issue again, but I was just wondering whether or not you > >> guys had seen this problem before. > > > > Phew... it's reproducible with that kernel. Here's what I did > > exactly (because my original directions were incorrect): > > 1. Hit power button (for S5). > > 2. Disconnect keyboard RIGHT as `Uptime: ...' is displayed. > > Kernel panicked on my system again. Now to figure out if it still > > exists with a kernel compiled today, and also how to debug it if it > > still does exist :/... > > 1. It still does exist with today's kernel. > 2. Here's the backtrace: > > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a > panic() at panic+0x17d > _mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x126 > tw_cl_interrupt() at tw_cl_interrupt+0x14c > twa_pci_intr() at twa_pci_intr+0x11 > intr_event_execute_handlers() at intr_event_execute_handlers+0x67 > ithread_loop() at ithread_loop+0xae > fork_exit() at fork_exit+0x12a > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip = 0, rsp = 0xffffff80751d6d30, rbp = 0 --- > KDB: enter: panic > [ithread pid 12 tid 100025 ] > Stopped at kdb_enter+0x3d: movq $0, 0x40289c(%rip) > > I'll have to wait until tomorrow to grab a PS/2 keyboard to get more > helpful info :/... > Thanks, > -Garrett > Hi, The reason you get this panic when you unplug the USB keyboard is probably because the twa interrupt handler is shared with the USB one. It does not look like a USB problem to me but rather a problem inside the twa_pci_intr() code. --HPSReceived on Sun Mar 07 2010 - 17:41:29 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:01 UTC