STATUS_BAD_INITIAL_PC (0XC000000A) Thread Fix
STATUS_BAD_INITIAL_PC means Windows couldn't start a thread because the entry point address was garbage — usually caused by a corrupted app or driver.
Quick answer for pros: Reinstall or update the crashing app. If that fails, run sfc /scannow in an admin prompt, then check your antivirus logs — it's often a false positive that corrupts thread entry points. If it's a driver, roll it back in Device Manager.
STATUS_BAD_INITIAL_PC (0xC000000A) shows up when the kernel's thread creation function — NtCreateThread — gets handed a starting address that points to invalid memory. The culprit is almost always a corrupt executable or a third-party driver that's patching the thread start address mid-flight. I've seen this most often after a failed update, a buggy antivirus scan that quarantines part of a running app, or a memory scribble from a faulty driver. You'll usually see it as a crash in Event Viewer under Application or System logs, often paired with a failing module name.
Fix Steps for STATUS_BAD_INITIAL_PC
- Note the crashing process. Open Event Viewer, navigate to Windows Logs > Application, and look for the error. The source will be "Application Error" or "Windows Error Reporting". The failing module name (e.g.,
chrome.exeornvlddmkm.sys) tells you what needs a reinstall or rollback. - Reinstall the crashing application. Uninstall it from Control Panel, reboot, then grab the latest version from the official source. Don't use a backup copy — corruption can persist in cached files.
- Run System File Checker. Open Command Prompt as admin and run:
This checks core Windows files. If it finds corruption, runsfc /scannowDISM /Online /Cleanup-Image /RestoreHealthnext, thensfc /scannowagain. - Check your antivirus. Temporarily disable real-time protection (or uninstall third-party AV if it's aggressive like McAfee or Norton). If the error stops, exclude the app's folder in your AV settings, then re-enable protection. False positives on thread-injection patterns are common here.
- Roll back recent driver updates. If you updated a graphics or chipset driver before the error showed, go to Device Manager, find the device, right-click > Properties > Driver > Roll Back Driver. Reboot and test.
- Run a clean boot. This strips out all non-Microsoft services and startup items:
Select Selective Startup, uncheck Load startup items, then Services tab > Hide all Microsoft services > Disable all. Apply, reboot. If the error stops, enable services one by one until you find the culprit.msconfig
Alternative Fixes If the Main Steps Don't Work
- Use Sysinternals Process Monitor. Filter for
Result is BAD_INITIAL_PCorProcess Name contains the crashing app. You'll see the stack trace — the lastCreateThreadcall with an invalid address. This points to the exact DLL or driver doing the damage. - Check for memory corruption. Run
mdsched.exeto test RAM. Bad memory can scramble thread start addresses, though this is less common. Let it run overnight — don't trust a quick pass. - System Restore. If you have a restore point from before the error started, roll back. Type
rstruiin Run, pick a point, let it complete.
Prevention Tip
Keep a system restore point before any driver update or major app install. Also, if you're using third-party antivirus, configure it to exclude your development or gaming folders from real-time scanning — those are prime triggers for false positives on thread creation. I've seen this error drop to near zero on machines that follow those two rules.
Was this solution helpful?