What is Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload?

Got a crash dump today. The customer’s description was (I’m paraphrasing): “four devices connected through a 7-port USB hub, heard the computer ‘lose a USB port’, tool lost connectivity to the device. 3 seconds later, all the ports on the hub lost power, the connection lights flashed out, then the machine crashed.”

When I did !analyze -v I didn’t see my driver in the stack, but I got the crash dump below. What is “ProcessRemoveDeviceOverload”? What conditions would cause this?

BugCheck 1000007E, {c0000005, 320072, f7ca99c0, f7ca96bc}

Probably caused by : Wdf01000.sys ( Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+49 )

Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 00320072, The address that the exception occurred at
Arg3: f7ca99c0, Exception Record Address
Arg4: f7ca96bc, Context Record Address

Backtrace:

WARNING: Frame IP not in any known module. Following frames may be wrong.
f7ca9a84 f7a326ff 00000000 68627375 70646f52 0x320072
f7ca9ab4 f7a39661 86699680 866088c0 861428b0 usbhub!USBH_PdoRemoveDevice+0x41
f7ca9ad4 f7a32952 86699738 861428b0 00000002 usbhub!USBH_PdoPnP+0x5b
f7ca9af8 f7a301d8 01699738 861428b0 f7ca9b30 usbhub!USBH_PdoDispatch+0x5a
f7ca9b08 804e37f7 86699680 861428b0 86608c38 usbhub!USBH_HubDispatch+0x48
f7ca9b18 efa13ec4 00000000 86608c38 f7ca9b78 nt!IopfCallDriver+0x31
f7ca9b30 efa0ef51 f7ca9b78 86608c38 efa2d790 Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
f7ca9b58 efa0e0d6 86608c38 f7ca9b78 861429a8 Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
f7ca9b7c ef9f7d9a 861428b0 f7ca9ba4 ef9f7f9f Wdf01000!FxPkgPnp::Dispatch+0x26e
f7ca9b88 ef9f7f9f 863965d8 861428b0 861429a8 Wdf01000!FxDevice::Dispatch+0x7f
f7ca9ba4 804e37f7 863965d8 861428b0 863a9858 Wdf01000!FxDevice::DispatchWithLock+0x5d
f7ca9bb4 efa13ec4 00000000 863a9858 f7ca9c14 nt!IopfCallDriver+0x31
f7ca9bcc efa0ef51 f7ca9c14 863a9858 efa2d790 Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
f7ca9bf4 efa0e0d6 863a9858 f7ca9c14 861429d4 Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
f7ca9c18 ef9f7d9a 861428b0 f7ca9c40 ef9f7f9f Wdf01000!FxPkgPnp::Dispatch+0x26e
f7ca9c24 ef9f7f9f 86422020 861428b0 861429d4 Wdf01000!FxDevice::Dispatch+0x7f
f7ca9c40 804e37f7 86422020 861428b0 f7ca9ccc Wdf01000!FxDevice::DispatchWithLock+0x5d
f7ca9c50 805d8a45 86699680 86699680 00000002 nt!IopfCallDriver+0x31
f7ca9c7c 8061a672 86422020 f7ca9ca8 00000000 nt!IopSynchronousCall+0xb7
f7ca9cd0 805312a9 86699680 00000002 00000000 nt!IopRemoveDevice+0x93
f7ca9cf8 8061b7e7 e199dde0 00000018 e3b703b0 nt!IopRemoveLockedDeviceNode+0x160
f7ca9d10 8061b853 866963e0 00000002 e3b703b0 nt!IopDeleteLockedDeviceNode+0x34
f7ca9d44 8061b8fe 86699680 02b703b0 00000002 nt!IopDeleteLockedDeviceNodes+0x3f
f7ca9d74 804e426b 86f06bb8 00000000 873c2da8 nt!IopDelayedRemoveWorker+0x4b
f7ca9dac 8057be15 86f06bb8 00000000 00000000 nt!ExpWorkerThread+0x100
f7ca9ddc 804fa4da 804e4196 00000001 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16

It sounds like one of the devices exceeded it power allotment and the the
host shut down the hub. It could be that in the process, one of the related
drivers didn’t handle the power down correctly.

On 4/10/07, xxxxx@gmail.com wrote:
>
> Got a crash dump today. The customer’s description was (I’m
> paraphrasing): “four devices connected through a 7-port USB hub, heard the
> computer ‘lose a USB port’, tool lost connectivity to the device. 3 seconds
> later, all the ports on the hub lost power, the connection lights flashed
> out, then the machine crashed.”
>
> When I did !analyze -v I didn’t see my driver in the stack, but I got the
> crash dump below. What is “ProcessRemoveDeviceOverload”? What conditions
> would cause this?
>
> BugCheck 1000007E, {c0000005, 320072, f7ca99c0, f7ca96bc}
>
> Probably caused by : Wdf01000.sys (
> Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+49 )
>
> Arguments:
> Arg1: c0000005, The exception code that was not handled
> Arg2: 00320072, The address that the exception occurred at
> Arg3: f7ca99c0, Exception Record Address
> Arg4: f7ca96bc, Context Record Address
>
> Backtrace:
>
> WARNING: Frame IP not in any known module. Following frames may be wrong.
> f7ca9a84 f7a326ff 00000000 68627375 70646f52 0x320072
> f7ca9ab4 f7a39661 86699680 866088c0 861428b0
> usbhub!USBH_PdoRemoveDevice+0x41
> f7ca9ad4 f7a32952 86699738 861428b0 00000002 usbhub!USBH_PdoPnP+0x5b
> f7ca9af8 f7a301d8 01699738 861428b0 f7ca9b30 usbhub!USBH_PdoDispatch+0x5a
> f7ca9b08 804e37f7 86699680 861428b0 86608c38 usbhub!USBH_HubDispatch+0x48
> f7ca9b18 efa13ec4 00000000 86608c38 f7ca9b78 nt!IopfCallDriver+0x31
> f7ca9b30 efa0ef51 f7ca9b78 86608c38 efa2d790
> Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
> f7ca9b58 efa0e0d6 86608c38 f7ca9b78 861429a8
> Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
> f7ca9b7c ef9f7d9a 861428b0 f7ca9ba4 ef9f7f9f
> Wdf01000!FxPkgPnp::Dispatch+0x26e
> f7ca9b88 ef9f7f9f 863965d8 861428b0 861429a8
> Wdf01000!FxDevice::Dispatch+0x7f
> f7ca9ba4 804e37f7 863965d8 861428b0 863a9858
> Wdf01000!FxDevice::DispatchWithLock+0x5d
> f7ca9bb4 efa13ec4 00000000 863a9858 f7ca9c14 nt!IopfCallDriver+0x31
> f7ca9bcc efa0ef51 f7ca9c14 863a9858 efa2d790
> Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
> f7ca9bf4 efa0e0d6 863a9858 f7ca9c14 861429d4
> Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
> f7ca9c18 ef9f7d9a 861428b0 f7ca9c40 ef9f7f9f
> Wdf01000!FxPkgPnp::Dispatch+0x26e
> f7ca9c24 ef9f7f9f 86422020 861428b0 861429d4
> Wdf01000!FxDevice::Dispatch+0x7f
> f7ca9c40 804e37f7 86422020 861428b0 f7ca9ccc
> Wdf01000!FxDevice::DispatchWithLock+0x5d
> f7ca9c50 805d8a45 86699680 86699680 00000002 nt!IopfCallDriver+0x31
> f7ca9c7c 8061a672 86422020 f7ca9ca8 00000000 nt!IopSynchronousCall+0xb7
> f7ca9cd0 805312a9 86699680 00000002 00000000 nt!IopRemoveDevice+0x93
> f7ca9cf8 8061b7e7 e199dde0 00000018 e3b703b0
> nt!IopRemoveLockedDeviceNode+0x160
> f7ca9d10 8061b853 866963e0 00000002 e3b703b0
> nt!IopDeleteLockedDeviceNode+0x34
> f7ca9d44 8061b8fe 86699680 02b703b0 00000002
> nt!IopDeleteLockedDeviceNodes+0x3f
> f7ca9d74 804e426b 86f06bb8 00000000 873c2da8
> nt!IopDelayedRemoveWorker+0x4b
> f7ca9dac 8057be15 86f06bb8 00000000 00000000 nt!ExpWorkerThread+0x100
> f7ca9ddc 804fa4da 804e4196 00000001 00000000
> nt!PspSystemThreadStartup+0x34
> 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>

Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload is the final routine in
the FDO path which processes the IRP_MN_REMOVE_DEVICE IRP. This is a
bug in the usb hub driver (I don’t know if there is a QFE available to
fix this or not)

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Tuesday, April 10, 2007 4:09 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] What is Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload?

Got a crash dump today. The customer’s description was (I’m
paraphrasing): “four devices connected through a 7-port USB hub, heard
the computer ‘lose a USB port’, tool lost connectivity to the device. 3
seconds later, all the ports on the hub lost power, the connection
lights flashed out, then the machine crashed.”

When I did !analyze -v I didn’t see my driver in the stack, but I got
the crash dump below. What is “ProcessRemoveDeviceOverload”? What
conditions would cause this?

BugCheck 1000007E, {c0000005, 320072, f7ca99c0, f7ca96bc}

Probably caused by : Wdf01000.sys (
Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+49 )

Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 00320072, The address that the exception occurred at
Arg3: f7ca99c0, Exception Record Address
Arg4: f7ca96bc, Context Record Address

Backtrace:

WARNING: Frame IP not in any known module. Following frames may be
wrong.
f7ca9a84 f7a326ff 00000000 68627375 70646f52 0x320072
f7ca9ab4 f7a39661 86699680 866088c0 861428b0
usbhub!USBH_PdoRemoveDevice+0x41
f7ca9ad4 f7a32952 86699738 861428b0 00000002 usbhub!USBH_PdoPnP+0x5b
f7ca9af8 f7a301d8 01699738 861428b0 f7ca9b30
usbhub!USBH_PdoDispatch+0x5a
f7ca9b08 804e37f7 86699680 861428b0 86608c38
usbhub!USBH_HubDispatch+0x48
f7ca9b18 efa13ec4 00000000 86608c38 f7ca9b78 nt!IopfCallDriver+0x31
f7ca9b30 efa0ef51 f7ca9b78 86608c38 efa2d790
Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
f7ca9b58 efa0e0d6 86608c38 f7ca9b78 861429a8
Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
f7ca9b7c ef9f7d9a 861428b0 f7ca9ba4 ef9f7f9f
Wdf01000!FxPkgPnp::Dispatch+0x26e
f7ca9b88 ef9f7f9f 863965d8 861428b0 861429a8
Wdf01000!FxDevice::Dispatch+0x7f
f7ca9ba4 804e37f7 863965d8 861428b0 863a9858
Wdf01000!FxDevice::DispatchWithLock+0x5d
f7ca9bb4 efa13ec4 00000000 863a9858 f7ca9c14 nt!IopfCallDriver+0x31
f7ca9bcc efa0ef51 f7ca9c14 863a9858 efa2d790
Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload+0x49
f7ca9bf4 efa0e0d6 863a9858 f7ca9c14 861429d4
Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xee
f7ca9c18 ef9f7d9a 861428b0 f7ca9c40 ef9f7f9f
Wdf01000!FxPkgPnp::Dispatch+0x26e
f7ca9c24 ef9f7f9f 86422020 861428b0 861429d4
Wdf01000!FxDevice::Dispatch+0x7f
f7ca9c40 804e37f7 86422020 861428b0 f7ca9ccc
Wdf01000!FxDevice::DispatchWithLock+0x5d
f7ca9c50 805d8a45 86699680 86699680 00000002 nt!IopfCallDriver+0x31
f7ca9c7c 8061a672 86422020 f7ca9ca8 00000000 nt!IopSynchronousCall+0xb7
f7ca9cd0 805312a9 86699680 00000002 00000000 nt!IopRemoveDevice+0x93
f7ca9cf8 8061b7e7 e199dde0 00000018 e3b703b0
nt!IopRemoveLockedDeviceNode+0x160
f7ca9d10 8061b853 866963e0 00000002 e3b703b0
nt!IopDeleteLockedDeviceNode+0x34
f7ca9d44 8061b8fe 86699680 02b703b0 00000002
nt!IopDeleteLockedDeviceNodes+0x3f
f7ca9d74 804e426b 86f06bb8 00000000 873c2da8
nt!IopDelayedRemoveWorker+0x4b
f7ca9dac 8057be15 86f06bb8 00000000 00000000 nt!ExpWorkerThread+0x100
f7ca9ddc 804fa4da 804e4196 00000001 00000000
nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Doron Holan wrote:

Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload is the final
routine in the FDO path which processes the IRP_MN_REMOVE_DEVICE
IRP. This is a bug in the usb hub driver (I don’t know if there is a
QFE available to fix this or not)

Ok. Do you at least know if this issue will be fixed in XP SP3 or is fixed in Vista?

I don’t think this is an issue on vista, as for SP3, I don’t know

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Tuesday, April 10, 2007 6:04 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] What is
Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload?

Doron Holan wrote:

Wdf01000!FxPkgFdo::ProcessRemoveDeviceOverload is the final
routine in the FDO path which processes the IRP_MN_REMOVE_DEVICE
IRP. This is a bug in the usb hub driver (I don’t know if there is a
QFE available to fix this or not)

Ok. Do you at least know if this issue will be fixed in XP SP3 or is
fixed in Vista?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer