Crash on blocked IRP (TRIAGE_9F_POWER)

DRIVER_POWER_STATE_FAILURE (9f)
A driver has failed to complete a power IRP within a specific time.
Arguments:
Arg1: 0000000000000003, A device object has been blocking an Irp for too long a time
Arg2: ffff8e860113a870, Physical Device Object of the stack
Arg3: fffff8012c8648d0, nt!TRIAGE_9F_POWER on Win7 and higher, otherwise the Functional Device Object of the stack
Arg4: ffff8e85f9ed0b20, The blocked IRP

Debugging Details:

BUGCHECK_CODE: 9f

BUGCHECK_P1: 3

BUGCHECK_P2: ffff8e860113a870

BUGCHECK_P3: fffff8012c8648d0

BUGCHECK_P4: ffff8e85f9ed0b20

DRVPOWERSTATE_SUBCODE: 3

IMAGE_NAME: usbccgp.sys

MODULE_NAME: usbccgp

FAULTING_MODULE: fffff8029c380000 usbccgp

BLACKBOXBSD: 1 (!blackboxbsd)

BLACKBOXPNP: 1 (!blackboxpnp)

PROCESS_NAME: System

STACK_TEXT:
fffff8012c864898 fffff8012a2de6e6 : 000000000000009f 0000000000000003 ffff8e860113a870 fffff8012c8648d0 : nt!KeBugCheckEx
fffff8012c8648a0 fffff8012a2de5f2 : ffff8e85f9a5fae0 fffff8012c86493c 00000000000000e9 fffff80128f97180 : nt!PopIrpWatchdogBugcheck+0xea
fffff8012c864910 fffff8012a03f2d9 : ffff8e85f9a5fb18 00000000000000ff fffff8012c864b18 0000000000000008 : nt!PopIrpWatchdog+0x22
fffff8012c864960 fffff8012a0401a7 : 0000000000000004 0000000000989680 fffff8012a56b400 0000000000000019 : nt!KiProcessExpiredTimerList+0x159
fffff8012c864a50 fffff8012a1cadda : 0000000000000000 fffff80128f97180 0000000000000000 fffff8012a56b400 : nt!KiRetireDpcList+0x4a7
fffff8012c864c60 0000000000000000 : fffff8012c865000 fffff8012c85f000 0000000000000000 0000000000000000 : nt!KiIdleLoop+0x5a

STACK_COMMAND: .thread ; .cxr ; kb

FAILURE_BUCKET_ID: 0x9F_3_WinUsb_IMAGE_usbccgp.sys

OS_VERSION: 10.0.17763.1

BUILDLAB_STR: rs5_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

FAILURE_ID_HASH: {0734d4fd-962a-a6dc-4955-203dd1ca2f66}

Followup: MachineOwner

kd> !irp ffff8e85f9ed0b20
Irp is active with 8 stacks 5 is current (= 0xffff8e85f9ed0d10)
No Mdl: No System Buffer: Thread 00000000: Irp stack trace.
cmd flg cl Device File Completion-Context
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

		Args: 00000000 00000000 00000000 00000000

[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

		Args: 00000000 00000000 00000000 00000000

[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

		Args: 00000000 00000000 00000000 00000000

[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000

		Args: 00000000 00000000 00000000 00000000

[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 1 ffff8e86012bab20 00000000 00000000-00000000 pending
\Driver\WINUSB
Args: 00000000 00000001 00000003 00000000
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 1 ffff8e8603d022e0 00000000 00000000-00000000 pending
\Driver\WUDFRd
Args: 00000000 00000001 00000003 00000000
[IRP_MJ_POWER(16), IRP_MN_SET_POWER(2)]
0 e1 ffff8e8601502080 00000000 fffff8012a17dc60-ffff8e85f9a5fae0 Success Error Cancel pending
\Driver\scfilter nt!PopRequestCompletion
Args: 00000000 00000001 00000003 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-ffff8e85f9a5fae0

		Args: 00000000 00000000 00000000 00000000

kd> !devstack ffff8e860113a870
!DevObj !DrvObj !DevExt ObjectName
ffff8e8601502080 \Driver\scfilter ffff8e8602d19690
ffff8e8603d022e0 \Driver\WUDFRd ffff8e8603d02430
ffff8e86012bab20 \Driver\WINUSB ffff8e86011bdca0

ffff8e860113a870 \Driver\usbccgp ffff8e860113a9c0 00000170
!DevNode ffff8e85ffc49010 :
DeviceInst is “USB\VID_0A5C&PID_5843&REV_0101&MI_01\4&2681ab7c&0&0001”
ServiceName is “WUDFRd”
kd> !poaction
PopAction: fffff8012a423860
State…: 0 - Idle
Updates…: 0
Action…: None
Lightest State.: Unspecified
Flags…: 10000003 QueryApps|UIAllowed
Irp minor…: ??
System State…: Unspecified
Hiber Context…: 0000000000000000

Allocated power irps (PopIrpList - fffff8012a423f30)
IRP: ffff8e85fc287010 (wait-wake/S3), PDO: ffff8e85f9c9a060
IRP: ffff8e85fc535010 (wait-wake/S3), PDO: ffff8e85fc2ba050
IRP: ffff8e85fc5354e0 (wait-wake/S3), PDO: ffff8e85fc4db060
IRP: ffff8e86027df9a0 (wait-wake/S3), PDO: ffff8e85ffe4e9f0
IRP: ffff8e85f9ed0b20 (set/D2,), PDO: ffff8e860113a870, CURRENT: ffff8e86012bab20
IRP: ffff8e85fffe3050 (set/D3,), PDO: ffff8e8602de0870, CURRENT: ffff8e86016c5df0
IRP: ffff8e85fea38710 (set/D3,), PDO: ffff8e8603082870, CURRENT: ffff8e86000eaa60
IRP: ffff8e8602383b20 (wait-wake/S0), PDO: ffff8e860113a870
IRP: ffff8e8601ba4b20 (wait-wake/S3), PDO: ffff8e8602ad79f0

Irp worker threads (PopIrpThreadList - fffff8012a41c620)
THREAD: ffff8e85f936a080 (static), IRP: ffff8e85fffe3050, DEVICE: ffff8e8602d079f0
THREAD: ffff8e85f92a8080 (static), IRP: ffff8e85fea38710, DEVICE: ffff8e85ffa6b9f0
THREAD: ffff8e8602317040 (dynamic)

Broadcast in progress: FALSE
Is Directed DRIPS Transition: FALSE

No Device State present

Can someone please help me to understand why this irp is pending on winusb and what can be done to fix this, any pointer on this will be helpful.

Thanks.

Dump these threads and see what they’re doing:

Irp worker threads (PopIrpThreadList - fffff8012a41c620)
THREAD: ffff8e85f936a080 (static), IRP: ffff8e85fffe3050, DEVICE: ffff8e8602d079f0
THREAD: ffff8e85f92a8080 (static), IRP: ffff8e85fea38710, DEVICE: ffff8e85ffa6b9f0

I would also dump the entire System process and see if anything looks interesting:

!process 0 1F System

Thanks! Managed to solve it too!