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 fffff800017c16d2 : 0000000000000000 fffffa80064d9980 0000000000000065 fffff8000170a314 : nt!DbgBreakPointWithStatus
fffff88005640400 fffff800017c24be : 0000000000000003 0000000000000000 fffff80001706ee0 0000000000000020 : nt!KiBugCheckDebugBreak+0x12
fffff88005640460 fffff800016cc004 : 0000000000000000 0000000000000000 0000000000000010 fffff80001988d14 : nt!KeBugCheck2+0x71e
fffff88005640b30 fffff80001988d29 : 0000000000000020 0000000000000000 000000000000fff2 0000000000000000 : nt!KeBugCheckEx+0x104
fffff88005640b70 fffff800019b22a1 : fffffa8000000000 fffff880c146feff fffff78000000320 fffffa8006452020 : nt! ?? ::NNGAKEGL::string'+0x29559 fffff88005640c40 fffff8000195c884 : 0000000000000000 0000000000000003 0000000000000008 fffff78000000320 : nt!PspTerminateThreadByPointer+0x4d fffff88005640c90 fffff880050eeeee : 0000000000000008 0000000000000000 fffff88005640d08 0000000000000008 : nt!PsTerminateSystemThread+0x24 fffff88005640cc0 fffff8800513173f : fffffa8000000010 0000000000000001 fffffa800723c010 0000000000000102 : srv!SrvTerminateWorkerThread+0x3e fffff88005640cf0 fffff8000196f166 : fffffa8007242010 fffffa80064d9980 0000000000000080 fffffa80045f4b30 : srv!WorkerThread+0x189 fffff88005640d40 fffff800016aa486 : fffff80001844e80 fffffa80064d9980 fffffa8006cbd360 fffff8800123ea90 : nt!PspSystemThreadStartup+0x5a fffff88005640d80 0000000000000000 : fffff88005641000 fffff8800563b000 fffff880056409f0 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