Vista BSOD: THREAD_STUCK_IN_DEVICE_DRIVER (BugCheck ea)
Recently, after resuming my Vista laptop from hibernation, I was greeted with a rather strange wait, followed by a blue screen of death. Analysis of the dump yielded the following:
THREAD_STUCK_IN_DEVICE_DRIVER (ea)
The device driver is spinning in an infinite loop, most likely waiting for hardware to become idle. This usually indicates problem with the hardware itself or with the device driver programming the hardware incorrectly.
If the kernel debugger is connected and running when watchdog detects a timeout condition then DbgBreakPoint() will be called instead of KeBugCheckEx()and detailed message including bugcheck arguments will be printed to the
debugger. This way we can identify an offending thread, set breakpoints in it, and hit go to return to the spinning code to debug it further. Because KeBugCheckEx() is not called the .bugcheck directive will not return bugcheck
information in this case. The arguments are already printed out to the kernel debugger. You can also retrieve them from a global variable via
“dd watchdog!g_WdBugCheckData l5″ (use dq on NT64).
On MP machines (OS builds <= 3790) it is possible to hit a timeout when the spinning thread is interrupted by hardware interrupt and ISR or DPC routine is running at the time
…
Click to continue reading "Vista BSOD: THREAD_STUCK_IN_DEVICE_DRIVER (BugCheck ea)"
Written by «/\/\Ø|ö±ò\/»®© on December 10th, 2007 with no comments.
Read more articles on THREAD_STUCK_IN_DEVICE_DRIVER and BugCheck and debugging and otherSoftware and bsod and vista.


A couple of people, dozen at max, have expressed interest in testing out the 














