*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
THREAD_STUCK_IN_DEVICE_DRIVER_M (100000ea)
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 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
of the bugcheck (this is because the timeout's work item can be delivered and
handled on the second CPU and the same time). If this is the case you will have
to look deeper at the offending thread's stack (e.g. using dds) to determine
spinning code which caused the timeout to occur.
Arguments:
Arg1: 88f21bf0, Pointer to a stuck thread object. Do .thread then kb on it to find
the hung location.
Arg2: 88e6a2b8, Pointer to a DEFERRED_WATCHDOG object.
Arg3: ba50fcbc, Pointer to offending driver name.
Arg4: 00000001, Number of times "intercepted" bugcheck 0xEA was hit (see notes).
Debugging Details:
------------------
ERROR - could not read driver name for bugcheck parameter 3
FAULTING_THREAD: 88f21bf0
FAULTING_IP:
nv4_disp+17a339
bf18c339 ?? ???
IMAGE_NAME: nv4_disp.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 49cd10ab
MODULE_NAME: nv4_disp
FAULTING_MODULE: bf012000 nv4_disp
DEFAULT_BUCKET_ID: GRAPHICS_DRIVER_FAULT
CUSTOMER_CRASH_COUNT: 4
BUGCHECK_STR: 0xEA
PROCESS_NAME: 3DMark06.exe
LAST_CONTROL_TRANSFER: from 00000000 to bf18c339
STACK_TEXT:
b594f780 00000000 e21aff14 b594f8b4 bf18e5dc nv4_disp+0x17a339
STACK_COMMAND: .thread 0xffffffff88f21bf0 ; kb
FOLLOWUP_IP:
nv4_disp+17a339
bf18c339 ?? ???
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: nv4_disp+17a339
FOLLOWUP_NAME: MachineOwner
FAILURE_BUCKET_ID: 0xEA_IMAGE_nv4_disp.dll_DATE_2009_03_27
BUCKET_ID: 0xEA_IMAGE_nv4_disp.dll_DATE_2009_03_27