Re: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1

From: Vince
Date: Tue Dec 09 2003 - 23:33:05 EST


Duncan Sands wrote:
It's not at all clear how that could happen. Those pointers are located
in static data in the HCD modules. It doesn't seem likely that the
pointer was overwritten. The only other possibility I can think of is
that the module was already unloaded. But that's not possible since you
were holding a reference to a device on that bus.


It occurred on system shutdown - so I guess the module was unloaded.
Maybe the bus reference counting is borked. I've sent Vince a patch that
should produce some more info.

Actually, no need to be at system shutdown: in my case a simple
"/etc/init.d/hotplug stop" is enough to trigger the oops.
However, it doesn't happen every time, I had to try some times before I got another oops again. I enclose the logs with the additional debugging information in attachment.

Regards,

Vincent kernel: ehci_hcd 0000:00:10.3: remove, state 1
kernel: usb usb1: USB disconnect, address 1
kernel: ehci_hcd 0000:00:10.3: USB bus 1 deregistered
kernel: DEBUG
kernel: Call Trace:
kernel: [<e0afca9f>] hcd_pci_release+0x1f/0x70 [usbcore]
kernel: [<c01bea5a>] unlink+0x7a/0x80
kernel: [<e0af857d>] usb_host_release+0x1d/0x20 [usbcore]
kernel: [<c0205eb8>] class_dev_release+0x58/0x60
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0afd0ba>] usb_hcd_pci_remove+0x12a/0x180 [usbcore]
kernel: [<c01c650b>] pci_device_remove+0x3b/0x40
kernel: [<c0205494>] device_release_driver+0x64/0x70
kernel: [<c02054c0>] driver_detach+0x20/0x30
kernel: [<c02056ed>] bus_remove_driver+0x3d/0x80
kernel: [<c0205b03>] driver_unregister+0x13/0x28
kernel: [<c01c66e6>] pci_unregister_driver+0x16/0x30
kernel: [<e0a19e6f>] cleanup+0xf/0x13 [ehci_hcd]
kernel: [<c0136e43>] sys_delete_module+0x133/0x150
kernel: [<c014c124>] sys_munmap+0x44/0x70
kernel: [<c02a6f8e>] sysenter_past_esp+0x43/0x65
kernel:
kernel: DEBUG: hcd->driver: e0a19ee0
kernel: DEBUG: hcd->driver->hcd_free: e0a166d0
kernel: uhci_hcd 0000:00:10.0: remove, state 1
kernel: usb usb2: USB disconnect, address 1
kernel: usb 2-1: USB disconnect, address 2
kernel: drivers/char/lirc/lirc_atiusb.c: USB Remote on #200 now disconnected
kernel: usb 2-2: USB disconnect, address 3
kernel: uhci_hcd 0000:00:10.0: USB bus 2 deregistered
kernel: uhci_hcd 0000:00:10.1: remove, state 1
kernel: usb usb3: USB disconnect, address 1
kernel: uhci_hcd 0000:00:10.1: USB bus 3 deregistered
kernel: DEBUG
kernel: Call Trace:
kernel: [<e0afca9f>] hcd_pci_release+0x1f/0x70 [usbcore]
kernel: [<c01bea5a>] unlink+0x7a/0x80
kernel: [<e0af857d>] usb_host_release+0x1d/0x20 [usbcore]
kernel: [<c0205eb8>] class_dev_release+0x58/0x60
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0afd0ba>] usb_hcd_pci_remove+0x12a/0x180 [usbcore]
kernel: [<c01c650b>] pci_device_remove+0x3b/0x40
kernel: [<c0205494>] device_release_driver+0x64/0x70
kernel: [<c02054c0>] driver_detach+0x20/0x30
kernel: [<c02056ed>] bus_remove_driver+0x3d/0x80
kernel: [<c0205b03>] driver_unregister+0x13/0x28
kernel: [<c01c66e6>] pci_unregister_driver+0x16/0x30
kernel: [<e0c8dd4f>] uhci_hcd_cleanup+0xf/0x59 [uhci_hcd]
kernel: [<c0136e43>] sys_delete_module+0x133/0x150
kernel: [<c014c124>] sys_munmap+0x44/0x70
kernel: [<c02a6f8e>] sysenter_past_esp+0x43/0x65
kernel:
kernel: DEBUG: hcd->driver: e0c8de40
kernel: DEBUG: hcd->driver->hcd_free: e0c8dce0
kernel: uhci_hcd 0000:00:10.2: remove, state 1
kernel: usb usb4: USB disconnect, address 1
kernel: uhci_hcd 0000:00:10.2: USB bus 4 deregistered
kernel: DEBUG
kernel: Call Trace:
kernel: [<e0afca9f>] hcd_pci_release+0x1f/0x70 [usbcore]
kernel: [<c01bea5a>] unlink+0x7a/0x80
kernel: [<e0af857d>] usb_host_release+0x1d/0x20 [usbcore]
kernel: [<c0205eb8>] class_dev_release+0x58/0x60
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0afd0ba>] usb_hcd_pci_remove+0x12a/0x180 [usbcore]
kernel: [<c01c650b>] pci_device_remove+0x3b/0x40
kernel: [<c0205494>] device_release_driver+0x64/0x70
kernel: [<c02054c0>] driver_detach+0x20/0x30
kernel: [<c02056ed>] bus_remove_driver+0x3d/0x80
kernel: [<c0205b03>] driver_unregister+0x13/0x28
kernel: [<c01c66e6>] pci_unregister_driver+0x16/0x30
kernel: [<e0c8dd4f>] uhci_hcd_cleanup+0xf/0x59 [uhci_hcd]
kernel: [<c0136e43>] sys_delete_module+0x133/0x150
kernel: [<c014c124>] sys_munmap+0x44/0x70
kernel: [<c02a6f8e>] sysenter_past_esp+0x43/0x65
kernel:
kernel: DEBUG: hcd->driver: e0c8de40
kernel: DEBUG: hcd->driver->hcd_free: e0c8dce0
kernel: DEBUG
kernel: Call Trace:
kernel: [<e0afca9f>] hcd_pci_release+0x1f/0x70 [usbcore]
kernel: [<e0af857d>] usb_host_release+0x1d/0x20 [usbcore]
kernel: [<c0205eb8>] class_dev_release+0x58/0x60
kernel: [<e0afb854>] usb_destroy_configuration+0xb4/0xf0 [usbcore]
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0af48f6>] usb_release_dev+0x46/0x60 [usbcore]
kernel: [<c0204160>] device_release+0x20/0x80
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0afdd39>] usbdev_release+0x79/0xb0 [usbcore]
kernel: [<c01586c0>] __fput+0x100/0x120
kernel: [<c0156c99>] filp_close+0x59/0x90
kernel: [<c0156d31>] sys_close+0x61/0xa0
kernel: [<c02a6f8e>] sysenter_past_esp+0x43/0x65
kernel:
kernel: DEBUG: hcd->driver: e0c8de40
kernel: Unable to handle kernel paging request at virtual address e0c8de68
kernel: printing eip:
kernel: e0afcabf
kernel: *pde = 1da4c067
kernel: *pte = 00000000
kernel: Oops: 0000 [#1]
kernel: PREEMPT
kernel: CPU: 0
kernel: EIP: 0060:[<e0afcabf>] Not tainted VLI
kernel: EFLAGS: 00010286
kernel: EIP is at hcd_pci_release+0x3f/0x70 [usbcore]
kernel: eax: e0c8de40 ebx: de529000 ecx: 00000001 edx: c02ef058
kernel: esi: c032265c edi: c0322680 ebp: decb6200 esp: da1cdee4
kernel: ds: 007b es: 007b ss: 0068
kernel: Process modem_run (pid: 2424, threadinfo=da1cc000 task=de73ad00)
kernel: Stack: e0b02781 e0c8de40 de529050 e0af857d de529000 c0205eb8 de529048 e0afb854
kernel: c0322450 00000282 c01bee7b de529050 decb6200 c0322428 c0322440 e0af48f6
kernel: de529050 00000000 c0204160 decb62cc da1cc000 de6a4ec0 decf1398 decb62f4
kernel: Call Trace:
kernel: [<e0af857d>] usb_host_release+0x1d/0x20 [usbcore]
kernel: [<c0205eb8>] class_dev_release+0x58/0x60
kernel: [<e0afb854>] usb_destroy_configuration+0xb4/0xf0 [usbcore]
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0af48f6>] usb_release_dev+0x46/0x60 [usbcore]
kernel: [<c0204160>] device_release+0x20/0x80
kernel: [<c01bee7b>] kobject_cleanup+0x7b/0x80
kernel: [<e0afdd39>] usbdev_release+0x79/0xb0 [usbcore]
kernel: [<c01586c0>] __fput+0x100/0x120
kernel: [<c0156c99>] filp_close+0x59/0x90
kernel: [<c0156d31>] sys_close+0x61/0xa0
kernel: [<c02a6f8e>] sysenter_past_esp+0x43/0x65
kernel:
kernel: Code: e0 e8 46 63 62 df e8 91 e9 60 df 85 db 74 3b 8b 83 08 01 00 00 c7 04 24 81 27 b0 e0 89 44 24 04 e8 27 63 62 df 8b 83 08 01 00 00 <8b> 40 28 c7 04 24 c0 43 b0 e0 89 44 24 04 e8 0e 63 62 df 8b 83
kernel: <0>Fatal exception: panic in 5 seconds