In simple terms, a pool is a collection of system resources and, in this case, refers to your system’s memory pool. A thread is a small sequence of programmed instructions. The current thread’s request could be invalid for a number of reasons – the allocated memory it’s trying to free might already be freed, it might be using the wrong tag due to which it’s attempting to free memory that’s in use by another component, and so on. Problematic drivers often cause bad requests like these, which ultimately lead to errors such as BAD_POOL_CALLER. We’ve discussed other possible causes, as well as all the appropriate solutions, in the guide below.
What causes the BAD_POOL_CALLER Error?
How to Fix the BAD_POOL_CALLER Error?
If you made any changes to your system right before this BSOD occurred, you could likely fix it by simply reverting that change. Aside from that, the best way to fix this error is to figure out the exact cause and treat the issue at its root.
Determine the Exact Cause
The details of a BSOD are logged at %systemroot%\Minidump. We recommend analyzing this minidump file, as this is the best way to figure out what caused the crash. You can also check the Event Viewer logs if you need further information. Next, you should use the Driver Verifier tool to determine if a faulty driver is present. Note that it’s best to disconnect unnecessary peripherals before running the verifier. Finally, you should also check the memory module and ensure it isn’t the issue. If you’re using multiple RAM sticks, you can take out one of them, look for signs of damage, and insert it into a different slot. If one of the sticks or slots does seem to be problematic, you’ll likely have to replace them. If you’re using only one RAM stick or simply prefer the software route, you can use the run command mdsched.exe instead to run the Windows Memory Diagnostic tool.
Modify Faulty Driver
From the previous step, you should be able to determine the reason for this BSOD. Most often, this will be an outdated or non-responding driver. You should update the problematic driver, but if that doesn’t help, you may have to roll back or uninstall it as well. The steps to do so are listed below:
Update Driver
Roll Back Driver
Uninstall Driver
Update BIOS / UEFI
Outdated firmware is a common culprit behind BSODs. And many users have reported that overclocking led to this error. Updating the BIOS / UEFI resets the overclocking settings to default, so you can essentially kill two birds with one stone. We have detailed articles on updating Gigabyte BIOS, performing a USB BIOS Flashback, and updating BIOS without CPU. Please read these as appropriate for step-by-step instructions regarding the same.
Temporarily Remove Antivirus
A lot of McAfee and Avast users have reported facing this error due to conflict among the antivirus and network drivers. If the logs suggest an antivirus/network issue in your case as well, we recommend first updating the network driver. If you keep facing the BAD_POOL_CALLER error after that, it’s best to uninstall the antivirus at least temporarily. You can use Windows Defender for protection in the meantime, and if the antivirus turns out to be okay, you can always reinstall it later.
Restore / Reset the PC
System restore resets the system files to the state they were when the restore point was created. There have been cases where a corrupt registry caused this BSOD. A system restore will be helpful in similar cases as it also saves a backup of the registry. If you have a system image, you can also use that. But keep in mind that, unlike system restore, a system image will revert everything on the system, including your personal files, to the previous state. With that said, here are the steps to use either one: In rare cases, the restore point/image may be corrupt as well. If so, the final option is to reset the PC. You can do so by selecting Troubleshoot > Reset this PC option in winRE.