Windows Stop Code 0x00000041: MUST_SUCCEED_POOL_EMPTY
Quick Answer MUST_SUCCEED_POOL_EMPTY (0x00000041) means a kernel-mode thread made a must-succeed pool allocation request that Windows could not satisfy. Micr...
Quick Answer
MUST_SUCCEED_POOL_EMPTY (0x00000041) means a kernel-mode thread made a must-succeed pool allocation request that Windows could not satisfy. Microsoft directs developers to replace or correct the requesting driver so that it uses ordinary pool allocations and handles allocation failure properly. Another component may also have contributed by consuming the available pool. Microsoft Learn
For recurring crashes, review recent driver changes and preserve a crash dump. IT professionals can use WinDbg to identify the requesting driver and examine pool usage before deciding which component needs correction.
What Does “Must-Succeed Pool” Mean?
Windows drivers allocate system memory from pools. Nonpaged pool remains resident in physical memory; paged pool can be paged out when appropriate.
Must-succeed allocation types are special internal types whose allocation failure can stop the system. Microsoft restricts their use and identifies them as obsolete in driver API documentation. They are not a setting that ordinary users should enable or increase. Microsoft Learn
The diagnostic goal is to determine both who requested the allocation and whether excessive consumption elsewhere contributed to the failure.
Bug-Check Parameters
| Parameter | Meaning |
|---|---|
| 1 | Size of the unsuccessful allocation request |
| 2 | Pages used from nonpaged pool |
| 3 | Number of nonpaged-pool requests larger than PAGE_SIZE |
| 4 | Number of pages available |
These values describe the allocation and memory state captured at the crash. Microsoft Learn
Before You Begin
- Save your work and back up important files.
- Record the crash time, complete stop code, and any displayed driver filename.
- Note recent driver installations, device additions, and software updates.
- Have administrator access available for driver rollback.
- Keep the BitLocker recovery key available before entering Windows recovery options.
- Coordinate changes and service interruptions with IT support on managed systems. support.microsoft.com
The user-interface steps below use current Windows terminology. Older systems can have different menus.
Recommended Troubleshooting
1. Record the Crash Pattern
Note whether the failure happens:
- Immediately after startup.
- During a particular device operation.
- After a scheduled task begins.
- After the system has been running for a similar period.
Preserve any available dump before further changes. A repeatable pattern helps support personnel compare the requesting driver with the workload underway.
2. Roll Back a Relevant Driver Update
If the crashes began after a specific driver update:
- Right-click Start and select Device Manager.
- Open the affected device’s Properties.
- Select Driver > Roll Back Driver, when available.
- Follow the prompts and restart if requested.
If rollback is unavailable, Windows may not have the previous driver available. support.microsoft.com
3. Obtain a Corrected Driver
If the driver is identified and rollback is unsuitable:
- Check Windows Update or the manufacturer’s official support website.
- Obtain a driver compatible with the device and Windows version.
- Follow the vendor’s installation instructions.
- Restart and test the original workload.
Change one suspected component at a time. If the change creates a new problem, restore the previous driver where possible or reinstall the appropriate vendor package. support.microsoft.com
For drivers installed with an application, use that application vendor’s supported update or removal procedure. Avoid manually deleting driver files.
4. Use Safe Mode if Normal Startup Fails
- Access the Windows Recovery Environment.
- Select Troubleshoot > Advanced options > Startup Settings > Restart.
- Press 4 or F4 to enable Safe Mode.
- Investigate or reverse the suspected change.
- Restart normally to test.
An encrypted device may request its BitLocker recovery key. Safe Mode loads a limited set of drivers and services, which can help narrow the investigation. support.microsoft.com
Advanced Troubleshooting with WinDbg
1. Preserve the Crash Dump
Depending on configuration, Windows commonly writes dumps to:
| Dump type | Default location |
|---|---|
| Small memory dump | %SystemRoot%\Minidump |
| Kernel or automatic memory dump | %SystemRoot%\MEMORY.DMP |
A dump is available only if Windows was configured and able to write it. Pool analysis requires the relevant memory to be present in the dump. learn.microsoft.com
2. Inspect the Call Stack
Open the dump in WinDbg with appropriate symbols and run:
!analyze -v
Then display the stack backtrace:
kb
Microsoft recommends examining the stack for the driver making the must-succeed request. It also notes that a separate component may have depleted the pool, so the investigation should include memory consumption. learn.microsoft.com
3. Examine Pool Usage
Run these commands in WinDbg:
!vm 1
This displays system memory statistics while omitting per-process statistics. Review the pool usage and available-memory information. Microsoft Learn
!poolused 2
This displays pool usage by allocation tag, sorted by nonpaged-memory consumption.
!poolused 4
This displays pool usage by allocation tag, sorted by paged-memory consumption. A pool tag is a label associated with an allocation that helps investigators group memory usage. Microsoft Learn
Investigate unusually large consumers alongside the requesting driver and workload. A large allocation total is a lead; it does not independently prove a memory leak.
These commands inspect the captured state. They do not release memory or repair Windows.
Guidance for Driver Developers
Correct the allocation strategy and its failure handling. Use an appropriate supported pool-allocation mechanism, check its result, and clean up partial work when an allocation cannot be completed.
Microsoft’s prescribed resolution is to remove the dependency on must-succeed allocations rather than assume every memory request will succeed. Validate the corrected behavior under memory pressure before deploying the driver. Microsoft Learn
How to Verify the Fix
- Restart after the targeted correction.
- Repeat the workload associated with the crash.
- Confirm that affected devices and applications work.
- Monitor for at least the uptime interval in which the failure previously appeared.
- If the error returns, preserve the new dump and compare the stack and pool usage.
A successful restart alone does not establish that a recurring allocation problem has been resolved.
Frequently Asked Questions
Does this error prove that the computer needs more RAM?
No. The code identifies a failed must-succeed allocation. Capacity changes should follow diagnosis; they do not correct inappropriate allocation behavior.
Will increasing the page file repair the driver?
No. A page-file adjustment does not change how the driver requests or handles memory. Nonpaged pool must remain in physical memory. Microsoft Learn
Is the driver on the crash stack always the only component involved?
No. Investigators should also examine pool consumption because another component may have contributed to exhaustion. Microsoft Learn
Is Kernel-Power Event ID 41 the same as stop code 0x41?
No. An Event Viewer event ID and a hexadecimal bug-check code are different identifiers. Confirm the actual stop code from the crash details or dump.
Can I fix this with a registry cleaner?
Microsoft’s documented remedy concerns driver behavior and pool analysis. A registry cleaner does not implement that correction.
Conclusion
For MUST_SUCCEED_POOL_EMPTY, identify the requesting driver and examine other significant pool consumers. Apply a supported driver correction and verify it under the workload and uptime conditions that previously produced the crash.
Sources
- Microsoft Learn — Bug Check 0x41: MUST_SUCCEED_POOL_EMPTY.
- Microsoft Learn — POOL_TYPE enumeration.
- Microsoft Learn — FsRtlAllocatePoolWithTag macro.
- Microsoft Learn — !vm.
- Microsoft Learn — !poolused.
- Microsoft Learn — Stop code error or bug check troubleshooting.
- Microsoft Support — Update drivers through Device Manager in Windows.
- Microsoft Support — Windows startup settings.
Was this guide useful?
Your answer helps us keep BISONKB accurate and practical.