On running the WHQL test case I get the following bugcheck for my wdf driver, this bug check is a random one. On Calling WdfIoQueuePurgeSynchronously from the EvtDeviceSurpriseRemoval I am getting this issue.
What could be the possible senarios in which this bug check is happening? Somebody please help me with some suggestions?
0: kd> ! analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: ffffffff80000003, The exception code that was not handled
Arg2: fffff80002a84f40, The address that the exception occurred at
Arg3: fffff88002fd60b8, Exception Record Address
Arg4: fffff88002fd5910, Context Record Address
Debugging Details:
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
FAULTING_IP:
nt!DbgBreakPoint+0
fffff800`02a84f40 cc int 3
EXCEPTION_RECORD: fffff88002fd60b8 – (.exr 0xfffff88002fd60b8)
ExceptionAddress: fffff80002a84f40 (nt!DbgBreakPoint)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 0000000000000000
CONTEXT: fffff88002fd5910 – (.cxr 0xfffff88002fd5910)
rax=0000000000000000 rbx=0000057ffdddef78 rcx=18987f349c080000
rdx=0000000000000008 rsi=fffffa8002a3a660 rdi=fffff88000ea0150
rip=fffff80002a84f40 rsp=fffff88002fd62f8 rbp=fffff88002fd6390
r8=0000000000000001 r9=fffff80002ac9ec0 r10=fffffffffffffffe
r11=fffff88002fd62f8 r12=0000057ffdfc0f78 r13=0000000000000000
r14=fffffa8003769490 r15=fffff88000e960f0
iopl=0 nv up ei pl nz na pe nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00000202
nt!DbgBreakPoint:
fffff800`02a84f40 cc int 3
Resetting default scope
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x7E
PROCESS_NAME: System
CURRENT_IRQL: 0
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached.
EXCEPTION_PARAMETER1: 0000000000000000
LAST_CONTROL_TRANSFER: from fffff88000e76a8b to fffff80002a84f40
STACK_TEXT:
fffff88002fd62f8 fffff88000e76a8b : fffff88000ea1308 fffffa8000ceb040 fffff88000ea0150 0000057ffdddef78 : nt!DbgBreakPoint
fffff88002fd6300 fffff88000e5ff26 : 0000057ffdddef78 0000000000000000 0000000000000000 0000000000000101 : Wdf01000!_FX_DRIVER_GLOBALS::WaitForSignal+0x53
fffff88002fd6350 fffff88000e5adbf : fffffa8002a3a660 0000000000000000 0000000000000101 0000000000000101 : Wdf01000!FxIoQueue::QueuePurgeSynchronously+0xd6
fffff88002fd63c0 fffff88002001d9b : fffffa8002221080 fffffa8003907380 0000000042727300 0000000000000004 : Wdf01000!imp_WdfIoQueuePurgeSynchronously+0x10b
fffff88002fd6410 fffff880020040c9 : 0000057ffdddef78 fffff880021c09d8 0000000000000000 0000000000000000 : BtPort!WdfIoQueuePurgeSynchronously+0x1b [c:\winddk\7600.16385.0\inc\wdf\kmdf\1.9\wdfio.h @ 980]
fffff88002fd6440 fffff88000eb36b6 : 0000057ffdfc0f78 fffff88002fd6538 0000000000000004 fffff88002fd6540 : BtPort!CsrBtPort_EvtDeviceSurpriseRemoval+0x89 [d:\harmony_test\rel_01_00\kernel\bt\csrbtport\csrbtportdriver\btport.c @ 1913]
fffff88002fd64a0 fffff88000e8878c : fffffa8001af2640 0000000000000127 0000000000000127 fffffa8001af2640 : Wdf01000!VfEvtDeviceSurpriseRemoval+0x5e
fffff88002fd64d0 fffff88000e87841 : 0000000000000127 fffff88002fd6630 0000000000000119 0000000000000000 : Wdf01000!FxPkgPnp::PnpEventSurpriseRemoveIoStarted+0x2c
fffff88002fd6500 fffff88000e874fe : fffffa8001af2640 fffff88002fd6630 0000000000000400 fffff88000e965f0 : Wdf01000!FxPkgPnp::PnpEnterNewState+0x1a5
fffff88002fd6570 fffff88000e87201 : 0000000000000000 0000000000000400 0000000000000000 fffffa8001af2640 : Wdf01000!FxPkgPnp::PnpProcessEventInner+0x122
fffff88002fd65e0 fffff88000e85e54 : 0000000000000000 fffffa8001af2640 0000000000000002 0000000000000000 : Wdf01000!FxPkgPnp::PnpProcessEvent+0x1b1
fffff88002fd6670 fffff88000e7ddd6 : fffffa8002a3a660 0000000000000002 0000000000000000 fffffa8001af2640 : Wdf01000!FxPkgFdo::_PnpSurpriseRemoval+0x28
fffff88002fd66a0 fffff88000e4d245 : fffff9800c58ecf0 fffff9800c58ecf0 fffffa8001dd35e0 0000000000000000 : Wdf01000!FxPkgPnp::Dispatch+0x1b2
fffff88002fd6710 fffff88000e4d14b : fffff88002fd67f8 fffff9800c58ecf0 0000000000000002 fffffa8001dd35e0 : Wdf01000!FxDevice::Dispatch+0xa9
fffff88002fd6740 fffff80002f32c16 : fffff9800c58ecf0 0000000000000002 fffffa8001dd35e0 fffff80002df86eb : Wdf01000!FxDevice::DispatchWithLock+0x93
fffff88002fd6780 fffff88005e019bc : fffffa8002b3dc50 fffff9800c58ecf0 fffffa8003080bb0 fffffa800309c2b0 : nt!IovCallDriver+0x566
fffff88002fd67e0 fffff88005e082b9 : fffffa8002b3dc50 fffff9800c58ecf0 fffffa80000054fc fffffa8003080bb0 : pnpfiltr+0x19bc
fffff88002fd6810 fffff88005e075c8 : fffff9800c58ecf0 fffff88005e00000 fffffa8003080bb0 fffffa8003524010 : pnpfiltr+0x82b9
fffff88002fd6840 fffff80002f32c16 : fffff9800c58ecf0 0000000000000002 fffffa8003080bb0 fffff88002fd6988 : pnpfiltr+0x75c8
fffff88002fd6870 fffff80002cf8419 : fffffa8003080bb0 00000000c00000bb fffff88002fd6988 fffffa8003524010 : nt!IovCallDriver+0x566
fffff88002fd68d0 fffff80002e76391 : fffffa8003769490 0000000000000000 fffffa800376a430 0000000000000000 : nt!IopSynchronousCall+0xc5
fffff88002fd6940 fffff80002e70e08 : 0000000000000010 fffffa8003769490 000000000000030a 0000000000000308 : nt!IopRemoveDevice+0x101
fffff88002fd6a00 fffff80002e75ed7 : fffffa800376a430 0000000000000000 0000000000000003 0000000000010246 : nt!PnpSurpriseRemoveLockedDeviceNode+0x128
fffff88002fd6a40 fffff80002e75ff0 : 0000000000000000 fffff8a001571b00 fffff8a0022c4080 000000004e706e50 : nt!PnpDeleteLockedDeviceNode+0x37
fffff88002fd6a70 fffff80002f05f6f : 0000000000000002 0000000000000000 fffffa800376a430 fffff8a001571b00 : nt!PnpDeleteLockedDeviceNodes+0xa0
fffff88002fd6ae0 fffff80002f06b2c : fffff88002fd6cb8 fffff80002cf8000 0000000000000000 0000000000000000 : nt!PnpProcessQueryRemoveAndEject+0x6cf
fffff88002fd6c20 fffff80002df1c48 : 0000000000000000 fffffa800222b300 fffff8a001571b00 0000000000000001 : nt!PnpProcessTargetDeviceEvent+0x4c
fffff88002fd6c50 fffff80002a9a161 : fffff80002cf7fc0 fffff8a001571b00 fffff80002c305f8 0000000000000000 : nt! ?? ::NNGAKEGL::string'+0x5abab fffff88002fd6cb0 fffff80002d30166 : 0000000000000000 fffffa8000ceb040 0000000000000080 fffffa8000cce040 : nt!ExpWorkerThread+0x111 fffff88002fd6d40 fffff80002a6b486 : fffff880009e9180 fffffa8000ceb040 fffff880009f3f40 0000000000000000 : nt!PspSystemThreadStartup+0x5a fffff88002fd6d80 0000000000000000 : fffff88002fd7000 fffff88002fd1000 fffff88002fd4be0 00000000`00000000 : nt!KxStartSystemThread+0x16
FOLLOWUP_IP:
CsrBtPort!WdfIoQueuePurgeSynchronously+1b [c:\winddk\7600.16385.0\inc\wdf\kmdf\1.9\wdfio.h @ 980]
fffff880`02001d9b 4883c428 add rsp,28h
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: CsrBtPort!WdfIoQueuePurgeSynchronously+1b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: CsrBtPort
IMAGE_NAME: CsrBtPort.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4cd284af
STACK_COMMAND: .cxr 0xfffff88002fd5910 ; kb
FAILURE_BUCKET_ID: X64_0x7E_VRF_CsrBtPort!WdfIoQueuePurgeSynchronously+1b
BUCKET_ID: X64_0x7E_VRF_CsrBtPort!WdfIoQueuePurgeSynchronously+1b