Hi All,
I was wondering if anyone has any insight into why the USB Audio class
driver would be hanging PNP on Vista. I have tried everything I know to
figure it out why USBAudio is handing around… Any debugging techniques
that to address this type of hang? Below is the devnode, thread; one can
see the SURPRISE REMOVE irp which hasn’t been forwarded down the stack yet.
Any help, ideas, concerns, questions, WAGs?
Thanks,
-Randy
Devnode:
DevNode 0x8471e1c0 for PDO 0x846656f0
InstancePath is “USB\VID_0D8C&PID_0103\a&2ca75233&0&2”
ServiceName is “usbccgp”
State = DeviceNodeAwaitingQueuedDeletion (0x30e)
Previous State = DeviceNodeStarted (0x308)
DevNode 0x817ae8a8 for PDO 0x8461dc80
InstancePath is “USB\VID_0D8C&PID_0103&MI_00\b&17245a44&0&0000”
ServiceName is “usbaudio”
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeStarted (0x308)
Process:
THREAD 83f22020 Cid 0004.0044 Teb: 00000000 Win32Thread: 00000000
WAIT: (Executive) KernelMode Non-Alertable
8465c54c Mutant - owning thread 84449328
IRP List:
859dc2a0: (0006,0268) Flags: 00000000 Mdl: 00000000
84903270: (0006,0220) Flags: 00060000 Mdl: 00000000
8529cd28: (0006,0220) Flags: 00060000 Mdl: 00000000
Not impersonating
DeviceMap 87208dc8
Owning Process 83efcd90 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 4352704 Ticks: 118779
(0:00:30:52.964)
Context Switch Count 493139
UserTime 00:00:00.000
KernelTime 00:00:06.567
Win32 Start Address nt!ExpWorkerThread (0x8267e348)
Stack Init 8756c000 Current 8756ba18 Base 8756c000 Limit 87569000
Call 0
Priority 14 BasePriority 12 PriorityDecrement 2 IoPriority 2
PagePriority 5
ChildEBP RetAddr
8756ba30 826fd2ff nt!KiSwapContext+0x26 (FPO: [Uses EBP] [0,0,4])
8756ba74 8269acc8 nt!KiSwapThread+0x44f
8756bacc 8a61f9fd nt!KeWaitForSingleObject+0x492
8756bae8 9dcdb844 ks!KsAcquireControl+0x17 (FPO: [1,0,0])
8756bb08 8a61146a usbaudio!DeviceSurpriseRemoval+0x30 (FPO: [2,2,4])
8756bb28 82701fd3 ks!CKsDevice::DispatchPnp+0x2aa (FPO: [2,1,4])
8756bb40 827f7856 nt!IofCallDriver+0x63
8756bb74 828c1c8f nt!IopSynchronousCall+0xce
8756bbd0 828bb30f nt!IopRemoveDevice+0xd1
8756bbfc 828bb1cc nt!PnpSurpriseRemoveLockedDeviceNode+0xc4
8756bc10 828bb487 nt!PnpDeleteLockedDeviceNode+0x20
8756bc44 828bef33 nt!PnpDeleteLockedDeviceNodes+0x4c
8756bd04 827aae17 nt!PnpProcessQueryRemoveAndEject+0x594
8756bd1c 827d63c0 nt!PnpProcessTargetDeviceEvent+0x38
8756bd44 8267e445 nt!PnpDeviceEventWorker+0x201
8756bd7c 8281bb18 nt!ExpWorkerThread+0xfd
8756bdc0 82674a2e nt!PspSystemThreadStartup+0x9d
00000000 00000000 nt!KiThreadStartup+0x16
0: kd> !irp 0x859dc2a0 7
Irp is active with 14 stacks 14 is current (= 0x859dc4e4)
No Mdl: No System Buffer: Thread 83f22020: Irp stack trace.
Flags = 00000000
ThreadListEntry.Flink = 84903280
ThreadListEntry.Blink = 83f2224c
IoStatus.Status = c00000bb
IoStatus.Information = 00000000
RequestorMode = 00000000
Cancel = 00
CancelIrql = 0
ApcEnvironment = 00
UserIosb = 8756bb58
UserEvent = 8756bb60
Overlay.AsynchronousParameters.UserApcRoutine = 00000000
Overlay.AsynchronousParameters.UserApcContext = 00000000
Overlay.AllocationSize = 00000000 - 00000000
CancelRoutine = 00000000
UserBuffer = 00000000
&Tail.Overlay.DeviceQueueEntry = 859dc2e0
Tail.Overlay.Thread = 83f22020
Tail.Overlay.AuxiliaryBuffer = 00000000
Tail.Overlay.ListEntry.Flink = 00000000
Tail.Overlay.ListEntry.Blink = 00000000
Tail.Overlay.CurrentStackLocation = 859dc4e4
Tail.Overlay.OriginalFileObject = 00000000
Tail.Apc = 00000000
Tail.CompletionKey = 00000000
cmd flg cl Device File Completion-Context
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[1b,17] 0 0 85700af0 00000000 00000000-00000000
\Driver\usbaudio
Args: 00000000 00000000 00000000 00000000
IO verifier information:
No information available - the verifier is probably disabled
0: kd> !pnpevent
Dumping PnP DeviceEvent Queue @ 0x83ec23a0
List = 0x9c98c180, 0x99f9f100
Dumping DeviceEventEntry @ 0x9c98c180
ListEntry = 0x9e041ea8, 0x83ec23e4, Argument = 0x00000000
CallerEvent = 0x87557acc, Callback = 0x00000000, Context = 0x00000000
VetoType = 0x00000000, VetoName = 0x00000000
Dumping PlugPlayEventBlock @ 0x9C98C1A0
EventGuid = GUID_DEVICE_NOOP
Category = TargetDeviceChangeEvent
Result = 0x87557adc, Flags = 0x00000000, TotalSize = 64
DeviceObject = 0x00000000
DeviceIds:
Dumping DeviceEventEntry @ 0x9e041ea8
ListEntry = 0x9de78c60, 0x9c98c180, Argument = 0x00000000
CallerEvent = 0x00000000, Callback = 0x00000000, Context = 0x00000000
VetoType = 0x00000000, VetoName = 0x00000000
Dumping PlugPlayEventBlock @ 0x9E041EC8
EventGuid = GUID_DEVICE_INTERFACE_REMOVAL
Category = DeviceClassChangeEvent
Result = 0x00000000, Flags = 0x00000000, TotalSize = 308
DeviceObject = 0x00000000
ClassGuid = 53F56307-B6BF-11D0-94F2-00A0C91EFB8B
SymbolicLinkName =
??\USBSTOR#Disk&Ven_JetFlash&Prod_TS1GJF110&Rev_0.00#b&16f10f7f&0&a1f070063bc07e&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Dumping DeviceEventEntry @ 0x9de78c60
ListEntry = 0xa29ec228, 0x9e041ea8, Argument = 0x00000000
CallerEvent = 0x00000000, Callback = 0x00000000, Context = 0x00000000
VetoType = 0x00000000, VetoName = 0x00000000
Dumping PlugPlayEventBlock @ 0x9DE78C80
EventGuid = GUID_DEVICE_INTERFACE_REMOVAL
Category = DeviceClassChangeEvent
Result = 0x00000000, Flags = 0x00000000, TotalSize = 254
DeviceObject = 0x00000000
ClassGuid = 6994AD04-93EF-11D0-A3CC-00A0C9223196
SymbolicLinkName =
??\USB#VID_0D8C&PID_0103&MI_00#b&17245a44&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\GLOBAL
Dumping DeviceEventEntry @ 0xa29ec228
ListEntry = 0x9d3a86f8, 0x9de78c60, Argument = 0x00000000
CallerEvent = 0x00000000, Callback = 0x00000000, Context = 0x00000000
VetoType = 0x00000000, VetoName = 0x00000000
Dumping PlugPlayEventBlock @ 0xA29EC248
EventGuid = GUID_DEVICE_INTERFACE_REMOVAL
Category = DeviceClassChangeEvent
Result = 0x00000000, Flags = 0x00000000, TotalSize = 254
DeviceObject = 0x00000000
ClassGuid = 65E8773E-8F56-11D0-A3B9-00A0C9223196
SymbolicLinkName =
??\USB#VID_0D8C&PID_0103&MI_00#b&17245a44&0&0000#{65e8773e-8f56-11d0-a3b9-00a0c9223196}\GLOBAL
Dumping DeviceEventEntry @ 0x9d3a86f8
ListEntry = 0x9e018498, 0xa29ec228, Argument = 0x00000000
CallerEvent = 0x00000000, Callback = 0x00000000, Context = 0x00000000
VetoType = 0x00000000, VetoName = 0x00000000
Dumping PlugPlayEventBlock @ 0x9D3A8718
EventGuid = GUID_PNP_POWER_SETTING_CHANGE
Category = DeviceInstanceRemovalEvent
Result = 0x00000000, Flags = 0x00000000, TotalSize = 64
DeviceObject = 0x00000000
DeviceIds:
㇘兜ᘽﶠꀑ醌
腀蝖>