Skip to content
0x00000157KERNEL_THREAD_PRIORITY_FLOOR_VIOLATIONStop codeWidely reported

KERNEL_THREAD_PRIORITY_FLOOR_VIOLATION (0x157): what it means and how to fix it

Updated Nov 9, 2026 · Checked against Microsoft documentation · How this page is made

Quick answer

Stop code 0x00000157 occurs when system software attempts an invalid operation on the priority floor of an execution thread. The crash is usually caused by a malfunctioning device driver or memory corruption affecting the Windows kernel scheduler. Start by checking Device Manager and Event Viewer to identify and update problem drivers.

What it means

Windows manages processor execution by assigning priority levels to different tasks. The operating system breaks tasks down into individual threads of execution. To prevent vital system work from being starved of CPU time by other tasks, the kernel can establish a priority floor for a thread. A priority floor sets a strict lower limit on the thread's scheduling priority, ensuring it cannot drop below a designated level while that work is underway.

Bug check 0x00000157 signals that a kernel component or driver attempted an illegal operation on that priority floor. When this rule is broken, Windows immediately halts the system to prevent thread starvation, scheduling deadlocks, or kernel memory corruption.

Understanding the crash parameters

The diagnostic parameters attached to this stop code explain the nature of the failure:

  • Parameter 1 lists the memory address of the affected thread.
  • Parameter 2 lists the target priority value that the system tried to set.
  • Parameter 3 identifies the specific violation using three status codes: 0x1 means the priority counter for the target priority overflowed; 0x2 means the priority counter for the target priority underflowed; 0x3 means the target priority value was illegal.
  • Parameter 4 is reserved by the operating system.

A counter overflow (0x1) or underflow (0x2) typically happens when a driver repeatedly raises a thread's priority floor without properly lowering it, or attempts to lower it when no floor was set. An illegal priority value (0x3) occurs when a driver requests a priority level outside the boundaries supported by the Windows kernel.

While buggy device drivers are the primary cause of these scheduling errors, hardware instability can also produce them. Failing memory modules or unstable processor overclocking can flip bits in active memory pools, altering thread priority counters and triggering the crash.

Common causes

  • A device driver attempted an illegal operation on a kernel thread priority floor.
  • A thread priority counter overflowed past its upper limit (status code 0x1).
  • A thread priority counter underflowed past zero (status code 0x2).
  • A driver or system routine passed an illegal target priority value to the kernel (status code 0x3).
  • Failing system RAM or unstable hardware overclocking corrupted thread scheduling data in memory.

How to fix it

Safest and most likely fixes first. Readers' answers to "Did this fix it?" reorder this list over time.

  1. Check Device Manager for driver issues

    Use this first if the crash started after recent hardware changes or driver updates.

    1. Right-click the Start button and select Device Manager.
    2. Scan the hardware tree for any device marked with a yellow exclamation point.
    3. Right-click the flagged device and select Properties.
    4. Open the Driver tab.
    5. Select Update Driver to check for an updated driver, or select Roll Back Driver if the issue began after a recent update.
    6. If a recently installed third-party device driver is causing instability, select Uninstall device and restart your computer.
    Did this fix it?
  2. Inspect the Event Viewer System log

    Use this to identify which driver or service logged critical errors right before the blue screen.

    1. Right-click the Start button and select Event Viewer.
    2. Expand Windows Logs in the left pane and select System.
    3. Scroll to the date and time when the blue screen occurred.
    4. Check for Event ID 41, which confirms an unexpected shutdown, and review Event ID 6008 entries.
    5. Look for Critical and Error events logged immediately before the shutdown to find the specific driver or service involved.
    Did this fix it?
  3. Disable hardware overclocking

    Use this if your processor, memory, or motherboard has custom clock speeds or voltage profiles enabled.

    1. Restart your computer and press the designated setup key to enter your motherboard BIOS or UEFI.
    2. Navigate to the performance, frequency, or overclocking menu.
    3. Set processor multipliers, bus speeds, and memory profiles back to their factory default settings.
    4. Save your changes and restart Windows.
    5. Run normal workloads to verify whether the system remains stable.
    Did this fix it?
  4. Test system memory for faults

    Use this if the stop code occurs intermittently or happens alongside other random crashes.

    1. Press the Windows Key, type Windows Memory Diagnostic, and press Enter.
    2. Select Restart now and check for problems.
    3. Allow your computer to reboot into the diagnostic environment and complete the automated scan.
    4. Wait for Windows to boot back to the desktop once testing finishes.
    5. Check the notification area or look in Event Viewer under the System log to review the diagnostic results.
    Did this fix it?
  5. Check power supply capacity and cooling

    Use this if the crash occurs during heavy load or if your system reboots unexpectedly without logging full crash dump files.

    1. Check internal computer fans and cooling vents to ensure proper airflow and clear any dust buildup.
    2. Examine the internal temperature of your hardware components to identify any overheating issues.
    3. Verify that your power supply unit provides enough wattage to support all installed graphics cards, storage drives, and processors.
    4. Disconnect newly added external devices or expansion cards to confirm whether power draw is triggering instability.
    Did this fix it?

Is it just you?

17 Microsoft Q&A threads discuss this. Most recent activity:

Checked Nov 6, 2026. Refreshed automatically every few days.

Sources

Frequently asked questions

What is bug check 0x157?

Bug check 0x157, known as KERNEL_THREAD_PRIORITY_FLOOR_VIOLATION, indicates that an illegal operation was attempted on the priority floor of a kernel execution thread. It halts Windows immediately to prevent operating system corruption.

What do the 0x157 parameter values mean?

Parameter 1 is the thread address, Parameter 2 is the target priority value, and Parameter 3 specifies the error. In Parameter 3, 0x1 represents a counter overflow, 0x2 represents a counter underflow, and 0x3 represents an illegal priority value.

Can faulty RAM cause error 0x00000157?

Yes. If system memory has defective cells, it can corrupt kernel data structures and counters in memory, causing Windows to register an invalid priority floor operation.