0X4000002D

Fixing 0x4000002D: Driver Leaking Locked I/O Pages

Driver leaking locked I/O pages slows your PC. Find the culprit driver, update it, stop the leak. Here's how.

You're running a heavy workload — maybe a video render, a database query, or a game — and suddenly your PC starts stuttering. The mouse skips, disk activity spikes, and everything takes forever. You check the Event Viewer and see 0x4000002D with the message about a driver leaking locked I/O pages. This one usually shows up after a driver update, a new peripherals install, or a Windows feature update. It's not a crash, but it's a warning that a driver is hogging physical memory that can't be paged out.

What's Actually Happening

When a driver reads or writes data directly to hardware, it locks the memory pages in RAM. That's normal — the hardware needs those pages to stay put. But a buggy driver might lock pages and never release them. Each leak eats a small chunk of your RAM. Over time, the system runs out of free memory, and Windows has to constantly trim working sets, causing the slowdown. It's like a faucet with a slow drip — eventually the sink overflows.

The real fix is to find which driver is leaking and update or replace it. Sometimes you can't update it, and then you have to disable the device or use a workaround. But first, you need to identify the culprit.

Step-by-Step Fix

Step 1: Check Which Driver Is Leaking

Windows doesn't show you the driver name directly in the event log. But you can use PoolMon (Pool Monitor) from the Windows Driver Kit. If you don't have it installed, download the Windows SDK (the version for your Windows, e.g., Windows 11 SDK) and install just the "Debugging Tools" component. PoolMon is in the Debugging Tools folder.

  1. Open a Command Prompt as Administrator.
  2. Navigate to the folder where PoolMon.exe lives (e.g., C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\poolmon.exe).
  3. Run this command to capture a snapshot of the current pool allocations:
    poolmon.exe /p /g
  4. Wait 10 minutes, then press Ctrl+C to stop. You'll see a list of tags (like Inte, NdIs, File).
  5. Run the same command again, but this time pipe the output to a file:
    poolmon.exe /p /g > pool1.txt
  6. Wait another 10 minutes, then stop and run:
    poolmon.exe /p /g > pool2.txt
  7. Compare the two files. Look for tags whose Bytes column grew significantly. That's your leak.

To see which driver uses a specific tag, open the tag-to-driver mapping file tag.txt in the same folder. It's a plain text file that lists tags and their owning drivers. For example, File is the filesystem, Ntfs is NTFS, and Inte is often the Intel network driver.

Step 2: Use Driver Verifier to Confirm

PoolMon gives you a hint, but Driver Verifier can actually catch the exact driver. But be careful — Driver Verifier can crash your system if it finds a problem, so back up your data first.

  1. Type verifier in the Start menu and open it.
  2. Select Create custom settings, then Next.
  3. Check All under "Select individual settings", then Next.
  4. Select Select individual drivers from a list.
  5. Choose the drivers that match the tags you saw in PoolMon (e.g., if it's a network driver, pick the one from your NIC vendor). Don't select all drivers — that can cause a boot loop.
  6. Click Finish and restart your PC.

After the reboot, if the driver leaks, you'll get a blue screen with a message like DRIVER_VERIFIER_DMA_VIOLATION or DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL. That error will name the driver file. Note it down, then restart in Safe Mode and disable Verifier by running verifier /reset.

Step 3: Update or Replace the Culprit Driver

Once you have the driver name, go to the manufacturer's website and download the latest version. If it's a common one like a Realtek network driver or an NVIDIA GPU driver, use the official installer. Don't just rely on Windows Update — it often has older versions.

If you can't find an update, you have two options:

  • Roll back the driver to a previous version via Device Manager. Right-click the device, go to PropertiesDriverRoll Back Driver.
  • Disable the device if you don't absolutely need it. For example, if the leak is from a Wi-Fi adapter but you use Ethernet, disable the Wi-Fi in Device Manager.

Still Failing?

If the problem persists after updating, the driver might be locked by another driver. Check the Event Viewer for the exact time of the error and look for patterns — maybe it happens only when you plug in a specific USB device or when the screen sleeps.

Also, run sfc /scannow in an elevated command prompt. It checks for corrupted system files that could affect driver behavior. If it finds issues, let it fix them, then restart.

If you're on a laptop, check the manufacturer's support page for a BIOS update. Some firmware bugs cause drivers to leak memory — the fix isn't in the driver at all.

Finally, if nothing works, you might be looking at a hardware fault. Faulty RAM can cause drivers to behave erratically. Run a memory test — Windows has one built-in. Type Windows Memory Diagnostic in the Start menu, run it, and let it restart your PC. If it finds errors, replace the RAM sticks.

This error is frustrating because it doesn't crash your system — it just makes everything crawl. But with PoolMon and a little patience, you can track down the leak and get your speed back.

Related Errors in Hardware – Hard Drives
0X00030202 Retry error 0x00030202 on external drives – fix it now 0x80071772 or Event ID 55 ACL Corruption on NTFS Drive – What Actually Works 0X00000022 Fix ERROR_WRONG_DISK (0X00000022) on Windows 10/11 NAS slow transfer speeds over 1GbE network

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.