Skip to main content

How to Fix a SYSTEM_THREAD_EXCEPTION_NOT_HANDLED Error in Windows

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED Error
(Image credit: Tom's Hardware)

One of the most confusing Blue Screen of Death stop codes,  SYSTEM_THREAD_EXCEPTION_NOT_HANDLED acts as a backstop to normal error handling. Its Microsoft Docs page says “This bug check indicates that a system thread generated an exception that the error handler did not catch.” In my book that makes it equivalent to either “mystery or unrecognized error” (because the error handler couldn’t hand it off to a pre-defined error handling routine” or “error handler error” (because the error handler let an error go by without handling it).

The Windows programming documentation explains that SYSTEM_THREAD_EXCEPTION_NOT_HANDLED commonly includes three well-known exception codes, which shed further light on a bug check or stop code error in Windows. These are:

  • 0x80000002: STATUS_DATATYPE_MISALIGNMENT indicates an unaligned data reference was encountered.
  • 0x80000003: STATUS_BREAKPOINT indicates a breakpoint or ASSERT was encountered when no kernel debugger was attached to the system.
  • 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred.

Of these codes, you are most likely to see only the third and final item. That’s because the other two codes should occur only in pre-release code instrumented for debugging, or when running the code inside a debugger.

Handling SYSTEM_THREAD_EXCEPTION_NOT_HANDLED 

Another common bit of information that emerges when analyzing crash dumps from SYSTEM_THREAD_EXCEPTION_NOT_HANDLED will be a filename such as atikmdag.sys, igdkmd64.sys, or nvldmkm.sys. Astute readers will recognize these names as part of the runtime environment for the AMD ATI, Intel graphics circuitry, and NVIDIA GeForce graphics drivers. Should you see these names, or others like them, chances are that above average that your graphics driver had a hand in the circumstances leading up to the BSOD tagged with this error code.

If that’s the case, you have three basic strategies that you should try, in increasing order of complexity and difficulty:

1. Check to see if a newer version of your graphics driver is available. If so, install it. That will often fix graphics driver issues.

2. If that doesn’t work, try rolling back to the previous version of the driver in Device Manager (you’ll find this option the Properties page, Driver tab, for the corresponding display adapter) 

(Image credit: Tom's Hardware)

Notice the “Roll Back Driver” option is greyed-out here. That means this option is NOT available on the target PC.

3. If roll back isn’t available or doesn’t help, find the maker’s driver downloads page and try the next older version. Repeat until you find one that works. 

One More Driver Trick May Help 

Sometimes, messing around with existing drivers – especially graphics drivers – doesn’t make things better. In that case, you may benefit from a radical clean-up of your graphics environment, followed by a “clean install” of a fresh, new driver. For that purpose, nothing beats the Guru3D tool named Display Driver Uninstaller, aka DDU. As I write this explainer, the current version is 18.0.4.0. The preceding link should always get you to whatever version is most current.

DDU works with both AMD and NVIDIA drivers (you may have to turn to the Intel Support pages for help with Intel graphic drivers). I’ve used it many times myself, and can attest that it does a complete and thorough job of removing all traces of previously installed graphics drivers that it can handle. Be sure to read over the tool’s recommended usage instructions before putting it to work. I can say from experience that this will save time, energy and potential frustration.

What Else to Do About SYSTEM_THREAD_EXCEPTION_NOT_HANDLED?

If the previous suggestions don’t make the  SYSTEM_THREAD_EXCEPTION_NOT_HANDLED stop code go away, you should next try a clean boot. If that helps, something in your startup software is probably related to the problem causing this stop code and you need to follow a process of elimination to figure out what it is.

If clean booting doesn’t help, your next step is to boot your system into Safe Mode. Once you are running in Safe mode, use the built-in DISM (Deployment Image Servicing and Management) command to repair your running Windows image, as follows:

dism /online /cleanup-image /restorehealth

In many cases this will fix Windows image files that may have become damaged or gone missing. Next, please try the following repair:

sfc /scannow

This runs Windows System File Checker (SFC) and will replace any damaged or suspect system files it finds. Both of these commands can take some time to complete, so don’t be surprised if they run half an hour or longer before finishing.

Make Use of Recent Reporting and Intelligence 

If you visit TenForums.com, BleepingComputer.com, Answers.Microsoft.com or the Tom’s Hardware forums and search for the SYSTEM_THREAD_EXCEPTION_NOT_HANDLED error string you will see how often this error has appeared lately. You will also get some insight on how others have approached diagnosis of any underlying causes, and what fixes they’ve tried or used. 

It’s especially helpful to read about fixes that claim success because they might also work for you. Otherwise, unsuccessful fixes are informative, too, because they tell you which repairs to try later rather than sooner (or not at all).

  • closs.sebastien
    hum.. must be 14 years that I didn't have any of those....
    Reply
  • compprob237
    This can also happen when overclocking. It's usually indicating instability with the IMC or RAM. You usually need to increase the voltage to one of these.
    Reply