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
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: ffff9b0d04157440, Pointer to a stuck thread object. Do .thread then kb on it to find
the hung location.
Arg2: 0000000000000000, Pointer to a DEFERRED_WATCHDOG object.
Arg3: 0000000000000000, Pointer to offending driver name.
Arg4: 0000000000000000, Number of times this error occurred. If a debugger is attached,
this error is not always fatal -- see DESCRIPTION below. On the
blue screen, this will always equal 1.
Debugging Details:
------------------
*** WARNING: Unable to verify timestamp for atikmdag.sys
KEY_VALUES_STRING: 1
Key : Analysis.CPU.Sec
Value: 1
Key : Analysis.DebugAnalysisProvider.CPP
Value: Create: 8007007e on DESKTOP-B5A9UVN
Key : Analysis.DebugData
Value: CreateObject
Key : Analysis.DebugModel
Value: CreateObject
Key : Analysis.Elapsed.Sec
Value: 3
Key : Analysis.Memory.CommitPeak.Mb
Value: 74
Key : Analysis.System
Value: CreateObject
ADDITIONAL_XML: 1
DUMP_FILE_ATTRIBUTES: 0x8
Kernel Generated Triage Dump
BUGCHECK_CODE: ea
BUGCHECK_P1: ffff9b0d04157440
BUGCHECK_P2: 0
BUGCHECK_P3: 0
BUGCHECK_P4: 0
FAULTING_THREAD: ffff9b0d04157440
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXPNP: 1 (!blackboxpnp)
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: System
STACK_TEXT:
fffff487`89b467a8 fffff805`49a9a7f5 : 00000000`000000ea ffff9b0d`04157440 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
fffff487`89b467b0 fffff805`49a9a8ca : fffff487`89b46890 fffff805`49a76d9b fffff487`89b46890 fffff805`51571da4 : dxgkrnl!TdrTimedOperationBugcheckOnTimeout+0x45
fffff487`89b46820 fffff805`514c8880 : 0000000a`3e610a34 fffff805`51571da4 00000000`00000000 ffff9b0d`00b63000 : dxgkrnl!TdrTimedOperationDelay+0xca
fffff487`89b46860 0000000a`3e610a34 : fffff805`51571da4 00000000`00000000 ffff9b0d`00b63000 00000000`00989680 : atikmdag+0x68880
fffff487`89b46868 fffff805`51571da4 : 00000000`00000000 ffff9b0d`00b63000 00000000`00989680 00000000`00000001 : 0x0000000a`3e610a34
fffff487`89b46870 00000000`00000000 : ffff9b0d`00b63000 00000000`00989680 00000000`00000001 00000000`00000028 : atikmdag+0x111da4
STACK_COMMAND: .thread 0xffff9b0d04157440 ; kb
SYMBOL_NAME: dxgkrnl!TdrTimedOperationBugcheckOnTimeout+45
MODULE_NAME: dxgkrnl
IMAGE_NAME: dxgkrnl.sys
IMAGE_VERSION: 10.0.17763.1158
FAILURE_BUCKET_ID: 0xEA_IMAGE_dxgkrnl.sys
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {ea458ad2-d5ab-aa6c-7a11-54653c70dfb8}
Followup: MachineOwner
---------