Johannes Erdfelt <[EMAIL PROTECTED]> writes: > On Sat, Jan 05, 2002, Peter Osterlund <[EMAIL PROTECTED]> wrote: > > On Sat, 5 Jan 2002, Johannes Erdfelt wrote: > > > > > > Did you say this is reproducible? > > > > No, I have only seen this once, so maybe we should stop worrying about it > > for now. At least, quite a few things were found while searching for the > > problem, so I don't think the effort has been wasted. > > Yeah. Without a way to reproduce it and some of the logs gone, it's > gonna be tough. > > Hopefully, one of those patches will fix the problem. If not, we'll hear > from you again I guess :)
OK, the good news is that it did happen again, this time with kernel 2.4.18-pre1. The bad news is that it happened because my CDRW writer broke. Anyway, this time I had serial console logging active, and immediately before the oops/panic, this was logged: usb_control/bulk_msg: timeout usb-uhci.c: interrupt, status 2, frame# 499 Maybe the usb layer timeout is exactly equal to the drive's internal timeout. Immediately after printing the timeout msg, the code in usb.c calls usb_unlink_urb(). If an interrupt occurs while inside that function, and the interrupt routine also decides to call usb_unlink_urb(), doesn't that have the potential to seriously mess things up? Here is the new oops, it looks very similar to the first one. usb_control/bulk_msg: timeout usb-uhci.c: interrupt, status 2, frame# 499 Unable to handle kernel NULL pointer dereference at virtual address 0000000c c01281ee *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c01281ee>] Not tainted Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010046 eax: 02bdcc80 ebx: 6f732e78 ecx: 00000000 edx: 00000000 esi: 00000000 edi: 00000206 ebp: 00000000 esp: c135be7c ds: 0018 es: 0018 ss: 0018 Process hotplug (pid: 1085, stackpage=c135b000) Stack: c3cd03c0 6f732e78 c3cd03e0 c11e12e0 c4817f6f 6f732e78 00000000 00000001 ffffff92 c3cd03c0 c3bde200 00000000 c3bde200 c3bde200 c1145e20 00000000 c3bde200 c48171c2 c3bde200 c3bde200 00000000 c48288a5 c3bde200 00000000 Call Trace: [<c4817f6f>] [<c48171c2>] [<c48288a5>] [<c4828981>] [<c01103fa>] [<c01080ba>] [<c010823d>] [<c011bf5d>] [<c0106d03>] Code: 8b 41 0c 29 c3 89 d8 f7 76 18 89 c3 8b 41 14 89 44 99 18 89 >>EIP; c01281ee <kfree+2e/a0> <===== Trace; c4817f6f <[usbcore]usb_destroy_configuration+19f/210> Trace; c48171c2 <[usbcore]usb_free_dev+22/50> Trace; c48288a5 <[usb-uhci]process_urb+1e5/200> Trace; c4828981 <[usb-uhci]uhci_interrupt+c1/130> Trace; c01103fa <do_page_fault+19a/4f0> Trace; c01080ba <handle_IRQ_event+3a/70> Trace; c010823d <do_IRQ+6d/b0> Trace; c011bf5d <sys_rt_sigprocmask+15d/1d0> Trace; c0106d03 <system_call+33/40> Code; c01281ee <kfree+2e/a0> 00000000 <_EIP>: Code; c01281ee <kfree+2e/a0> <===== 0: 8b 41 0c mov 0xc(%ecx),%eax <===== Code; c01281f1 <kfree+31/a0> 3: 29 c3 sub %eax,%ebx Code; c01281f3 <kfree+33/a0> 5: 89 d8 mov %ebx,%eax Code; c01281f5 <kfree+35/a0> 7: f7 76 18 div 0x18(%esi),%eax Code; c01281f8 <kfree+38/a0> a: 89 c3 mov %eax,%ebx Code; c01281fa <kfree+3a/a0> c: 8b 41 14 mov 0x14(%ecx),%eax Code; c01281fd <kfree+3d/a0> f: 89 44 99 18 mov %eax,0x18(%ecx,%ebx,4) Code; c0128201 <kfree+41/a0> 13: 89 00 mov %eax,(%eax) <0>Kernel panic: Aiee, killing interrupt handler! -- Peter Osterlund - [EMAIL PROTECTED] http://w1.894.telia.com/~u89404340 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel