Updated: October 2026
A blue screen that says WHEA_UNCORRECTABLE_ERROR tells you the crash came from hardware reporting a fault, but not which part. The good news is that Windows writes down which component complained, and that record narrows the search from "the whole PC" to one or two parts. This guide shows how to read that record, test the likely causes in the cheapest order, and decide when a WHEA_UNCORRECTABLE_ERROR means a driver fix and when it means an RMA.
What Stop Code 0x124 Means
WHEA stands for Windows Hardware Error Architecture. It's the channel the CPU, chipset, memory controller and PCI Express devices use to report errors to Windows. Microsoft's bug check reference for 0x124 is blunt: the code "indicates that a fatal hardware error has occurred."
The stop code itself is the same on every machine. The useful part is the first parameter, which names the type of error source. You'll find it in the minidump, in the BugCheck event in the System log, or in tools like WinDbg.
| Parameter 1 | Error source | Where it points |
|---|---|---|
| 0x0 | Machine check exception | CPU, cache or memory controller. Parameters 3 and 4 hold the MCi_STATUS value for the machine check bank |
| 0x3 | Non-maskable interrupt | Platform hardware, check the error record for the device |
| 0x4 | PCI Express error | A PCIe device: GPU, NVMe drive, network card, or the slot |
| 0x5 | Generic hardware error | Firmware-reported, check the error record |
| 0x6 / 0x7 | Initialization or boot error | Hardware that failed during startup |
| 0x10 | Device driver error source | A driver reported the hardware fault |
Parameter 2 is the address of the full WHEA error record. In WinDbg, !errrec with that address prints the record, and !analyze -v summarizes it.
Microsoft's own guidance ranks the causes. The bug check is "typically related to physical hardware failures": heat, defective hardware, memory, or a processor that is failing. A driver is listed as "less likely, but possible." Start your triage with that order in mind.
Reading the WHEA-Logger Event
You don't need a debugger to get most of this. Windows saves the error record to the System event log under the source WHEA-Logger, and the fatal one is Event ID 18. Pull every WHEA entry on a machine with a short PowerShell query:
powershellGet-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-List
An Event 18 message reads like this: "A fatal hardware error has occurred. Reported by component: Processor Core. Error Source: Machine Check Exception. Error Type: Cache Hierarchy Error." Below that you'll see a Processor APIC ID, and the Details tab carries the bank number and raw status.
Read four fields. Reported by component tells you the subsystem: Processor Core, Memory, PCI Express Root Port. Error Source repeats Parameter 1 in words. Error Type narrows it further, for example a cache hierarchy error or a bus error. Processor APIC ID names the logical core.
The APIC ID is the field people skip. If three crashes over two weeks all report the same APIC ID, you're looking at one core, and that points at the CPU itself. If the ID changes every time, the fault is shared: voltage, memory, heat or an overclock.
WHEA-Logger also records corrected errors, which Windows fixed without crashing. They show up as warnings (Event 17 for corrected hardware errors, and Event 19 on many systems for corrected machine checks). A trickle of corrected errors on the same component before the first blue screen is the hardware giving notice.
Triage by Cause, Cheapest Test First
Work from free and reversible to expensive and slow. Each step either clears the crash or rules out a cause.
1. Overclock and XMP. Load BIOS defaults before anything else. Intel's support article for this error lists "voltage changes" among the causes, and a CPU overclock, an undervolt or an aggressive memory profile all change voltages. XMP is the usual suspect on gaming and workstation builds, because it runs RAM above the speed the CPU's memory controller is validated for. Our guide to XMP in BIOS covers what the profile changes and how to step it back.
2. Thermals. Check fans, heatsink contact and dust. If crashes arrive after a few minutes of load and never at idle, heat is a strong candidate. Microsoft's guidance names this directly: confirm cooling works before blaming parts.
3. Power and voltage. A failing power supply produces WHEA errors that jump between components, because every part sees the same unstable rail. If the Event 18 component changes from crash to crash, swap in a known-good PSU before replacing anything else.
4. Memory. Run a full memory test at stock settings, not with XMP on. Test one stick at a time if the machine has more than one. Our walkthrough of Windows Memory Diagnostic shows where the results land and how to read them.
5. BIOS and firmware. Vendors ship microcode and memory-training fixes through BIOS updates, and some WHEA crashes stop after one. Update only after the steps above, and follow the vendor's process. Our BIOS update guide covers the risks and the order to do it in.
6. Storage and PCIe devices. If the component is a PCI Express root port, reseat the GPU or NVMe drive, try another slot, and update the device firmware. Intel's list of causes includes hard drives alongside the CPU and memory.
7. Drivers. Last, not first. Roll back any driver installed shortly before the crashes started, update chipset and storage drivers from the device vendor, and run Windows Update. Parameter 1 = 0x10 is the case where a driver is named from the start.
8. CPU. Once everything above is clean and the same core keeps reporting, run the CPU vendor's diagnostic. Intel publishes its Processor Diagnostic Tool for exactly this step.
Here's a Windows 10 case from r/techsupport.
The WHEA uncorrectable error on Windows 11 follows the same logic. An upgrade changes drivers and sometimes firmware settings at the same time, which is why crashes that start right after one deserve a driver rollback and a BIOS defaults check together.
This walkthrough covers the Windows-side fixes, useful once the hardware checks above come back clean.
A Decision Table for the WHEA Uncorrectable Error Fix
Match what you see to the likely cause, then run that test first.
| What you see | Likely cause | First test |
|---|---|---|
| Crashes under load, XMP or overclock enabled | Memory profile or CPU overclock | Load BIOS defaults, retest for a week |
| Crashes after minutes of load, never at idle | Heat | Check temperatures, fans and heatsink contact |
| Event 18 component changes between crashes | Power supply or voltage | Swap in a known-good PSU |
| Error type points at memory, crashes at stock | RAM | Memory test one stick at a time |
| Same Processor APIC ID every time | One CPU core | CPU vendor diagnostic at stock settings |
| Component is a PCI Express root port | GPU, NVMe or other PCIe card | Reseat, change slot, update firmware |
| Started right after a driver or Windows update | Driver | Roll back the driver, update chipset drivers |
| Parameter 1 is 0x10 | Driver-reported hardware fault | Update or replace the named driver |
When It's RMA Time
Send a part back when three things are true. The machine runs at BIOS defaults with no overclock and XMP off. The BIOS is current. And WHEA-Logger keeps naming the same component after the other suspects have been swapped or cleared.
Before the RMA, collect the evidence. Export the WHEA-Logger events, keep the minidumps from C:\Windows\Minidump, and save the diagnostic tool results. A return request is easier to make when it shows the same Event 18 component and APIC ID across several crashes at stock settings.
If you manage many machines, the same PowerShell query run as a script across a client's devices turns up corrected errors before they become blue screens. OpenFrame can run it across a client's fleet and collect the output in one place.
The Short Version
WHEA_UNCORRECTABLE_ERROR is stop code 0x124, and it means hardware reported a fatal error. Parameter 1 and the WHEA-Logger Event 18 tell you which component, and the Processor APIC ID tells you whether it's one core or something shared. Reset to defaults, check heat and power, test memory, update the BIOS, and only then chase drivers.
For every other stop code, our guide to the blue screen of death covers reading dumps and finding the driver behind a crash.
Dmytro Koval
Head of Product Engineering
Hi! My name is Dmytro, but everyone calls me Dima. I’m a Software Developer and together with the development team, I help bring Flamingo to life — putting it on its feet from a technical perspective. Originally from Lviv, Ukraine 🇺🇦, but currently based in Spain, where I’ve been enjoying the blend of great weather, culture, and nature. I’m passionate about the mountains and love traveling — exploring new places and cultures really inspires me. These experiences constantly recharge me and give me a fresh perspective, both personally and professionally.
