I have used KeAcquireInterruptSpinLock(), I can run two threads without any problem. However after I increase to 4 threads, I get the following error:
Unknown bugcheck code (0)
Unknown bugcheck description
Arguments:
Arg1: 0000000000000000
Arg2: 0000000000000000
Arg3: 0000000000000000
Arg4: 0000000000000000
PROCESS_NAME: System
DPC_TIMEOUT_TYPE: SINGLE_DPC_TIMEOUT_EXCEEDED
DPC_RUNTIME: 504
DPC_TIME_LIMIT: 503
FAULTING_IP:
nt!KeAccumulateTicks+57e
fffff800`59d19f4e cd2c int 2Ch
ERROR_CODE: (NTSTATUS) 0xc0000420 - An assertion failure has occurred.
EXCEPTION_CODE: (NTSTATUS) 0xc0000420 - An assertion failure has occurred.
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
BUGCHECK_STR: 0x133
CURRENT_IRQL: d
ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) amd64fre
DPC_STACK_BASE: FFFFF88000A94FB0
LAST_CONTROL_TRANSFER: from fffff80059d1bea1 to fffff80059d19f4e
STACK_TEXT:
fffff88000a8d650 fffff800
59d1bea1 : 0000000000000000 fffff880
00a64180 fffff88000a8d7b0 fffff780
00000320 : nt!KeAccumulateTicks+0x57e
fffff88000a8d6d0 fffff800
59c33e94 : ffffffffffd104c8 fffffa80
0a000202 fffffa800b72d700 fffff880
00ad6180 : nt!KeUpdateRunTime+0x51
fffff88000a8d700 fffff800
59cd06ba : fffffa800ac08530 fffffa80
0b72d700 fffffa800a000210 fffffa80
0bdccb60 : hal!HalpTimerClockInterrupt+0x50
fffff88000a8d730 fffff800
59d07f55 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KiInterruptDispatchNoLockNoEtw+0x1aa
fffff88000a8d8c0 fffff800
59d0071f : fffff88000a64180 00000000
00000100 fffff88000a8dc00 fffff880
00a60000 : nt!KiDeferredReadyThread+0xbce
fffff88000a8d9b0 fffff800
59cfec25 : fffff88000a66f10 fffff800
59d002cf fffff88000a8dbf0 fffff880
00a674c0 : nt!KiProcessExpiredTimerList+0x18f
fffff88000a8dae0 fffff800
59d00c38 : fffff88000a64180 fffff880
00a66f80 fffff88000000002 fffffa80
00005b02 : nt!KiExpireTimerTable+0xa9
fffff88000a8db80 fffff800
59cfffd6 : fffffa8000000000 00001f80
00a60080 0000000000000000 00000000
00000002 : nt!KiTimerExpiration+0xc8
fffff88000a8dc30 fffff800
59d00f8a : fffff88000a64180 fffff880
00a64180 0000000000000000 fffff880
00a70540 : nt!KiRetireDpcList+0x1f6
fffff88000a8dda0 00000000
00000000 : fffff88000a8e000 fffff880
00a88000 0000000000000000 00000000
00000000 : nt!KiIdleLoop+0x5a
STACK_COMMAND: kb
FOLLOWUP_IP:
nt!KeAccumulateTicks+57e
fffff800`59d19f4e cd2c int 2Ch
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: nt!KeAccumulateTicks+57e
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 5507a86c
IMAGE_VERSION: 6.2.9200.17313
BUCKET_ID_FUNC_OFFSET: 57e
FAILURE_BUCKET_ID: 0x133_nt!KeAccumulateTicks
BUCKET_ID: 0x133_nt!KeAccumulateTicks
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0x133_nt!keaccumulateticks
FAILURE_ID_HASH: {77140953-e8fc-eb2e-c8a7-c5f30a634add}
Followup: MachineOwner
Any idea what I should start look?
Thanks,
Ying