Hi All
I got a bug check from time to time, no clue how it happened, I checked all my mutex, I can’t find a suspicious one,
Anyone can shed light on that ?
Thanks
Ben Tsang
KERNEL_APC_PENDING_DURING_EXIT (20)
The key data item is the thread’s APC disable count.
If this is non-zero, then this is the source of the problem.
The APC disable count is decremented each time a driver calls
KeEnterCriticalRegion, FsRtlEnterFileSystem, or acquires a mutex. The APC
disable count is incremented each time a driver calls KeLeaveCriticalRegion,
FsRtlExitFileSystem, or KeReleaseMutex. Since these calls should always be in
pairs, this value should be zero when a thread exits. A negative value
indicates that a driver has disabled APC calls without re-enabling them. A
positive value indicates that the reverse is true.
If you ever see this error, be very suspicious of all drivers installed on the
machine – especially unusual or non-standard drivers. Third party file
system redirectors are especially suspicious since they do not generally
receive the heavy duty testing that NTFS, FAT, RDR, etc receive.
This current IRQL should also be 0. If it is not, that a driver’s
cancelation routine can cause this bugcheck by returning at an elevated
IRQL. Always attempt to note what you were doing/closing at the
time of the crash, and note all of the installed drivers at the time of
the crash. This symptom is usually a severe bug in a third party
driver.
Arguments:
Arg1: 0000000000000000, The address of the APC found pending during exit.
Arg2: 000000000000fff2, The thread’s APC disable count
Arg3: 0000000000000000, The current IRQL
Arg4: 0000000000000001
Debugging Details:
DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\sym\ntkrnlmp.exe\4A5BC6005dd000\ntkrnlmp.exe - OK
DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\sym\srv.sys\4A5BC25798000\srv.sys - OK
BUGCHECK_STR: 0x20_NULLAPC_KAPC_NEGATIVE
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from fffff800017c16d2 to fffff800016c3f60
STACK_TEXT:
fffff880056403f8 fffff800
017c16d2 : 0000000000000000 fffffa80
064d9980 0000000000000065 fffff800
0170a314 : nt!DbgBreakPointWithStatus
fffff88005640400 fffff800
017c24be : 0000000000000003 00000000
00000000 fffff80001706ee0 00000000
00000020 : nt!KiBugCheckDebugBreak+0x12
fffff88005640460 fffff800
016cc004 : 0000000000000000 00000000
00000000 0000000000000010 fffff800
01988d14 : nt!KeBugCheck2+0x71e
fffff88005640b30 fffff800
01988d29 : 0000000000000020 00000000
00000000 000000000000fff2 00000000
00000000 : nt!KeBugCheckEx+0x104
fffff88005640b70 fffff800
019b22a1 : fffffa8000000000 fffff880
c146feff fffff78000000320 fffffa80
06452020 : nt! ?? ::NNGAKEGL::string'+0x29559 fffff880
05640c40 fffff8000195c884 : 00000000
00000000 0000000000000003 00000000
00000008 fffff78000000320 : nt!PspTerminateThreadByPointer+0x4d fffff880
05640c90 fffff880050eeeee : 00000000
00000008 0000000000000000 fffff880
05640d08 0000000000000008 : nt!PsTerminateSystemThread+0x24 fffff880
05640cc0 fffff8800513173f : fffffa80
00000010 0000000000000001 fffffa80
0723c010 0000000000000102 : srv!SrvTerminateWorkerThread+0x3e fffff880
05640cf0 fffff8000196f166 : fffffa80
07242010 fffffa80064d9980 00000000
00000080 fffffa80045f4b30 : srv!WorkerThread+0x189 fffff880
05640d40 fffff800016aa486 : fffff800
01844e80 fffffa80064d9980 fffffa80
06cbd360 fffff8800123ea90 : nt!PspSystemThreadStartup+0x5a fffff880
05640d80 0000000000000000 : fffff880
05641000 fffff8800563b000 fffff880
056409f0 00000000`00000000 : nt!KxStartSystemThread+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
srv!SrvTerminateWorkerThread+3e
fffff880`050eeeee 4883c420 add rsp,20h
SYMBOL_STACK_INDEX: 7
SYMBOL_NAME: srv!SrvTerminateWorkerThread+3e
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: srv
IMAGE_NAME: srv.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bc257
FAILURE_BUCKET_ID: X64_0x20_NULLAPC_KAPC_NEGATIVE_VRF_srv!SrvTerminateWorkerThread+3e
BUCKET_ID: X64_0x20_NULLAPC_KAPC_NEGATIVE_VRF_srv!SrvTerminateWorkerThread+3e