Reference
Windows stop code reference
A stop code (bug check) is the number Windows shows on a blue screen to say why it halted. This is DumpReader's built-in reference — 161 codes with their 0x value and meaning. The code names the symptom; your .dmp file holds the evidence that names the cause.
Open the free analyzer and drop a dump from
C:\Windows\Minidump to decode your own crash, or read the
guide to reading a .dmp file first.
How to use this list
Find the code from your blue screen, then treat the description as a category rather than an answer. Two things narrow it further, and both live in the dump file rather than on the screen:
The four parameters
Every bug check carries four values that Windows fills in differently per code. For 0x1A the first parameter selects the memory-manager subtype; for 0x7F it identifies the processor trap. The same code with different parameters is a different fault.
The faulting address
If the instruction pointer at the moment of the crash falls inside a loaded driver's address range, that driver is named by arithmetic rather than by guesswork — the strongest evidence a minidump offers.
All Windows bug check codes
| Stop code | Code | What it reports |
|---|---|---|
| APC_INDEX_MISMATCH | 0x01 | Kernel APC state count mismatch on system-call exit — a driver unbalanced enter/leave critical region calls. |
| DEVICE_QUEUE_NOT_BUSY | 0x02 | Legacy device-queue state error. |
| INVALID_AFFINITY_SET | 0x03 | Invalid processor affinity operation. |
| INVALID_DATA_ACCESS_TRAP | 0x04 | Invalid data access trap. |
| INVALID_PROCESS_ATTACH_ATTEMPT | 0x05 | KeStackAttachProcess misuse — driver attached while already attached or at bad IRQL. |
| INVALID_SOFTWARE_INTERRUPT | 0x07 | Invalid software interrupt request. |
| IRQL_NOT_DISPATCH_LEVEL | 0x08 | Routine requiring DISPATCH_LEVEL called at wrong IRQL. |
| IRQL_NOT_GREATER_OR_EQUAL | 0x09 | IRQL below required level for the attempted operation. |
| IRQL_NOT_LESS_OR_EQUAL | 0x0A | Kernel code touched pageable (or invalid) memory while running at an IRQL too high to handle a page fault. |
| NO_EXCEPTION_HANDLING_SUPPORT | 0x0B | Exception raised with no handler support present. |
| MAXIMUM_WAIT_OBJECTS_EXCEEDED | 0x0C | KeWaitForMultipleObjects called with too many objects. |
| MUTEX_LEVEL_NUMBER_VIOLATION | 0x0D | A thread acquired mutexes out of their declared level order — driver locking bug. |
| TRAP_CAUSE_UNKNOWN | 0x12 | Trap with unknown cause — often hardware. |
| REFERENCE_BY_POINTER | 0x18 | Object reference count mismanaged by a driver (over-dereference). |
| BAD_POOL_HEADER | 0x19 | Pool block header corrupted. |
| MEMORY_MANAGEMENT | 0x1A | The kernel memory manager found an internal inconsistency — page tables, PFN database, or working-set damage. |
| KMODE_EXCEPTION_NOT_HANDLED | 0x1E | Kernel-mode code raised an exception no handler dealt with (param 1 = exception code, param 2 = faulting address). |
| KERNEL_APC_PENDING_DURING_EXIT | 0x20 | Thread exited with kernel APCs pending — driver left APC state unbalanced. |
| FILE_SYSTEM | 0x22 | Generic file-system bugcheck. |
| FAT_FILE_SYSTEM | 0x23 | FAT file-system driver failure. |
| NTFS_FILE_SYSTEM | 0x24 | NTFS driver hit an unrecoverable condition. |
| NPFS_FILE_SYSTEM | 0x25 | Named-pipe file system failure. |
| CDFS_FILE_SYSTEM | 0x26 | CD-ROM file system failure. |
| RDR_FILE_SYSTEM | 0x27 | SMB redirector failure. |
| INCONSISTENT_IRP | 0x2A | IRP found in an inconsistent state — driver mishandled it. |
| PANIC_STACK_SWITCH | 0x2B | Kernel stack overflow or corruption forced a panic stack switch. |
| DATA_BUS_ERROR | 0x2E | Parity/data bus error — memory hardware. |
| INSTRUCTION_BUS_ERROR | 0x2F | Instruction bus error — hardware. |
| PHASE0_INITIALIZATION_FAILED | 0x31 | Very early boot initialization failed. |
| PHASE1_INITIALIZATION_FAILED | 0x32 | Boot phase 1 initialization failed. |
| CACHE_MANAGER | 0x34 | Cache manager internal failure. |
| NO_MORE_IRP_STACK_LOCATIONS | 0x35 | IRP forwarded deeper than its stack allows — filter-driver stacking bug. |
| DEVICE_REFERENCE_COUNT_NOT_ZERO | 0x36 | Device deleted while references remained. |
| SYSTEM_EXIT_OWNED_MUTEX | 0x39 | Thread exited while owning a mutex. |
| SYSTEM_SERVICE_EXCEPTION | 0x3B | An exception fired inside a system service call (param 1 = exception code, param 2 = faulting instruction). |
| INTERRUPT_UNWIND_ATTEMPTED | 0x3C | Unwind attempted through an interrupt frame. |
| INTERRUPT_EXCEPTION_NOT_HANDLED | 0x3D | Exception in interrupt handler not handled. |
| NO_MORE_SYSTEM_PTES | 0x3F | System PTEs exhausted — a driver leaked mapping resources. |
| TARGET_MDL_TOO_SMALL | 0x40 | Driver passed an undersized MDL. |
| MUST_SUCCEED_POOL_EMPTY | 0x41 | Must-succeed pool exhausted. |
| MULTIPLE_IRP_COMPLETE_REQUESTS | 0x44 | Driver completed the same IRP twice. |
| CANCEL_STATE_IN_COMPLETED_IRP | 0x48 | Cancel routine set on an already-completed IRP. |
| PAGE_FAULT_WITH_INTERRUPTS_OFF | 0x49 | Page fault while interrupts disabled. |
| IRQL_GT_ZERO_AT_SYSTEM_SERVICE | 0x4A | Returned to user mode at raised IRQL — driver left IRQL unbalanced. |
| FATAL_UNHANDLED_HARD_ERROR | 0x4C | Fatal hard error during boot (often missing/corrupt system files). |
| NO_PAGES_AVAILABLE | 0x4D | No free pages left — extreme memory pressure or a leak. |
| PFN_LIST_CORRUPT | 0x4E | Page-frame database corrupted — driver or RAM fault. |
| PAGE_FAULT_IN_NONPAGED_AREA | 0x50 | Reference to memory that must always be resident but wasn't (param 1 = address, param 3 read/write). |
| REGISTRY_ERROR | 0x51 | Registry hive I/O or corruption error. |
| CRITICAL_SERVICE_FAILED | 0x5A | A boot-critical service failed. |
| HAL_INITIALIZATION_FAILED | 0x5C | HAL failed to initialize. |
| UNSUPPORTED_PROCESSOR | 0x5D | CPU lacks features this Windows build requires. |
| BAD_SYSTEM_CONFIG_INFO | 0x74 | SYSTEM registry hive corrupt or inconsistent. |
| CANNOT_WRITE_CONFIGURATION | 0x75 | SYSTEM hive could not be written (disk full/failing). |
| PROCESS_HAS_LOCKED_PAGES | 0x76 | Driver left pages locked at process exit (param 1 identifies). |
| KERNEL_STACK_INPAGE_ERROR | 0x77 | A kernel stack page could not be read back from the pagefile. |
| PHASE0_EXCEPTION | 0x78 | Exception during phase-0 boot. |
| MISMATCHED_HAL | 0x79 | HAL and kernel type mismatch. |
| KERNEL_DATA_INPAGE_ERROR | 0x7A | Kernel data could not be paged in from disk (param 2 = I/O status). |
| INACCESSIBLE_BOOT_DEVICE | 0x7B | Windows lost access to its boot volume during startup. |
| BUGCODE_NDIS_DRIVER | 0x7C | NDIS network driver violation. |
| SYSTEM_THREAD_EXCEPTION_NOT_HANDLED | 0x7E | A system worker thread died on an unhandled exception (param 1 = exception code, param 2 = address). |
| UNEXPECTED_KERNEL_MODE_TRAP | 0x7F | CPU trap the kernel can't handle (param 1: 0x0 divide-by-zero, 0x8 double fault = usually stack overflow). |
| NMI_HARDWARE_FAILURE | 0x80 | A non-maskable interrupt signaled a hardware failure (often memory or bus parity). |
| KERNEL_MODE_EXCEPTION_NOT_HANDLED | 0x8E | Kernel exception not handled (older form of 0x1E). |
| UP_DRIVER_ON_MP_SYSTEM | 0x92 | Uniprocessor-only driver loaded on multiprocessor system. |
| INVALID_KERNEL_HANDLE | 0x93 | Kernel code closed a protected/invalid handle. |
| KERNEL_STACK_LOCKED_AT_EXIT | 0x94 | Thread exited with locked kernel stack. |
| INVALID_WORK_QUEUE_ITEM | 0x96 | Work item queued with bad list linkage — classic pool/list corruption. |
| INVALID_REGION_OR_SEGMENT | 0x99 | Invalid memory region/segment operation. |
| MACHINE_CHECK_EXCEPTION | 0x9C | Legacy machine-check: the CPU detected a fatal hardware condition. |
| USER_MODE_HEALTH_MONITOR | 0x9E | Cluster health monitor forced a bugcheck (server clusters). |
| DRIVER_POWER_STATE_FAILURE | 0x9F | A driver failed to complete a power IRP within the watchdog window (param 1 = failure type). |
| INTERNAL_POWER_ERROR | 0xA0 | Power manager internal failure (hibernation file, power policy). |
| ACPI_BIOS_ERROR | 0xA5 | ACPI BIOS gave the OS inconsistent tables — firmware bug. |
| SESSION_HAS_VALID_POOL_ON_EXIT | 0xAB | Session driver leaked session pool (video/print drivers). |
| HAL_MEMORY_ALLOCATION | 0xAC | HAL could not allocate required memory at boot. |
| ATTEMPTED_SWITCH_FROM_DPC | 0xB8 | Illegal context switch attempted inside a DPC. |
| CHIPSET_DETECTED_ERROR | 0xB9 | Chipset reported an unrecoverable error. |
| SESSION_HAS_VALID_VIEWS_ON_EXIT | 0xBA | Session driver leaked mapped views. |
| ATTEMPTED_WRITE_TO_READONLY_MEMORY | 0xBE | A driver wrote to read-only memory — typically code pages or write-protected data (param 1 = target address). |
| MUTEX_ALREADY_OWNED | 0xBF | Recursive acquisition of a non-recursive mutex. |
| SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION | 0xC1 | Special pool caught a driver corrupting its allocation. |
| BAD_POOL_CALLER | 0xC2 | A driver misused the kernel pool allocator (param 1 = violation type: double free, wrong size, bad IRQL...). |
| DRIVER_VERIFIER_DETECTED_VIOLATION | 0xC4 | Driver Verifier deliberately bugchecked after catching a driver violating kernel API rules (param 1 = violation subtype). |
| DRIVER_CORRUPTED_EXPOOL | 0xC5 | Pool corruption detected at raised IRQL — a driver damaged pool bookkeeping. |
| DRIVER_CAUGHT_MODIFYING_FREED_POOL | 0xC6 | Driver wrote to pool it had already freed. |
| TIMER_OR_DPC_INVALID | 0xC7 | Kernel timer/DPC found where it must not be — driver unloaded without cancelling timers. |
| IRQL_UNEXPECTED_VALUE | 0xC8 | IRQL bookkeeping mismatch — driver unbalanced raise/lower. |
| DRIVER_VERIFIER_IOMANAGER_VIOLATION | 0xC9 | Verifier caught an I/O manager rule violation. |
| PNP_DETECTED_FATAL_ERROR | 0xCA | Plug-and-Play fatal error — corrupt device configuration. |
| DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS | 0xCB | Driver failed to unlock pages before completing I/O. |
| PAGE_FAULT_IN_FREED_SPECIAL_POOL | 0xCC | Access to freed special-pool memory — use-after-free caught. |
| PAGE_FAULT_BEYOND_END_OF_ALLOCATION | 0xCD | Read/write past the end of an allocation — overrun caught. |
| DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS | 0xCE | Driver unloaded leaving pending DPCs/timers/worker items. |
| DRIVER_CORRUPTED_MMPOOL | 0xD0 | Memory-manager pool corrupted by a driver. |
| DRIVER_IRQL_NOT_LESS_OR_EQUAL | 0xD1 | A driver accessed pageable/invalid memory at DISPATCH_LEVEL or above (param 4 = faulting driver address). |
| BUGCODE_ID_DRIVER | 0xD2 | Network driver identification bugcheck. |
| DRIVER_PORTION_MUST_BE_NONPAGED | 0xD3 | Pageable code/data used where nonpaged is required. |
| DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL | 0xD5 | Driver touched freed special-pool memory. |
| DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION | 0xD6 | Driver ran past its allocation into the guard page. |
| DRIVER_UNMAPPING_INVALID_VIEW | 0xD7 | Driver unmapped a view it didn't map. |
| DRIVER_USED_EXCESSIVE_PTES | 0xD8 | Driver exhausted PTEs with oversized mappings. |
| LOCKED_PAGES_TRACKER_CORRUPTION | 0xD9 | MDL lock-tracking structures corrupted. |
| SYSTEM_PTE_MISUSE | 0xDA | System PTE routines misused by a driver. |
| DRIVER_CORRUPTED_SYSPTES | 0xDB | Driver corrupted system PTEs. |
| DRIVER_INVALID_STACK_ACCESS | 0xDC | Driver accessed a stack address outside its thread's stack. |
| IMPERSONATING_WORKER_THREAD | 0xDF | Worker item ran while still impersonating — token leak. |
| WORKER_THREAD_RETURNED_AT_BAD_IRQL | 0xE1 | Work item returned at raised IRQL. |
| MANUALLY_INITIATED_CRASH | 0xE2 | Crash triggered on purpose (keyboard crash dump or debugging tool). |
| RESOURCE_NOT_OWNED | 0xE3 | ERESOURCE released by a thread that doesn't own it. |
| WORKER_INVALID | 0xE4 | Freed or invalid work item queued. |
| DRIVER_VERIFIER_DMA_VIOLATION | 0xE6 | Verifier caught a DMA rule violation. |
| ACTIVE_EX_WORKER_THREAD_TERMINATION | 0xE9 | Executive worker thread terminated while active. |
| THREAD_STUCK_IN_DEVICE_DRIVER | 0xEA | A device driver spun forever — almost always the GPU driver. |
| UNMOUNTABLE_BOOT_VOLUME | 0xED | Boot volume could not be mounted. |
| CRITICAL_PROCESS_DIED | 0xEF | A process Windows cannot run without (csrss, wininit, services...) terminated (param 1 = EPROCESS). |
| SCSI_VERIFIER_DETECTED_VIOLATION | 0xF1 | SCSI verifier caught a storage-driver violation. |
| CRITICAL_OBJECT_TERMINATION | 0xF4 | A critical system process or thread terminated unexpectedly. |
| FLTMGR_FILE_SYSTEM | 0xF5 | Filter Manager fatal error — a file-system filter driver failed. |
| DRIVER_OVERRAN_STACK_BUFFER | 0xF7 | A driver smashed its own stack buffer — /GS check caught it. |
| DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN | 0xF9 | Driver returned STATUS_REPARSE for a volume open. |
| HTTP_DRIVER_CORRUPTED | 0xFA | HTTP.sys internal corruption. |
| ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY | 0xFC | Execution jumped into no-execute memory (DEP violation in kernel). |
| BUGCODE_USB_DRIVER | 0xFE | USB stack fatal error. |
| CLOCK_WATCHDOG_TIMEOUT | 0x101 | A secondary processor missed clock interrupts — a core stopped responding. |
| DPC_WATCHDOG_TIMEOUT | 0x102 | DPC ran past the watchdog limit (predecessor of 0x133). |
| MUP_FILE_SYSTEM | 0x103 | Multiple UNC provider (network FS) failure. |
| THIRD_PARTY_FILE_SYSTEM_FAILURE | 0x108 | Third-party file system driver failed. |
| CRITICAL_STRUCTURE_CORRUPTION | 0x109 | PatchGuard found protected kernel structures modified. |
| WDF_VIOLATION | 0x10D | Kernel-Mode Driver Framework caught a framework rule violation. |
| VIDEO_MEMORY_MANAGEMENT_INTERNAL | 0x10E | Video memory manager internal error. |
| RECURSIVE_NMI | 0x111 | NMI arrived while a previous NMI was in progress. |
| MSRPC_STATE_VIOLATION | 0x112 | MSRPC kernel state violation. |
| VIDEO_DXGKRNL_FATAL_ERROR | 0x113 | DirectX graphics kernel hit an unrecoverable inconsistency. |
| VIDEO_SHADOW_DRIVER_FATAL_ERROR | 0x114 | Shadow display driver fatal error. |
| VIDEO_TDR_FAILURE | 0x116 | GPU driver failed to recover from a timeout (TDR) — display engine hung. |
| VIDEO_TDR_TIMEOUT_DETECTED | 0x117 | GPU stopped responding and Windows attempted recovery. |
| VIDEO_SCHEDULER_INTERNAL_ERROR | 0x119 | GPU scheduler hit a fatal internal state. |
| DRIVER_RETURNED_HOLDING_CANCEL_LOCK | 0x11B | Driver returned still holding the cancel spin lock. |
| ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE | 0x11C | Write attempted to protected registry storage. |
| EVENT_TRACING_FATAL_ERROR | 0x11D | ETW kernel tracing fatal error. |
| DRIVER_VIOLATION | 0x121 | Driver violated a kernel contract. |
| WHEA_INTERNAL_ERROR | 0x122 | WHEA hardware-error infrastructure internal error. |
| WHEA_UNCORRECTABLE_ERROR | 0x124 | The CPU reported an uncorrectable hardware error (machine check) — this is hardware, not a driver. |
| PAGE_NOT_ZERO | 0x127 | A page expected to be zero contained data — corruption after power events or RAM faults. |
| FAULTY_HARDWARE_CORRUPTED_PAGE | 0x12B | A single-bit error was found in a memory page — physical RAM problem. |
| DPC_WATCHDOG_VIOLATION | 0x133 | A DPC or ISR ran too long, or the system sat at DISPATCH_LEVEL beyond the watchdog limit. |
| KERNEL_SECURITY_CHECK_FAILURE | 0x139 | A kernel security cookie/list-entry check failed — memory corruption caught in the act (param 1 = check type). |
| KERNEL_MODE_HEAP_CORRUPTION | 0x13A | Kernel heap manager found its structures corrupted. |
| BUGCODE_USB3_DRIVER | 0x144 | USB3 (xHCI) stack fatal error. |
| SOC_SUBSYSTEM_FAILURE | 0x14B | System-on-chip subsystem failure. |
| UNEXPECTED_STORE_EXCEPTION | 0x154 | The memory-compression store hit an unexpected exception — usually the pagefile disk path. |
| BUGCODE_NDIS_DRIVER_LIVE_DUMP | 0x15E | NDIS captured a live dump for a network driver fault. |
| KERNEL_AUTO_BOOST_INVALID_LOCK_RELEASE | 0x162 | AutoBoost-tracked lock released by wrong owner. |
| SECURE_KERNEL_ERROR | 0x18B | The secure kernel (VBS/VSM) hit an unrecoverable error. |
| KERNEL_AUTO_BOOST_LOCK_ACQUISITION_WITH_RAISED_IRQL | 0x192 | AutoBoost lock acquired at raised IRQL. |
| LOADER_ROLLBACK_DETECTED | 0x196 | Boot loader rollback detected. |
| STORE_DATA_STRUCTURE_CORRUPTION | 0x1C7 | Memory-compression store structures corrupted. |
| MANUALLY_INITIATED_POWER_BUTTON_HOLD | 0x1C8 | User forced crash via long power-button hold diagnostics. |
| SYNTHETIC_WATCHDOG_TIMEOUT | 0x1CA | A virtualized/synthetic watchdog expired — the VM or host stopped scheduling the guest. |
Authoritative source: Microsoft Bug Check Code Reference.