[vbox-dev] IoGetDeviceObjectPointer hangs vboxusbmon

Ribhi Kamal rbhkamal at gmail.com
Tue Mar 13 17:27:44 GMT 2012


I've been troubleshooting an issue that prevents vbox from capturing USB
devices when other specific USB devices are plugged in (i.e. Sprint USB
crap). I finally managed to track down the problem to
IoGetDeviceObjectPointer in VboxUsbMonHubDevWalk. IoGetDeviceObjectPointer
was getting called, however, it never returned.

I'm not an expert in windows driver development so I'd like to run things
by you before I start fixing it.

Firstly, I'm not really sure why it hangs (deadlocks?) there for some
devices and not others. However, I believe that it may be due to the fact
that some driver interfaces cause blocking PnP events. Due to that,
vboxusbmon runs into a deadlock when executing IoGetDeviceObjectPointer
because it is being used directly from a callback function,
VBoxUsbMonDeviceControl, and IRQL==PASSIVE_LEVEL.

What led me to that conclusion is that right after IoGetDeviceObjectPointer
is executed, I start seeing lots of PnP events.
USBMon::vboxUsbMonHubDevWalk:
IoGetDeviceObjectPointer - Starting

USBMon::VBoxUsbMonPnPHook:
VBoxUsbMonPnPHook In

USBMon::VBoxUsbMonPnPHook:
==>PnP: Mn(IRP_MN_QUERY_DEVICE_RELATIONS), PDO(0x8833d028),
IRP(0x882a71a8), Status(0xc00000bb)

See attached for complete debug view.

Are my assumptions correct? If so how would you go about fixing the problem.

Thanks!

-- 
-- Ribhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120313/99362b1b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: failed-filtered.log.gz
Type: application/x-gzip
Size: 6023 bytes
Desc: not available
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120313/99362b1b/attachment.bin>


More information about the vbox-dev mailing list