Great, let us know what you find out. I didn't see any obvious
path whereby the OHCI driver would arrange to give itself
corrupt data on the timer callback ... but tracking down memory
corruption in multithreaded environments is notoriously tricky!
- Dave
----- Original Message -----
From: David Nash <[EMAIL PROTECTED]>
To: David Brownell <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Friday, May 19, 2000 2:09 AM
Subject: Re: [linux-usb] usb-ohci Oops & kernel panic
> --------
> On Thu, 4 May 2000 16:49:50 -0700 "David Brownell" wrote:
>
> > > At the top of the log was:
> > >
> > > kernel BUG at usb-ohci.c:1360!
> > >
> > > which is almost certainly a usb-ohci problem.
> >
> > Actually, I missed that (sigh) -- but it shows that the OHCI
> > subsystem got bad data in its timer callback. (That's what
> > the BUG in question was.)
> >
> > The question is where that came from. Whatever it was, it
> > seems to have affected other USB stuff too.
> >
> >
> > > I think it crashing in usbcore was a side effect of the usb-ohci bug.
> >
> > I'm thinking that they're both side effects of some other
> > sort of problem. Two Athlons have reported it, and one
> > Alpha had a similar one. Coincidence? Maybe. Maybe not.
> >
> > Don't they all have an "EV-6" bus in common? That's not
> > gotten much Linux exposure yet?
>
> Hello again,
>
> I've been running without USB for a week or so and didn't see any
> problems or oops messages. After loading the usb modules again the
> system locked again with the oops shown below. My kernel is now
> 2.3.99-pre8. The eip points to usb-ohci.c again. I've only seen it
> report usbcore.c once so I think that was a side-effect type of thing.
> I haven't got the patch on at the moment.
>
> I think I'll post a report over on the kernel list - I've see a few
> traces that look similar (unable to handle kernel paging request,
> eip pointing to timer callback etc) related to non usb subsystems.
> Maybe there's a common cause - or just a comman result.
>
>
> Thanks for any insights
>
> David
>
>
> ksymoops 2.3.4 on i686 2.3.99-pre8. Options used
> -V (default)
> -k /proc/ksyms (default)
> -l /proc/modules (default)
> -o /lib/modules/2.3.99-pre8/ (default)
> -m /src/linux/System.map (specified)
>
> Unable to handle kernel paging request at virtual address d4d28794
> CPU: 0
> EIP: 0010:[<d2858c75>]
> Using defaults from ksymoops -t elf32-i386 -a i386
> EFLAGS: 00013292
> eax: d4d28794 ebx: 0000000c ecx: ce4ba001 edx: 00000000
> esi: 00000068 edi: c024ff1c ebp: 00000061 esp: c024fef8
> ds: 0018 es: 0018 ss: 0018
> Process swapper (pid: 0, stackpage=c024f000)
> Stack: cf499cc0 00000000 c029f540 d2858d40 00000001 00000001 c024ff1c
000020c7
> 000000fc ffff0000 ffff0fff ffffffff ce4ba001 cefa4500 00000001
cf499cc0
> c012012c cf499cc0 00000000 00000000 c029f540 c029f4c0 00000000
c010f174
> Call Trace: [<d2858d40>] [<ffff0000>] [<ffff0fff>] [<c012012c>]
[<c010f174>] [<c011cf8b>] [<c011cec8>]
> [<c011cdbf>] [<c010c31d>] [<c0108c00>] [<c0108c00>] [<c010b1fc>]
[<c0108c00>] [<c0108c00>] [<c0108c23>]
> [<c0108c68>] [<c0105000>] [<c010018d>]
> Code: 8b 00 a9 00 00 1f 00 74 12 b8 01 00 00 00 8b 4c 24 10 d3 e0
>
> >>EIP; d2858c75 <[usb-ohci]rh_send_irq+c5/190> <=====
> Trace; d2858d40 <[usb-ohci]rh_int_timer_do+0/60>
> Trace; ffff0000 <END_OF_CODE+2d7563a1/????>
> Trace; ffff0fff <END_OF_CODE+2d7573a0/????>
> Trace; c012012c <timer_bh+26c/2b0>
> Trace; c010f174 <timer_interrupt+84/100>
> Trace; c011cf8b <bh_action+1b/70>
> Trace; c011cec8 <tasklet_hi_action+38/60>
> Trace; c011cdbf <do_softirq+4f/70>
> Trace; c010c31d <do_IRQ+ad/c0>
> Trace; c0108c00 <default_idle+0/30>
> Trace; c0108c00 <default_idle+0/30>
> Trace; c010b1fc <ret_from_intr+0/20>
> Trace; c0108c00 <default_idle+0/30>
> Trace; c0108c00 <default_idle+0/30>
> Trace; c0108c23 <default_idle+23/30>
> Trace; c0108c68 <cpu_idle+38/50>
> Trace; c0105000 <empty_bad_page+0/1000>
> Trace; c010018d <L6+0/2>
> Code; d2858c75 <[usb-ohci]rh_send_irq+c5/190>
> 00000000 <_EIP>:
> Code; d2858c75 <[usb-ohci]rh_send_irq+c5/190> <=====
> 0: 8b 00 mov (%eax),%eax <=====
> Code; d2858c77 <[usb-ohci]rh_send_irq+c7/190>
> 2: a9 00 00 1f 00 test $0x1f0000,%eax
> Code; d2858c7c <[usb-ohci]rh_send_irq+cc/190>
> 7: 74 12 je 1b <_EIP+0x1b> d2858c90
<[usb-ohci]rh_send_irq+e0/190>
> Code; d2858c7e <[usb-ohci]rh_send_irq+ce/190>
> 9: b8 01 00 00 00 mov $0x1,%eax
> Code; d2858c83 <[usb-ohci]rh_send_irq+d3/190>
> e: 8b 4c 24 10 mov 0x10(%esp,1),%ecx
> Code; d2858c87 <[usb-ohci]rh_send_irq+d7/190>
> 12: d3 e0 shl %cl,%eax
>
> Aiee, killing interrupt handler
> Kernel panic: Attempted to kill the idle task!
>
> -------------------------------------------------
> David Nash - [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]