QUOTA_UNDERFLOW (0x21): what it means and how to fix it
Updated Oct 12, 2026 · Checked against Microsoft documentation · How this page is made
Quick answer
QUOTA_UNDERFLOW occurs when Windows detects that a program or driver returned more resource quota to a block than was originally allocated. This accounting error is typically caused by a faulty device driver mishandling memory. Check for recent driver updates or roll back newly installed software to resolve it.
What it means
Windows monitors how system resources are distributed among running processes. When a process requests memory or system privileges, the kernel records a quota charge against that process. Once the process finishes with those resources, it must return them back to the operating system pool.
Bug check 0x00000021 occurs when Windows detects that quota charges have been mishandled. Specifically, a driver or component attempted to return more quota to a particular block than was charged in the first place. Because the operating system cannot hold a negative balance for assigned resources, it triggers a Blue Screen of Death to prevent kernel corruption.
What the parameters mean
When this crash occurs, Windows records four specific parameters in the crash dump:
- Parameter 1 indicates the process that was initially charged, if that information is available.
- Parameter 2 reveals the specific quota type involved in the transaction.
- Parameter 3 records the initial charged amount of quota intended to be returned.
- Parameter 4 displays the remaining amount of quota that was not returned.
Why the error happens
Low-level drivers and kernel processes directly request and release system quotas. A programming defect in a third-party driver can cause it to calculate returned values improperly. If a driver calls internal kernel release routines multiple times for the same allocation, the recorded quota balance drops below zero, forcing Windows to halt immediately.
Common causes
- A faulty device driver returned more quota to a memory block than was originally charged.
- A software component attempted to release the same allocated quota block more than once.
- Damaged system files caused incorrect resource tracking within the Windows kernel.
How to fix it
Safest and most likely fixes first. Readers' answers to "Did this fix it?" reorder this list over time.
Install the latest Windows and driver updates
Try this first to obtain bug fixes for hardware drivers that miscalculate resource quotas.
- Open Start and select Settings.
- Select Windows Update (or Update & Security on older versions).
- Click Check for updates.
- Select Advanced options, choose Optional updates, and check for any hardware driver updates.
- Install all pending updates and restart the computer.
Did this fix it?Roll back recently updated device drivers
Use this if the crash began occurring shortly after updating hardware drivers.
- Right-click the Start menu and select Device Manager.
- Locate and expand the category for the hardware updated recently.
- Right-click the specific hardware component and choose Properties.
- Switch to the Driver tab.
- Select Roll Back Driver if the option is active, confirm the prompt, and restart the PC.
Did this fix it?Run the System File Checker tool
Use this to verify that core Windows system files responsible for resource tracking are intact.
- Type cmd into the search box on your taskbar.
- Right-click Command Prompt and select Run as administrator.
- Type sfc /scannow and press Enter.
- Allow the scan to finish until it reaches 100 percent.
- Restart your PC if the tool reports that it found and repaired corrupted files.
Did this fix it?Boot Windows into Safe Mode
Use this if the system crashes repeatedly during boot or idle, preventing standard troubleshooting.
- Open Start, select Power, hold the Shift key, and click Restart.
- On the Choose an option screen, select Troubleshoot.
- Select Advanced options, then choose Startup Settings.
- Click the Restart button.
- Press 4 or F4 to start Windows in Safe Mode, where only default Microsoft drivers run.
Did this fix it?
Is it just you?
25+ Microsoft Q&A threads discuss this. Most recent activity:
- Random bsodsSep 1, 2026
- BSOD only after bootingJan 18, 2022
- QUOTA_UNDERFLOW (21) BSoD Help neededApr 7, 2022
- Windows BSODs; Chrome, Firefox, Discord, and Slack crash frequentlyDec 7, 2020
- PC Crashing - Mostly during idle - Ryzen 3700xJan 22, 2021
Checked Oct 10, 2026. Refreshed automatically every few days.
Sources
Frequently asked questions
What does QUOTA_UNDERFLOW mean?
QUOTA_UNDERFLOW indicates that Windows tried to return more resource quota to a memory block than was initially assigned to it. This bookkeeping conflict halts the kernel to prevent data corruption.
What is the hex code for QUOTA_UNDERFLOW?
The hexadecimal code for this bug check is 0x00000021, often shortened to 0x21.
How do I find which driver caused bug check 0x21?
Inspect Parameter 1 from the memory dump file using a debugging tool like WinDbg. Parameter 1 records the specific process that was charged with the quota when the error occurred.