2001-12-23 23:08:27

by Guido Guenther

[permalink] [raw]
Subject: [2.4.17]: oops in usbcore during suspend

Hi,
when suspending my Omnibook XE3 (via Fn+F12) im seeing:

Unable to handle kernel NULL pointer dereference at virtual address 00000180
printing eip:
c8c79577
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[usbcore:usb_devfs_handle_Re9c5f87f+174307/197882781] Not tainted
EFLAGS: 00210246
eax: c7d7e600 ebx: c77cc000 ecx: c1210000 edx: c8c7978c
esi: 00000000 edi: c7d7e600 ebp: 00000000 esp: c77cdee4
ds: 0018 es: 0018 ss: 0018
Process kapm-idled (pid: 46, stackpage=c77cd000)
Stack: c1210008 c1213ab4 c1213aa0 00000003 c1211808 c8c7979b c7d7e600 00000000
c019f7cc c1210000 00000003 c019f8ae c1210000 00000003 c1213aa0 00000003
00000003 c0225d80 c019f997 c1213aa0 00000003 c120b2a0 00000000 c019fa26
Call Trace: [usbcore:usb_devfs_handle_Re9c5f87f+174855/197882233] [pci_pm_suspend_device+32/36] [pci_pm_suspend_bus+82/104] [pci_pm_suspend+35/68] [pci_pm_callback+46/64]
[pm_send+62/112] [pm_send_all+69/144] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-67872/96] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-67273/96] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-66991/96] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-66861/96]
[usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-61924/96] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-60652/96] [usb-uhci:__insmod_usb-uhci_O/lib/modules/2.4.17-bogon/kernel/drivers+-64376/96] [kernel_thread+31/56] [kernel_thread+40/56]

Code: 0f ab b5 80 01 00 00 19 c0 85 c0 75 dc 81 bd 7c 01 00 00 00
<4>usb-uhci.c: interrupt, status 20, frame# 0
usb-uhci.c: Host controller halted, trying to restart.

sometimes. The other times the machine simply freezes without any notice
in the logs.

Im suspecting an interrupt handling problem since both USB controller(no
usb devices attached) and maestro3 are sharing interrupt 5:

00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:08.0 Multimedia audio controller: ESS Technology ES1988 Allegro-1 (rev 12)

and this only seems to happen after using the maestro3 module. I'm using
the alsa maestro3 driver as of 0.9.0beta10a. 2.4.13 + kernel's maestro3
worked fine though.
-- Guido

P.S.: please cc me on replies


2001-12-24 02:47:24

by Greg KH

[permalink] [raw]
Subject: Re: [2.4.17]: oops in usbcore during suspend

On Mon, Dec 24, 2001 at 12:07:23AM +0100, Guido Guenther wrote:
> Hi,
> when suspending my Omnibook XE3 (via Fn+F12) im seeing:

Can you run that oops through ksymoops?

And if you unload the usb modules before suspending, does the same
problem happen?

thanks,

greg k-h

2001-12-26 17:02:03

by Guido Günther

[permalink] [raw]
Subject: Re: [2.4.17]: oops in usbcore during suspend

On Sun, Dec 23, 2001 at 06:42:43PM -0800, Greg KH wrote:
> On Mon, Dec 24, 2001 at 12:07:23AM +0100, Guido Guenther wrote:
> > Hi,
> > when suspending my Omnibook XE3 (via Fn+F12) im seeing:
>
> Can you run that oops through ksymoops?
>
> And if you unload the usb modules before suspending, does the same
> problem happen?

This is what I'm seeing when unloading usb-uhci and usbcore first:

ksymoops 2.4.3 on i686 2.4.17-bogon. Options used
-V (default)
-k /proc/ksyms (specified)
-l /proc/modules (default)
-o /lib/modules/2.4.17-bogon/ (default)
-m /boot/System.map-2.4.17-bogon (default)

Unable to handle kernel paging request at virtual address 006f7317
c8c6d876
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[usbcore:usb_devfs_handle_Re9c5f87f+125922/197931166] Not tainted
EFLAGS: 00013246
eax: 00000000 ebx: c77ce000 ecx: c1210000 edx: c8c7978c
esi: 00000000 edi: 006f7267 ebp: 00000000 esp: c77cfed0
ds: 0018 es: 0018 ss: 0018
Process kapm-idled (pid: 46, stackpage=c77cf000)
Stack: c77ce000 00000000 c7ce3600 c8c7959d 006f7267 c1210008 c1213ab4 c1213aa0
00000003 00000000 c8c7979b c7ce3600 00000000 c019f7cc c1210000 00000003
c019f8ae c1210000 00000003 c1213aa0 00000003 00000003 c0225d80 c019f997
Call Trace: [usbcore:usb_devfs_handle_Re9c5f87f+174345/197882743] [usbcore:usb_devfs_handle_Re9c5f87f+174855/197882233] [pci_pm_suspend_device+32/36] [pci_pm_suspend_bus+82/104] [pci_pm_suspend+35/68]
Code: 8b 9c 38 b0 00 00 00 85 db 74 28 8b 43 50 85 c0 74 1a 8b 80
Using defaults from ksymoops -t elf32-i386 -a i386

Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 8b 9c 38 b0 00 00 00 mov 0xb0(%eax,%edi,1),%ebx
Code; 00000006 Before first symbol
7: 85 db test %ebx,%ebx
Code; 00000008 Before first symbol
9: 74 28 je 33 <_EIP+0x33> 00000032 Before first symbol
Code; 0000000a Before first symbol
b: 8b 43 50 mov 0x50(%ebx),%eax
Code; 0000000e Before first symbol
e: 85 c0 test %eax,%eax
Code; 00000010 Before first symbol
10: 74 1a je 2c <_EIP+0x2c> 0000002c Before first symbol
Code; 00000012 Before first symbol
12: 8b 80 00 00 00 00 mov 0x0(%eax),%eax

Cheers,
-- Guido

2001-12-26 18:04:15

by Greg KH

[permalink] [raw]
Subject: Re: [2.4.17]: oops in usbcore during suspend

On Wed, Dec 26, 2001 at 06:00:21PM +0100, Guido Guenther wrote:
> Call Trace: [usbcore:usb_devfs_handle_Re9c5f87f+174345/197882743] [usbcore:usb_devfs_handle_Re9c5f87f+174855/197882233] [pci_pm_suspend_device+32/36] [pci_pm_suspend_bus+82/104] [pci_pm_suspend+35/68]

These aren't valid symbols :)
It looks like something is messing with your oops output before you run
it through ksymoops. Can you take the raw values from 'dmesg'?

thanks,

greg k-h

2001-12-26 19:12:22

by Guido Günther

[permalink] [raw]
Subject: Re: [2.4.17]: oops in usbcore during suspend

On Wed, Dec 26, 2001 at 10:03:53AM -0800, Greg KH wrote:
> On Wed, Dec 26, 2001 at 06:00:21PM +0100, Guido Guenther wrote:
> > Call Trace: [usbcore:usb_devfs_handle_Re9c5f87f+174345/197882743] [usbcore:usb_devfs_handle_Re9c5f87f+174855/197882233] [pci_pm_suspend_device+32/36] [pci_pm_suspend_bus+82/104] [pci_pm_suspend+35/68]
>
> These aren't valid symbols :)
> It looks like something is messing with your oops output before you run
> it through ksymoops. Can you take the raw values from 'dmesg'?

This explains why the ksymoops output made no sense to me. The problem seems
to be alsa related now. I'll move this over to the alsa list then.
Thanks a lot for your time,
-- Guido

ksymoops 2.4.3 on i686 2.4.17-bogon. Options used
-V (default)
-k /proc/ksyms (specified)
-l /proc/modules (default)
-o /lib/modules/2.4.17-bogon/ (default)
-m /boot/System.map-2.4.17-bogon (default)

Unable to handle kernel paging request at virtual address 006f7317
c8c6d876
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c8c6d876>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00013246
eax: 00000000 ebx: c0f92000 ecx: c1210000 edx: c8c7978c
esi: 00000000 edi: 006f7267 ebp: 00000000 esp: c0f93ed0
ds: 0018 es: 0018 ss: 0018
Process kapm-idled (pid: 46, stackpage=c0f93000)
Stack: c0f92000 00000000 c0d2d600 c8c7959d 006f7267 c1210008 c1213ab4 c1213aa0
00000003 00000000 c8c7979b c0d2d600 00000000 c019f7cc c1210000 00000003
c019f8ae c1210000 00000003 c1213aa0 00000003 00000003 c0225d80 c019f997
Call Trace: [<c8c7959d>] [<c8c7979b>] [<c019f7cc>] [<c019f8ae>] [<c019f997>]
[<c019fa26>] [<c011ea36>] [<c011eae9>] [<c8c3f6e0>] [<c8c3f937>] [<c8c3fa51>]
[<c8c3fad3>] [<c8c40e1c>] [<c8c41314>] [<c8c40488>] [<c010546f>] [<c0105478>]
Code: 8b 9c 38 b0 00 00 00 85 db 74 28 8b 43 50 85 c0 74 1a 8b 80

>>EIP; c8c6d876 <[snd-pcm]snd_pcm_suspend_all+e/50> <=====
Trace; c8c7959c <[snd-card-maestro3]m3_suspend+54/114>
Trace; c8c7979a <[snd-card-maestro3]snd_m3_suspend+e/18>
Trace; c019f7cc <pci_pm_suspend_device+20/24>
Trace; c019f8ae <pci_pm_suspend_bus+52/68>
Trace; c019f996 <pci_pm_suspend+22/44>
Trace; c019fa26 <pci_pm_callback+2e/40>
Trace; c011ea36 <pm_send+3e/70>
Trace; c011eae8 <pm_send_all+44/90>
Trace; c8c3f6e0 <[apm]send_event+20/74>
Trace; c8c3f936 <[apm]check_events+f6/198>
Trace; c8c3fa50 <[apm]apm_event_handler+78/7c>
Trace; c8c3fad2 <[apm]apm_mainloop+7e/11c>
Trace; c8c40e1c <[apm]error_table+4fc/87e>
Trace; c8c41314 <[apm]apm_waitqueue+4/c>
Trace; c8c40488 <[apm]apm+298/2b4>
Trace; c010546e <kernel_thread+1e/38>
Trace; c0105478 <kernel_thread+28/38>
Code; c8c6d876 <[snd-pcm]snd_pcm_suspend_all+e/50>
00000000 <_EIP>:
Code; c8c6d876 <[snd-pcm]snd_pcm_suspend_all+e/50> <=====
0: 8b 9c 38 b0 00 00 00 mov 0xb0(%eax,%edi,1),%ebx <=====
Code; c8c6d87c <[snd-pcm]snd_pcm_suspend_all+14/50>
7: 85 db test %ebx,%ebx
Code; c8c6d87e <[snd-pcm]snd_pcm_suspend_all+16/50>
9: 74 28 je 33 <_EIP+0x33> c8c6d8a8 <[snd-pcm]snd_pcm_suspend_all+40/50>
Code; c8c6d880 <[snd-pcm]snd_pcm_suspend_all+18/50>
b: 8b 43 50 mov 0x50(%ebx),%eax
Code; c8c6d884 <[snd-pcm]snd_pcm_suspend_all+1c/50>
e: 85 c0 test %eax,%eax
Code; c8c6d886 <[snd-pcm]snd_pcm_suspend_all+1e/50>
10: 74 1a je 2c <_EIP+0x2c> c8c6d8a2 <[snd-pcm]snd_pcm_suspend_all+3a/50>
Code; c8c6d888 <[snd-pcm]snd_pcm_suspend_all+20/50>
12: 8b 80 00 00 00 00 mov 0x0(%eax),%eax

2001-12-27 03:02:22

by Keith Owens

[permalink] [raw]
Subject: Re: [2.4.17]: oops in usbcore during suspend

On Wed, 26 Dec 2001 10:03:53 -0800,
Greg KH <[email protected]> wrote:
>On Wed, Dec 26, 2001 at 06:00:21PM +0100, Guido Guenther wrote:
>> Call Trace: [usbcore:usb_devfs_handle_Re9c5f87f+174345/197882743] [usbcore:usb_devfs_handle_Re9c5f87f+174855/197882233] [pci_pm_suspend_device+32/36] [pci_pm_suspend_bus+82/104] [pci_pm_suspend+35/68]
>
>These aren't valid symbols :)
>It looks like something is messing with your oops output before you run
>it through ksymoops. Can you take the raw values from 'dmesg'?

Looks like the completely broken code in klogd, I do not understand why
distributors still ship with it turned on. Always run klogd as klogd -x,
change /etc/rc.d/init.d/syslogd, restart syslogd and reproduce the
problem.