Lenovo Yoga 7 Gen 7: DPC Watchdog Violation (Bugcheck code: 0x133)

BSOD (MEMORY DDMMYYYY HHMM) - Google Drive
BSOD (MEMORY DDMMYYYY HHMM) - Google Drive ( @ubuysa 111124-20906-01.dmp 's complete memory dump is named MEMORY 11112024 2333)
BSOD (MEMORY DDMMYYYY HHMM) - Google Drive
All my complete memory files are compressed to zip (ultra compression). If the compression screwed up anything, please ask me to reupload.
I just upload all these just in case you guys need it.

*Correction: The Lenovo VGA driver install the AMD software too but for some reason it does not appear in control panel. The version is way older (23.10.24.02) released at 23/8/2023.
 
Last edited:
Any news?

From event viewer (system), I found these warnings right before the BSOD:
Event ID: 219, source: kernel-PnP: \Driver\WudfRd failed to load for the device ROOT\WINDOWSHELLOFACESOFTWAREDRIVER\0000.
Event ID: 219, source: kernel-PnP: \Driver\WudfRd failed to load for the device HID\ITE8350&Col02\4&39e466f8&0&0001.
Event ID: 6147, source: LSA (LsaSrv): Credential Guard is configured to run, but is not licensed. Credential Guard was not started.
Other ten--> Event ID: 6155, source: LSA (LsaSrv)

This one ITE8350&Col02\4&39e466f8&0&0001 should be HID Sensor Collection V2; this is listed in speccy under AMD I2C Controller --> I2C HID Device.
I already sent you its link in 12th post.
 

Attachments

The first minidump blames mtkwl6ex.sys.
Let's try to use the one available in lenovo support: WLAN Driver (Realtek, Mediatek) for Windows 11 (64-bit) - Yoga 7 14ARB7 - Type 82QF
(Realtek_WLAN_8852BE_6001.15.123.302_Mediatek_WLAN_22.31.2.550)

Read More:
 
I think we need to enable Driver Verifier here. I've downloaded the most recent kernel dump and used that to extract the WMI trace data and extracted that into a form that the Windows Performance Analyzer (WPA) can read. Using WPA I can then get a tabular listing of all the DPCs that were running at the time and thus sort them into run-time order. Doing that produces the following display...

3GrJlDX.jpg


The longest running DPC is for Wdf01000.sys, which ran for 6.74ms or 674μs. Microsoft recommends that no DPC runs for longer that 100μs. Wdf01000.sys is the high-level driver for the Windows Driver Foundation and it manages all drivers that use WDF libraries, including third-party drivers. I thus suspect that we may be looking for a rogue third-party driver that uses the WDF libraries, and Driver Verifier is the way to trap that...

Driver Verifier subjects selected drivers (typically all third-party drivers) to extra tests and checks every time they are called. These extra checks are designed to uncover drivers that are misbehaving. If any selected driver fails any of the Driver Verifier tests/checks then Driver Verifier will BSOD. The resulting minidump should contain enough information for us to identify the flaky driver. It's thus essential to keep all minidumps created whilst Driver Verifier is enabled.

To enable Driver Verifier do the following:

1. Take a System Restore point and/or take a disk image of your system drive (with Acronis, Macrium Reflect, or similar). It is possible that Driver Verifier may BSOD a driver during the boot process (some drivers are loaded during boot). If that happens you'll be stuck in a boot-BSOD loop.

If you should end up in a boot-BSOD loop, boot the Windows installation media and use that to run system restore and restore to the restore point you took, to remove Driver Verifier and get you booting again. Alternatively you can use the Acronis, Macrium Reflect, or similar, boot media to restore the disk image you took.

Please don't skip this step. it's the only way out of a Driver Verifier boot-BSOD loop.

2. Start the Driver Verifier setup dialog by entering the command verifier in either the Run command box or in a command prompt.

3. On that initial dialog, click the radio button for 'Create custom settings (for code developers)' - the second option - and click the Next button.

4. On the second dialog check (click) the checkboxes for the following tests...
  • Special Pool
  • Force IRQL checking
  • Pool Tracking
  • Deadlock Detection
  • Security Checks
  • Miscellaneous Checks
  • Power framework delay fuzzing
  • DDI compliance checking
Then click the Next button.

5. On the next dialog click the radio button for 'Select driver names from a list' - the last option - and click the Next button.

6. On the next dialog click on the 'Provider' heading, this will sort the drivers on this column (it makes it easier to isolate Microsoft drivers).

7. Now check (click) ALL drivers that DO NOT have Microsoft as the provider (ie. check all third-party drivers).

8. Then, on the same dialog, check the following Microsoft drivers (and ONLY these Microsoft drivers)...
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
These are high-level Microsoft drivers that manage lower-level third-party drivers that we otherwise wouldn't be able to trap. That's why they're included.

9. Now click Finish and then reboot. Driver Verifiier will be enabled.

Be aware that Driver Verifier will remain enabled across all reboots and shutdowns. It can only be disabled manually.

Also be aware that we expect BSODs. Indeed, we want BSODs, to be able to identify the flaky driver(s). You MUST keep all minidumps created whilst Driver Verifier is running, so disable any disk cleanup tools you may have.

10. Leave Driver Verifier running for 48 hours, use your PC as normal during this time, but do try and make it BSOD. Use every game or app that you normally use, and especially those where you have seen it BSOD in the past. If Windows doesn't automatically reboot after each BSOD then just reboot as normal and continue testing. The Driver Verifier generated BSODs are these...
  • 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
  • 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
  • 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
  • 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
  • 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
  • 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
If you see any of these BSOD types then you can disable Driver Verifier early because you'll have caught a misbehaving driver.

Note: Because Driver Verifier is doing extra work each time a third-party driver is loaded you will notice some performance degradation with Driver Verifier enabled. This is a price you'll have to pay in order to locate any flaky drivers. And remember, Driver Verifier can only test drivers that are loaded, so you need to ensure that every third-party driver gets loaded by using all apps, features and devices.

11. To turn Driver Verifier off enter the command verifier /reset in either Run command box or a command prompt and reboot.

Should you wish to check whether Driver Verifier is enabled or not, open a command prompt and enter the command verifier /query. If drivers are listed then it's enabled, if no drivers are listed then it's not.

12. When Driver Verifier has been disabled, navigate to the folder C:\Windows\Minidump and locate all .dmp files in there that are related to the period when Driver Verifier was running (check the timestamps). Zip these files up if you like, or not as you choose. Upload the file(s) to the cloud with a link to it/them here (be sure to make it public).
 

Attachments

You haven't had a Driver Verifier triggered dump yet, so we still don't know whether there is a flaky third-party driver there. However, the dump for the most recent BSOD you had is similar to others from earlier. It's also a DPC_WATCHDOG_VIOLATION, which means that a DPC (the back-end of device interrupt processing) ran for too long. This one is clearly a graphics operation, we see the Windows DirectX kernel drive dxgkrnl.sys called and, delving a bit deeper, we see the AMD graphics drive amdkmdag.sys called too.

The version of amdkmdag.sys that you have installed is over a year old...
Code:
1: kd> lmvm amdkmdag
Browse full module list
start             end                 module name
fffff80c`ec7b0000 fffff80c`f2720000   amdkmdag T (no symbols)           
    Loaded symbol image file: amdkmdag.sys
    Image path: \SystemRoot\System32\DriverStore\FileRepository\u0395563.inf_amd64_dc0973da297e2d3c\B395243\amdkmdag.sys
    Image name: amdkmdag.sys
    Browse all global symbols  functions  data  Symbol Reload
    Timestamp:        Wed Aug 23 11:29:27 2023 (64E5C367)
    CheckSum:         05F30BF0
    ImageSize:        05F70000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
That's the latest version according to the Lenovo website for your 14ARB7 Yoga laptop. There is a BIOS update that's more recent than the version you have. With AMD processors it's important to keep the AGESA microcode, shipped in BIOS updates, up to date, so it may be worth flashing that BIOS version. Make sure your battery is fully charged before you do this and keep it plugged into the mains charger whilst you do this. I don't see any other driver updates on that Lenovo website, buit it may be worth running the AMD Driver and Support tool to see whether that finds any later drivers.

Keep Driver Verifier enabled for now, but it's important that you use every device and feature available, so do use all your apps and devices as much as you can. Because Driver Verifier can only check drivers as they are loaded it's vital to get every driver loaded at some point.
 
I used to install the latest AMD Software but roll back to drivers by Lenovo (see #2). I don't see any differences as I have BSOD with both newer and old drivers. Do you want me to reinstall the AMD Software?
Regarding BIOS, I already installed the latest version. (K5CN44W released at 23/4/2024 according to Lenovo but System Information says its 22/1/2024)Screenshot 2024-11-22 182714.webp
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top