STATUS_TIMER_NOT_CANCELED (0XC000000C) BSOD on Windows 10/11
You'll see this when a kernel timer fires after a driver tried to cancel it. Usually a buggy driver, especially old anti-cheat or virtualization software.
When This Error Shows Up
You'll see the 0XC000000C stop code — officially STATUS_TIMER_NOT_CANCELED — as a blue screen of death on Windows 10 or 11. It usually happens during driver loading, often right after you install new hardware or update a driver. I've seen it most often with:
- Old anti-cheat drivers (like early versions of EasyAntiCheat or BattlEye) that didn't clean up their timers properly.
- Virtualization software (VMware, VirtualBox, or Hyper-V) that conflicts with Windows' own timer management.
- Custom kernel drivers from 3rd-party hardware — think capture cards, VR headsets, or old audio interfaces.
The crash happens at boot or when a program tries to load the driver. Sometimes it's intermittent: works fine for weeks, then suddenly crashes after a Windows update.
Root Cause: A Timer That Won't Die
What's actually happening here is a kernel API contract violation. Windows has a function called KeCancelTimer that drivers use to stop a pending timer before it fires. If the timer already expired (fired) before the driver calls the cancel function, Windows returns STATUS_TIMER_NOT_CANCELED. The driver is supposed to handle this gracefully — check the return value and do something else. When the driver ignores the returned status or the developer wrote poor error handling, the system bugchecks with 0XC000000C.
The reason step 3 works (disabling the driver) is simple: you remove the broken code path entirely. No driver, no timer, no crash.
Fix It in 5 Steps
This is your best bet. Skip any generic "run SFC" advice — it won't fix driver bugs.
Step 1: Find the Culprit Driver
Open Event Viewer (eventvwr.msc) and go to Windows Logs > System. Look for a BugCheck event with ID 1001. The details will show the bugcheck code 0x0000000c (that's the same as 0XC000000C in decimal). More importantly, it lists the driver name that caused the error in the Parameter4 field. Write that name down. Common ones: easyanticheat.sys, battleye.sys, vmware.sys, vboxdrv.sys.
Step 2: Update or Roll Back the Driver
If the driver is from a known vendor (like an audio interface or capture card), go to the manufacturer's site and download the latest version. But don't just install it — check the release notes. If a recent Windows update caused the crash, the vendor might have a hotfix. If no update exists, roll back to a previous version via Device Manager: right-click the device > Properties > Driver > Roll Back Driver.
Step 3: Disable the Driver (Nuclear Option)
If updating doesn't help or you can't find the vendor, disable the driver. Open an admin Command Prompt and run:
sc query | find "driver_name"
Replace driver_name with the actual name (e.g., easyanticheat). Then run:
sc stop driver_name
sc config driver_name start= disabled
Reboot. If the BSOD stops, you've found the cause. Uninstall the software that installed that driver.
Step 4: Check for Conflicting Virtualization Settings
If the driver is related to virtualization (VirtualBox, VMware), try disabling Hyper-V in Windows Features. Then go into BIOS and disable Intel VT-x or AMD-V. Sounds drastic, but I've seen cases where Windows' own Hyper-V platform fights with third-party hypervisors over timer resources. Reboot after each change.
Step 5: In-Place Upgrade (Last Resort)
If you still can't boot, boot from a Windows installation USB and choose Repair your computer > Troubleshoot > Reset this PC > Keep my files. This reinstalls Windows but keeps your personal data. It replaces kernel files and re-registers drivers. Takes about an hour.
Still Failing? Try These
If the BSOD persists after all that:
- Boot into Safe Mode (
msconfig> Boot > Safe boot) and rundriverquery /v. Look for any driver with a non-Microsoft publisher that you don't recognize. Disable it withsc configas above. - Check for a pending Windows update that might have broken the timer stack. Go to Settings > Windows Update > Update history. If you see a recent update (like KB5006670 or similar), uninstall it.
- Run the Windows Memory Diagnostic tool. Yes, it's rare, but faulty RAM can corrupt kernel timer structures and cause this exact error. Let it run for a full pass — takes about 15 minutes.
Was this solution helpful?