Jump to content

I have a laptop Windows 11 OS. Not sure if it is a hardware or software issue. Attached here is screenshot from speccy hosted on image site. 3 major problem. Whenever startup from cold, it would randomly crash to bluescreen. No issue when restart. Its always during the startup. DPC Watchdog Violation

 

Second question, whenever working on the device, it would suddenly black screen. Power is on. But peripherals are dead such as the pointing device.

 

Third question, i have to constantly plugged in. The moment i pulled the power , it would shut down. Black screen. Not a battery issue. Since i have power cycle it. I will leave it on power and batter set to sleep never. The moment i disconnect power, device would power down.  I do not have a laptop. I have a portable desktop which defeats the purpose of mobility.

 

https://ibb.co/V31DCbf

https://ibb.co/tpFV4xB

https://ibb.co/pbSbYwm

https://ibb.co/gdc6T9w

 

DLOGFILE00010000DUMPT          
Dump stack initialized at UTC: 2024/06/06 06:49:02, local time: 2024/06/06 14:49:02.
#BugCheckCode 0x0000000000000133
#BugCheckP1 0x0000000000000001
#BugCheckP2 0x0000000000001E00
#BugCheckP3 0xFFFFF8036191C340
#BugCheckP4 0x0000000000000000
Progress 0x00000042
Elapsed BugCheck duration 00002732ms
Starting get secondary dump callbacks size.
Progress 0x00000052
Finish get secondary dump callbacks size.
Dump Type: 6, Total Dump Size: 378920463, Secondary Dump Size: 105999.
Starting write of dump header.
Finish write of dump header.
Starting write of kernel bitmap dump header.
Finish write of bitmap dump header.
Starting write of memory dump data.
Elapsed BugCheck duration 00002796ms
Dumping physical memory to disk:  0%
Dumping physical memory to disk:  5%
Dumping physical memory to disk:  10%
Dumping physical memory to disk:  15%
Dumping physical memory to disk:  20%
Dumping physical memory to disk:  25%
Dumping physical memory to disk:  30%
Dumping physical memory to disk:  35%
Dumping physical memory to disk:  40%
Dumping physical memory to disk:  45%
Dumping physical memory to disk:  50%
Dumping physical memory to disk:  55%
Dumping physical memory to disk:  60%
Dumping physical memory to disk:  65%
Dumping physical memory to disk:  70%
Dumping physical memory to disk:  75%
Dumping physical memory to disk:  80%
Dumping physical memory to disk:  85%
Dumping physical memory to disk:  90%
Dumping physical memory to disk:  95%
Dumping physical memory to disk:  100%
Finish write of bitmap dump data. Total pages:92278 Pages written:92278
Progress 0x00000043
Elapsed BugCheck duration 00006413ms
Starting invoking secondary dump callbacks.
Calling NexstGoWirelessButtonDriver secondary callback.
Return from NexstGoWirelessButtonDriver secondary callback.
Writing NexstGoWirelessButtonDriver secondary callback data.
Writing NexstGoWirelessButtonDriver secondary callback data done.
Calling  secondary callback.
Return from  secondary callback.
Writing  secondary callback data.
Writing  secondary callback data done.
Calling  secondary callback.
Return from  secondary callback.
Writing  secondary callback data.
Writing  secondary callback data done.
Calling  secondary callback.
Return from  secondary callback.
Writing  secondary callback data.
Writing  secondary callback data done.
Calling wdiwifi secondary callback.
Return from wdiwifi secondary callback.
Writing wdiwifi secondary callback data.
Writing wdiwifi secondary callback data done.
Calling wdiwifi secondary callback.
Return from wdiwifi secondary callback.
Writing wdiwifi secondary callback data.
Writing wdiwifi secondary callback data done.
Calling \Device\DxgKrnl secondary callback.
Return from \Device\DxgKrnl secondary callback.
Writing \Device\DxgKrnl secondary callback data.
Writing \Device\DxgKrnl secondary callback data done.
Calling CRASHDUMP secondary callback.
Return from CRASHDUMP secondary callback.
Writing CRASHDUMP secondary callback data.
Writing CRASHDUMP secondary callback data done.
Calling PortDriverStandard secondary callback.
Return from PortDriverStandard secondary callback.
Writing PortDriverStandard secondary callback data.
Writing PortDriverStandard secondary callback data done.
Calling Wdf01000 secondary callback.
Return from Wdf01000 secondary callback.
Writing Wdf01000 secondary callback data.
Writing Wdf01000 secondary callback data done.
Calling blackbox - CI secondary callback.
Return from blackbox - CI secondary callback.
Writing blackbox - CI secondary callback data.
Writing blackbox - CI secondary callback data done.
Calling blackbox - NTFS secondary callback.
Return from blackbox - NTFS secondary callback.
Writing blackbox - NTFS secondary callback data.
Writing blackbox - NTFS secondary callback data done.
Calling blackbox - BSD secondary callback.
Return from blackbox - BSD secondary callback.
Writing blackbox - BSD secondary callback data.
Writing blackbox - BSD secondary callback data done.
Calling SecureKernelFailureLog secondary callback.
Return from SecureKernelFailureLog secondary callback.
Writing SecureKernelFailureLog secondary callback data.
Writing SecureKernelFailureLog secondary callback data done.
Calling SecureKernelCrashdumpArea secondary callback.
Return from SecureKernelCrashdumpArea secondary callback.
Writing SecureKernelCrashdumpArea secondary callback data.
Writing SecureKernelCrashdumpArea secondary callback data done.
Calling secondary multi-part dump callbacks.
Starting SMBiosData multi-part secondary callback.
Finish SMBiosData multi-part secondary callback.
Starting SMBiosRegistry multi-part secondary callback.
Finish SMBiosRegistry multi-part secondary callback.
Starting SMBiosRegisters multi-part secondary callback.
Finish SMBiosRegisters multi-part secondary callback.
Starting SMBiosDataACPI multi-part secondary callback.
Finish SMBiosDataACPI multi-part secondary callback.
Starting TRIAGEDUMPDATA multi-part secondary callback.
Finish TRIAGEDUMPDATA multi-part secondary callback.
Starting PCI multi-part secondary callback.
Finish PCI multi-part secondary callback.
Starting Etw multi-part secondary callback.
Finish Etw multi-part secondary callback.
Finish calling secondary multi-part dump callbacks.
Progress 0x00000045
Finish invoking secondary dump callbacks.
Starting invoking dump complete callbacks.
Progress 0x00000046
Finish invoking dump complete callbacks.
Dump ended at UTC: 2024/06/06 06:49:02, local time: 2024/06/06 14:49:02.
Elapsed BugCheck duration 00006434ms
Dump completed successfully.
Progress 0x00000053
                                                                                                                                                                                                                                                                                                                                                                         

 

Please advice.

I appreciate that you read this. Thank you in advance.

Link to comment
https://linustechtips.com/topic/1572766-dpc-watchdog-violation/
Share on other sites

Link to post
Share on other sites

Go to C:\Windows\Minidump and check if you have any minidump files. If you do, go back to the Windows folder and copy the Minidump folder itself to the Downloads folder (You can use the desktop if you don't have OneDrive syncing files). Zip the copied folder and attach it to a post. Please follow the instructions to the letter as Windows doesn't like you messing with files in this location. Because of this particular crash we might not be able to use minidumps to figure out the cause, but fingers crossed. Full explanation below.

 

You can think of DPC as the CPU's time schedule. Drivers and processes "book time" at certain priorities, they are then put in a queue for a CPU thread and wait for execution. If something doesn't follow the rules, you crash. It's really hard for the OS to know which driver/process actually did the bad thing here. When you open these files in the debugger, it shows you the CPU thread queue of where Windows thinks the issue was. Windows guesses wrong very often.

 

With minidumps, Windows removes all data it doesn't think we need. So it removes all the other DPC queues. The way we normally have to debug these is to look at all the DPC queues of 2-4 kernel dump files and compare which drivers are loaded. If every crash has the same driver/process in one of the queues across all the dump files, it's probably that one. We can't do that with minidumps most of the time because Windows has discarded that data.

 

If we end up needing kernel dumps we need 2-4 of them. Kernel dumps are much larger so Windows just saves the latest one. After each crash you need to copy out the kernel dump file to a different location so that it's not overwritten. Depending on the size, you might need to zip each one individually. Usually they are less than 1GB after zipping, but I've seen up to 30GB after zipping (70GB unzipped).

 

Kernel dumps are stored right in C:\Windows and are called Memory.dmp. If you don't have any kernel dumps, follow this guide to change the dump type to Automatic Memory Dump. If it's already on that setting, change it to Kernel Memory Dump. 

Link to comment
https://linustechtips.com/topic/1572766-dpc-watchdog-violation/#findComment-16431629
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×