6 Replies Latest reply on Jul 31, 2016 11:23 AM by bucktaylor100

    thread stuck in device driver

    bucktaylor100

      Since upgrading to Windows 10 I randomly get this BSOD thread stuck in device driver. The error occurs during bootup after which my laptop reboots and all is well for a while. The issue is happens completely at random but I've narrowed it down to the AMD driver. I have an HP Probook 450 G1 with dual graphic cards. The secondary card is a Radeon 8750M. The driver I was using came directly from HP but it hasn't been updated in a year. I just wiped my laptop and installed Windows 10 version 1607 build 14393 and I thought maybe that would help but it didn't. After installing windows no video drivers were loaded so I went to windowsupdate and it installed a WDM AMD driver from 7/2016 which still has the problem. This has been a problem for over a year and I can't believe AMD has yet to address it. I turned off the hybrid graphics in the BIOS which essentially disables the AMD card and I don't have the issue any more. I had someone analyze the memory dump and they came to the conclusion that it is the AMD driver. I've tried various versions over the past year and they all have the same problem. Can anyone from AMD help?

       

      Analysis of the memory dump.

       

      //Thread which initiated the crash

      1: kd> !locks -v 0xffff8b88d294a6f0

      Resource @ 0xffff8b88d294a6f0    Exclusively owned
          
      Threads: ffff8b88d0b37040-01<*>

           THREAD ffff8b88d0b37040 
      Cid 0004.0014  Teb: 0000000000000000 Win32Thread: 0000000000000000 RUNNING on processor 1
          
      Not impersonating
          
      DeviceMap                 ffffb98f36c16840
          
      Owning Process            ffff8b88d0a95640       Image:         System
          
      Attached Process          N/A            Image:         N/A
          
      Wait Start TickCount      1109           Ticks: 80 (0:00:00:01.250)
          
      Context Switch Count      17             IdealProcessor: 0            
          
      UserTime                  00:00:00.000
          
      KernelTime                00:00:12.000
          
      Win32 Start Address nt!PopIrpWorker (0xfffff80393197ab4)
          
      Stack Init ffffde01345f2c90 Current ffffde01345f2080
          
      Base ffffde01345f3000 Limit ffffde01345ed000 Call 0
          
      Priority 13 BasePriority 13 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5
      *** ERROR: Module load completed but symbols could not be loaded for atikmdag.sys
      *** ERROR: Module load completed but symbols could not be loaded for atikmpag.sys
          
      Child-SP          RetAddr           Call Site
           ffffde01
      `345f2368 fffff801`aee32e0f nt!KeBugCheckEx
           ffffde01
      `345f2370 fffff801`aee32ece dxgkrnl!TdrTimedOperationBugcheckOnTimeout+0x3f
           ffffde01
      `345f23e0 fffff801`b2a5dbd0 dxgkrnl!TdrTimedOperationDelay+0xbe
           ffffde01
      `345f2420 fffff801`b2a522eb atikmdag+0x4dbd0
           ffffde01
      `345f24a0 fffff801`b2abeca7 atikmdag+0x422eb
           ffffde01
      `345f2510 fffff801`b2ac5d72 atikmdag+0xaeca7
           ffffde01
      `345f2590 fffff801`b2ac5c61 atikmdag+0xb5d72
           ffffde01
      `345f25d0 fffff801`b2abe173 atikmdag+0xb5c61
           ffffde01
      `345f2600 fffff801`b2abe099 atikmdag+0xae173
           ffffde01
      `345f2630 fffff801`b2abb46f atikmdag+0xae099
           ffffde01
      `345f2660 fffff801`b2a4ab68 atikmdag+0xab46f
           ffffde01
      `345f2690 fffff801`b2a28d37 atikmdag+0x3ab68
           ffffde01
      `345f26d0 fffff801`b2a2cce1 atikmdag+0x18d37
           ffffde01
      `345f2720 fffff801`b02e7283 atikmdag+0x1cce1
           ffffde01
      `345f2790 fffff801`b02dbf53 atikmpag+0x17283
           ffffde01
      `345f27e0 fffff801`aeedf581 atikmpag+0xbf53
           ffffde01
      `345f2880 fffff801`aeedef60 dxgkrnl!DpiDxgkDdiSetPowerState+0x51
           ffffde01
      `345f28e0 fffff801`aeedf8ce dxgkrnl!DpiFdoSetAdapterPowerState+0x288
           ffffde01
      `345f29c0 fffff801`aeedf0fb dxgkrnl!DpiFdoHandleDevicePower+0x2fe
           ffffde01
      `345f2a50 fffff803`93197c92 dxgkrnl!DpiDispatchPower+0x8b
           ffffde01
      `345f2b70 fffff803`9311a4bd nt!PopIrpWorker+0x1de
           ffffde01
      `345f2c10 fffff803`931cd456 nt!PspSystemThreadStartup+0x41
           ffffde01
      `345f2c60 00000000`00000000 nt!KiStartSystemThread+0x16

      //Resource appears to be some IRP

      1: kd> dc ffff8b88d294a6f0
      ffff8b88
      `d294a6f0  d29c0d70 ffff8b88 d2434f80 ffff8b88  p........OC.....
      ffff8b88`
      d294a700  00000000 00000000 00800001 00000000  ................
      ffff8b88
      `d294a710  00000000 00000000 00000000 00000000  ................
      ffff8b88`
      d294a720  d0b37040 ffff8b88 00000008 00000000  @p..............
      ffff8b88
      `d294a730  00000001 00000000 00000000 00000000  ................
      ffff8b88`
      d294a740  00000000 00000000 00000000 00000000  ................
      ffff8b88
      `d294a750  00000000 00000000 00000001 24d09446  ............F..$
      ffff8b88`
      d294a760  02130008 20707249 00000000 00000000  ....Irp ........

      //Looks like an IRP worker thread

      THREAD ffff8b88d24332c0 
      Cid 0004.01b8  Teb: 0000000000000000 Win32Thread: 0000000000000000 WAIT: (Executive) KernelMode Non-Alertable
          ffff8b88d42310d8 
      NotificationEvent
      Not impersonating
      DeviceMap                 ffffb98f36c16840
      Owning Process            ffff8b88d0a95640       Image:         System
      Attached Process          N/A            Image:         N/A
      Wait Start TickCount      862            Ticks: 327 (0:00:00:05.109)
      Context Switch Count      3161           IdealProcessor: 5            
      UserTime                  00:00:00.000
      KernelTime                00:00:00.250
      Win32 Start Address nt!ExpWorkerThread (0xfffff803930d5c90)
      Stack Init ffffde013591ac90 Current ffffde013591a3f0
      Base ffffde013591b000 Limit ffffde0135915000 Call 0
      Priority 12 BasePriority 12 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5
      Child-SP          RetAddr           : Args to Child                                                           : Call Site
      ffffde01
      `3591a430 fffff803`930b7cdc : 00000000`00000000 00000000`00000001 00000000`00000048 00000000`00000002 : nt!KiSwapContext+0x76
      ffffde01
      `3591a570 fffff803`930b777f : ffff8b88`d24332c0 ffff8b88`d2433400 fffff803`9343b280 00000000`00000000 : nt!KiSwapThread+0x17c
      ffffde01
      `3591a620 fffff803`930b9547 : fffff803`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiCommitThreadWait+0x14f
      ffffde01
      `3591a6c0 fffff803`93136d61 : ffff8b88`d42310d8 ffff8b88`00000000 ffff8b88`d1386000 ffff8b88`00000000 : nt!KeWaitForSingleObject+0x377
      ffffde01
      `3591a770 fffff803`934fd887 : ffff8b88`d2b8da10 ffff8b88`d1386038 ffff8b88`d1386010 00000000`00000000 : nt!PopFxActivateDevice+0x115
      ffffde01
      `3591a7b0 fffff803`934f820f : ffff8b88`d1386010 ffffde01`3591a8e0 00000000`00000002 00000000`00000000 : nt!PipEnumerateDevice+0xab
      ffffde01
      `3591a7e0 fffff803`934f22c2 : ffff8b88`d0ca38d0 00000000`00000001 ffffde01`3591ab19 fffff803`934f897b : nt!PipProcessDevNodeTree+0x19f
      ffffde01
      `3591aa60 fffff803`93173ca6 : 00000001`00000003 00000000`00000000 00000000`00000000 fffff803`9313799c : nt!PiProcessReenumeration+0xa6
      ffffde01
      `3591aab0 fffff803`930d5d79 : ffff8b88`d24332c0 fffff803`9339a320 fffff803`9343b280 ffff8b88`d25a5888 : nt!PnpDeviceActionWorker+0x166
      ffffde01
      `3591ab80 fffff803`9311a4bd : ffffde01`34caa180 00000000`00000080 ffff8b88`d0a95640 ffff8b88`d24332c0 : nt!ExpWorkerThread+0xe9
      ffffde01
      `3591ac10 fffff803`931cd456 : ffffde01`34caa180 ffff8b88`d24332c0 fffff803`9311a47c fffff803`930c8049 : nt!PspSystemThreadStartup+0x41
      ffffde01
      `3591ac60 00000000`00000000 : ffffde01`3591b000 ffffde01`35915000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16

      1: kd> !devnode ffff8b88d1386010
      DevNode 0xffff8b88d1386010 for PDO 0xffff8b88d1385060
       
      Parent 0xffff8b88d1362850   Sibling 0000000000   Child 0000000000  
       
      InstancePath is "PCI\VEN_1002&DEV_6600&SUBSYS_1947103C&REV_00\4&e283bf&0&0008"
       
      ServiceName is "amdkmdap"
       
      State = DeviceNodeEnumeratePending (0x30c)
       
      Previous State = DeviceNodeStarted (0x308)
       
      StateHistory[13] = DeviceNodeStarted (0x308)
       
      StateHistory[12] = DeviceNodeEnumerateCompletion (0x30d)
       
      StateHistory[11] = DeviceNodeEnumeratePending (0x30c)
       
      StateHistory[10] = DeviceNodeStarted (0x308)
       
      StateHistory[09] = DeviceNodeEnumerateCompletion (0x30d)
       
      StateHistory[08] = DeviceNodeEnumeratePending (0x30c)
       
      StateHistory[07] = DeviceNodeStarted (0x308)
       
      StateHistory[06] = DeviceNodeStartPostWork (0x307)
       
      StateHistory[05] = DeviceNodeStartCompletion (0x306)
       
      StateHistory[04] = DeviceNodeStartPending (0x305)
       
      StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
       
      StateHistory[02] = DeviceNodeDriversAdded (0x303)
       
      StateHistory[01] = DeviceNodeInitialized (0x302)
       
      StateHistory[00] = DeviceNodeUninitialized (0x301)
       
      StateHistory[19] = Unknown State (0x0)
       
      StateHistory[18] = Unknown State (0x0)
       
      StateHistory[17] = Unknown State (0x0)
       
      StateHistory[16] = Unknown State (0x0)
       
      StateHistory[15] = Unknown State (0x0)
       
      StateHistory[14] = Unknown State (0x0)
       
      Flags (0x6c000030)  DNF_ENUMERATED, DNF_IDS_QUERIED,
                            DNF_NO_LOWER_DEVICE_FILTERS
      , DNF_NO_LOWER_CLASS_FILTERS,
                            DNF_NO_UPPER_DEVICE_FILTERS
      , DNF_NO_UPPER_CLASS_FILTERS
       
      CapabilityFlags (0x00000003)  DeviceD1, DeviceD2

       

      It looks like an IRP was initiated during the enumeration of the graphics card, the IRP worker thread performed a context switch and waited on the IRP to be completed. The driver looped waiting on the ESRESOURCE. Couldn't find what the actual resource was.