| Previous | Next |
| DEVICE_QUEUE_NOT_BUSY |
APC_INDEX_MISMATCH
Important
APC_INDEX_MISMATCH parameters
| Parameter | Description |
|---|---|
1 |
The address of the system function (system call) or worker routine. |
2 |
The value of the current thread's ApcStateIndex field. |
3 |
The value of current thread's CombinedApcDisable field. This field consists of two separate 16-bit fields: (Thread >SpecialApcDisable << 16) | Thread >KernelApcDisable. |
4 |
Call type:
|
Cause for APC_INDEX_MISMATCH
The most common cause of this bug check is when a file system or driver has a mismatched sequence of calls to disable and re-enable APCs. The key data item is the Thread >CombinedApcDisable field. The CombinedApcDisable field consists of two separate 16-bit fields: SpecialApcDisable and KernelApcDisable. A negative value of either field indicates that a driver has disabled special or normal APCs (respectively) without re-enabling them. A positive value indicates that a driver has enabled special or normal APCs too many times.
Resolution for APC_INDEX_MISMATCH
Debugging with WinDbg for APC_INDEX_MISMATCH
For APC_INDEX_MISMATCH, The !analyze debugger extension displays information about the bug check and can be helpful in determining the root cause.
You can use the !apc extension to display the contents of one or more asynchronous procedure calls (APCs).
For APC_INDEX_MISMATCH, you can also set a breakpoint in the code that precedes this stop code and attempt to single-step forward into the faulting code.
For more information about using WinDbg, see Crash dump analysis using the Windows debuggers (WinDbg).
Debugging without WinDbg for APC_INDEX_MISMATCH
For APC_INDEX_MISMATCH, if you are not equipped to use the Windows debugger to work on this problem, you can use some basic troubleshooting techniques.
For APC_INDEX_MISMATCH, check the System Log in Event Viewer for additional error messages that might help identify the device or driver that is causing this bug check.
For APC_INDEX_MISMATCH, if a driver is identified in the bug check message, disable the driver or check with the manufacturer for driver updates.
For APC_INDEX_MISMATCH, for additional general troubleshooting information, see Blue screen data.
Remarks for APC_INDEX_MISMATCH
This bug check is the result of an internal error in the kernel. This error occurs on exit from a system call. A possible cause for this bug check is a file system or driver that has a mismatched sequence of system calls to enter or leave guarded or critical regions. For example, each call to KeEnterCriticalRegion must have a matching call to KeLeaveCriticalRegion.
If you are developing a driver, you can use Static Driver Verifier, a static analysis tool available in the Windows Driver Kit, to detect problems in your code before you ship your driver. Run Static Driver Verifier with the CriticalRegions rule to verify that your source code uses these system calls in correct sequence.
Looking for a different code? Search another status or error code.
