What CRITICAL_STRUCTURE_CORRUPTION means

Bug check 0x109 means the kernel detected corruption of critical kernel code or data. Microsoft lists three causes: a driver modifying kernel code or data, a kernel breakpoint set without a debugger attached, and hardware corruption such as kernel code or data held in failing memory. The fourth parameter says which kind of structure was damaged, which is why two crashes with this code can have different causes.

Common causes

  • A driver or low-level tool that modifies protected kernel code or data
  • Faulty RAM or memory settings that are not stable
  • Recently installed or updated drivers, particularly for security, overclocking or monitoring software
  • A debugging tool or breakpoint left active without a debugger attached

How to fix CRITICAL_STRUCTURE_CORRUPTION

Work through these in order and test after each one. Stopping as soon as the crashes stop tells you which change mattered.

  1. Check Event Viewer for the device or driver involved. Open Event Viewer, then Windows Logs, System, and look for errors close to each crash that identify a device or driver.
  2. Undo the most recent change. If the blue screens began after a Windows update, a new driver or new software, remove that change first. Uninstall the update from Settings, Windows Update, Update history, or roll a driver back in Device Manager (right-click the device, Properties, Driver, Roll Back Driver).
  3. Note the file name on the blue screen. If the screen shows a line such as "What failed" followed by a .sys file, write it down. Searching that file name shows which driver it belongs to, which tells you what to update or remove. The named file is the code that crashed, which is not always the root cause.
  4. Return the PC to stock settings. Reset the BIOS to defaults, then leave XMP or EXPO, CPU or GPU overclocks and undervolts (including per-core offsets such as Curve Optimizer) switched off while you test. If the crashes stop, re-enable one setting at a time to find the unstable one.
  5. Test the memory. Run Windows Memory Diagnostic (search for it in Start) for a quick check, then MemTest86 for several passes if the crashes continue. Any error points to a faulty stick or slot, or to memory settings the hardware cannot run reliably.
  6. Run the maker’s hardware diagnostics. Many PC and laptop makers include a hardware test in the BIOS or boot menu or as a downloadable tool. Run the memory and drive tests it offers, and confirm any new hardware is compatible with your version of Windows.

Reading the crash evidence for 0x109

Microsoft’s reference says the first three parameters are reserved and the fourth identifies the type of the corrupted region. That one value is the key to the crash: it tells a debugger whether kernel code, a table, a list or a driver object was changed.

Hardware is a documented cause as well as software. Microsoft’s basic troubleshooting for this code includes checking Event Viewer, disabling or updating a named driver, running Windows Memory Diagnostic and running the manufacturer’s hardware diagnostics.

Some fourth-parameter values for 0x109 documented by Microsoft
Fourth parameterWhat Microsoft describesWhat it suggests
0x0A generic data regionCorruption of protected data
0x1A function modificationSomething altered kernel code
0x2A processor interrupt dispatch table (IDT)Something altered a core CPU table
0x19Modification of the loaded module listA driver or tool altered kernel structures
0x1CDriver object corruptionA driver’s own data was damaged
0x27, 0x28 or 0x29Type 1, 2 or 3 pool corruptionMemory pool damage, often by a driver
0x101General pool corruptionMemory pool damage
0x102Modification of win32k.sysAlteration of a core graphics component

Source: Microsoft Learn: Bug Check 0x109 CRITICAL_STRUCTURE_CORRUPTION ↗

When to stop and protect your data

If memory tests and maker diagnostics fail, replace the part that reports the fault. If everything passes and the crashes continue, keep the minidump for a debugger-informed diagnosis before reinstalling Windows.

Not sure this is your code?

The stop code appears as text on the blue screen. If the PC restarted before you could read it, open Event Viewer, then Windows Logs, then System, and look for a BugCheck event with ID 1001. You can also search all stop codes.

Related guides

Other system file and kernel errors