You're running a Windows app, maybe a game or a background utility, and suddenly it throws an error with code 0x00000101 and the message “The delay completed because the thread was alerted.” This typically pops up in event logs or as a dialog when a thread calls a delay function like Sleep or KeDelayExecutionThread and gets interrupted early. The classic trigger is an antivirus or a system service sending an alert to the thread, often during a scan or when the system is under heavy load. You might also see it after a Windows update, especially on older Windows 7 or Windows 10 builds.
Root Cause: It's Not an Error, It's a Status
Here's the thing: STATUS_ALERTED isn't a real error. It's a status code that Windows returns when a thread's wait is cut short because another thread sent an alert. Think of it like a wake-up call. A thread might be told to sleep for 10 seconds, but if an alert arrives after 3 seconds, the sleep ends early and the function returns STATUS_ALERTED. The thread didn't fail; it just got interrupted.
Most well-behaved apps handle this gracefully. They check the return value and continue. But some sloppy code treats any non-zero return as a fatal error and crashes or logs it as a problem. That's why you see the error message even though nothing's actually broken on the system level.
When It's a Real Problem
Sometimes STATUS_ALERTED appears alongside a blue screen or a hang. That's not because of the status itself, but because a driver or kernel component didn't handle the early wake-up properly, leading to a race condition. A common scenario: a device driver waiting for I/O gets alerted, then tries to access a resource that's already been freed. That's a bug in the driver, not in Windows.
The Fix: Step by Step
If you're seeing this in an app, the first step is to ignore it if the app keeps working. But if it's crashing or causing hangs, here's a systematic approach that actually addresses the root cause.
- Update the offending app or driver. The real fix is to get a version that handles
STATUS_ALERTEDproperly. Check the app's official site or Windows Update for driver updates. For example, if it's a GPU driver, update from NVIDIA or AMD directly. - Temporarily disable antivirus real-time scanning. Antivirus often sends alerts to threads. If the error disappears, add an exclusion for the app's folder and re-enable scanning.
- Run a system file check. Corrupted system files can cause weird thread behavior. Open an elevated Command Prompt and run
. Let it finish, then restart.sfc /scannow - Check for pending Windows updates. Some updates fix kernel bugs related to alert handling. Go to Settings > Update & Security > Windows Update and install all updates.
- If it's a blue screen, disable driver verifier or use Driver Verifier to identify the faulty driver. Run
in an admin prompt and follow the prompts to check unsigned or suspicious drivers. This is advanced, so only do it if you're comfortable.verifier
If It Still Fails
If the error persists after all that, you're likely dealing with a persistent driver issue or a hardware flaw. First, check the Windows Event Viewer under System logs for any warnings about a specific driver. The source is often Kernel-Power or ntoskrnl. Note the driver name, then search for it with the error code.
Next, run a hardware diagnostic. Failing RAM can cause subtle thread corruption. Use mdsched.exe (Windows Memory Diagnostic) and let it run overnight. If it finds errors, replace the RAM sticks.
Finally, if you're on an older system, try a clean boot to isolate third-party services. Use msconfig, disable all non-Microsoft services, and see if the error disappears. If it does, re-enable services one by one until you find the culprit.
One more thing: if the error only appears in event logs and doesn't affect anything, leave it alone. Chasing a harmless status code is a waste of time. The most common outcome of STATUS_ALERTED is a log entry, not a crash. So weigh the effort against the impact.