microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.39k stars 819 forks source link

several DCP_WATCHDOG_VIOLATIONS Blue-Screens-of-Death since installing WSL2 - when NOT using it #11504

Closed LowLevelMahn closed 5 months ago

LowLevelMahn commented 6 months ago

Windows Version

Microsoft Windows [Version 10.0.19045.4291]

WSL Version

2.1.5.0

Are you using WSL 1 or WSL 2?

Kernel Version

5.15.146.1-2

Distro Version

SUSE Tumbleweed

Other Software

Docker Desktop 4.29.0

Repro Steps

no idea - it happens sometimes when using WSL2 or even when days of no use of it

even not using WSL2 activly - there are days were i didn't use wsl -d [distro] at all - my installed Docker is unused for month now

i saw my last Blue-Screen-of-Death years ago - since installing WSL2 several in the last days - without any other system change

Expected Behavior

Not having serveral BSOD while in meetings with my customer - i got 2 in the last hour when not using WSL2 at all

Actual Behavior

BSOD with DCP_WATCHDOG_VIOLATIONS

Diagnostic Logs

No response

github-actions[bot] commented 6 months ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute [collect-wsl-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1) in an **administrative powershell prompt**: ``` Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force .\collect-wsl-logs.ps1 ``` The scipt will output the path of the log file once done. Once completed please upload the output files to this Github issue. [Click here for more info on logging](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#8-collect-wsl-logs-recommended-method) If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

LowLevelMahn commented 6 months ago

i can't log the run of WSL2 because its often not running at all when the Blue-Screen happens - but my Blue-Screen rating went from Zero over years to 10 or more in the last 2 Weeks - after installing WSL2 and there are other users having the same BSOD while NOT using WSL2

i activated the Kernel-Crash dump as explained in https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#10-reporting-a-windows-crash-bsod and wait for the next crash to the the dump

LowLevelMahn commented 6 months ago

got a Windows BSOD for the 6. time today !?!?!?!

i don't know how to send 500MB of dump file to secure@microsoft.com my mailserver does not allows this size

LowLevelMahn commented 6 months ago

analyzed the MEMORY.DMP with WinDbg

it seems that my Blutooth stack got problems - but i've didn't changed that in any form - only installing WSL2 - could that be someway related - close the issue if not

` ***** Preparing the environment for Debugger Extensions Gallery repositories ** ExtensionRepository : Implicit UseExperimentalFeatureForNugetShare : true AllowNugetExeUpdate : true NonInteractiveNuget : true AllowNugetMSCredentialProviderInstall : true AllowParallelInitializationOfLocalRepositories : true

EnableRedirectToV8JsProvider : false

-- Configuring repositories ----> Repository : LocalInstalled, Enabled: true ----> Repository : UserExtensions, Enabled: true

Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds

***** Waiting for Debugger Extensions Gallery to Initialize **

Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.125 seconds ----> Repository : UserExtensions, Enabled: true, Packages count: 0 ----> Repository : LocalInstalled, Enabled: true, Packages count: 41

Microsoft (R) Windows Debugger Version 10.0.27553.1004 AMD64 Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [D:\temp\MEMORY.DMP] Kernel Bitmap Dump File: Kernel address space is available, User address space may not be available.

Symbol search path is: srv* Executable search path is: Windows 10 Kernel Version 19041 MP (16 procs) Free x64 Product: WinNt, suite: TerminalServer SingleUserTS Edition build lab: 19041.1.amd64fre.vb_release.191206-1406 Kernel base = 0xfffff80129e00000 PsLoadedModuleList = 0xfffff8012aa2a790 Debug session time: Wed Apr 24 15:04:17.007 2024 (UTC + 2:00) System Uptime: 0 days 3:31:26.687 Loading Kernel Symbols ............................................................... .............Page 125d08 not present in the dump file. Type ".hh dbgerr004" for details ................................................... ................................................................ ...................................... Loading User Symbols

Loading unloaded module list ...... For analysis of this file, run !analyze -v nt!KeBugCheckEx: fffff8012a1fda40 48894c2408 mov qword ptr [rsp+8],rcx ss:0018:fffff80128c42c90=0000000000000133 0: kd> !analyze -v


DPC_WATCHDOG_VIOLATION (133) The DPC watchdog detected a prolonged run time at an IRQL of DISPATCH_LEVEL or above. Arguments: Arg1: 0000000000000000, A single DPC or ISR exceeded its time allotment. The offending component can usually be identified with a stack trace. Arg2: 0000000000000501, The DPC time count (in ticks). Arg3: 0000000000000500, The DPC time allotment (in ticks). Arg4: fffff8012aafb320, cast to nt!DPC_WATCHDOG_GLOBAL_TRIAGE_BLOCK, which contains additional information regarding this single DPC timeout

Debugging Details:




Either you specified an unqualified symbol, or your debugger doesn't have full symbol information. Unqualified symbol resolution is turned off by default. Please either specify a fully qualified symbol module!symbolname, or enable resolution of unqualified symbols by typing ".symopt- 100". Note that enabling unqualified symbol resolution with network symbol server shares in the symbol path may cause the debugger to appear to hang for long periods of time when an incorrect symbol name is typed or the network symbol server is down.


For some commands to work properly, your symbol path must point to .pdb files that have full type information.


Certain .pdb files (such as the public OS symbols) do not contain the required information. Contact the group that provided you with these symbols if you need this command to work.


Type referenced: TickPeriods



KEY_VALUES_STRING: 1

Key  : Analysis.CPU.mSec
Value: 1983

Key  : Analysis.Elapsed.mSec
Value: 2001

Key  : Analysis.IO.Other.Mb
Value: 14

Key  : Analysis.IO.Read.Mb
Value: 0

Key  : Analysis.IO.Write.Mb
Value: 31

Key  : Analysis.Init.CPU.mSec
Value: 890

Key  : Analysis.Init.Elapsed.mSec
Value: 35818

Key  : Analysis.Memory.CommitPeak.Mb
Value: 108

Key  : Bugcheck.Code.KiBugCheckData
Value: 0x133

Key  : Bugcheck.Code.LegacyAPI
Value: 0x133

Key  : Bugcheck.Code.TargetModel
Value: 0x133

Key  : Failure.Bucket
Value: 0x133_DPC_BTHUSB!WPP_RECORDER_AND_TRACE_SF_qsDd

Key  : Failure.Hash
Value: {1d6b9f42-9f5b-6d16-91fa-1d6f87dfbed3}

Key  : Hypervisor.Enlightenments.Value
Value: 68673420

Key  : Hypervisor.Enlightenments.ValueHex
Value: 417df8c

Key  : Hypervisor.Flags.AnyHypervisorPresent
Value: 1

Key  : Hypervisor.Flags.ApicEnlightened
Value: 0

Key  : Hypervisor.Flags.ApicVirtualizationAvailable
Value: 1

Key  : Hypervisor.Flags.AsyncMemoryHint
Value: 0

Key  : Hypervisor.Flags.CoreSchedulerRequested
Value: 0

Key  : Hypervisor.Flags.CpuManager
Value: 1

Key  : Hypervisor.Flags.DeprecateAutoEoi
Value: 1

Key  : Hypervisor.Flags.DynamicCpuDisabled
Value: 1

Key  : Hypervisor.Flags.Epf
Value: 0

Key  : Hypervisor.Flags.ExtendedProcessorMasks
Value: 1

Key  : Hypervisor.Flags.HardwareMbecAvailable
Value: 1

Key  : Hypervisor.Flags.MaxBankNumber
Value: 0

Key  : Hypervisor.Flags.MemoryZeroingControl
Value: 0

Key  : Hypervisor.Flags.NoExtendedRangeFlush
Value: 0

Key  : Hypervisor.Flags.NoNonArchCoreSharing
Value: 1

Key  : Hypervisor.Flags.Phase0InitDone
Value: 1

Key  : Hypervisor.Flags.PowerSchedulerQos
Value: 0

Key  : Hypervisor.Flags.RootScheduler
Value: 0

Key  : Hypervisor.Flags.SynicAvailable
Value: 1

Key  : Hypervisor.Flags.UseQpcBias
Value: 0

Key  : Hypervisor.Flags.Value
Value: 21631230

Key  : Hypervisor.Flags.ValueHex
Value: 14a10fe

Key  : Hypervisor.Flags.VpAssistPage
Value: 1

Key  : Hypervisor.Flags.VsmAvailable
Value: 1

Key  : Hypervisor.RootFlags.AccessStats
Value: 1

Key  : Hypervisor.RootFlags.CrashdumpEnlightened
Value: 1

Key  : Hypervisor.RootFlags.CreateVirtualProcessor
Value: 1

Key  : Hypervisor.RootFlags.DisableHyperthreading
Value: 0

Key  : Hypervisor.RootFlags.HostTimelineSync
Value: 1

Key  : Hypervisor.RootFlags.HypervisorDebuggingEnabled
Value: 0

Key  : Hypervisor.RootFlags.IsHyperV
Value: 1

Key  : Hypervisor.RootFlags.LivedumpEnlightened
Value: 1

Key  : Hypervisor.RootFlags.MapDeviceInterrupt
Value: 1

Key  : Hypervisor.RootFlags.MceEnlightened
Value: 1

Key  : Hypervisor.RootFlags.Nested
Value: 0

Key  : Hypervisor.RootFlags.StartLogicalProcessor
Value: 1

Key  : Hypervisor.RootFlags.Value
Value: 1015

Key  : Hypervisor.RootFlags.ValueHex
Value: 3f7

Key  : SecureKernel.HalpHvciEnabled
Value: 0

Key  : WER.OS.Branch
Value: vb_release

Key  : WER.OS.Version
Value: 10.0.19041.1

BUGCHECK_CODE: 133

BUGCHECK_P1: 0

BUGCHECK_P2: 501

BUGCHECK_P3: 500

BUGCHECK_P4: fffff8012aafb320

FILE_IN_CAB: MEMORY.DMP

DPC_TIMEOUT_TYPE: SINGLE_DPC_TIMEOUT_EXCEEDED

TRAP_FRAME: fffff80128c329e0 -- (.trap 0xfffff80128c329e0) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=fffff80144ee0338 rbx=0000000000000000 rcx=0000000000000000 rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000 rip=fffff80144ed85e0 rsp=fffff80128c32b70 rbp=000000000000001b r8=0000000000000003 r9=ffff980ca253a000 r10=000000000000001b r11=0000000000000000 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl nz na po nc BTHUSB!WPP_RECORDER_AND_TRACE_SF_qsDd+0xdc: fffff801`44ed85e0 48ffc3 inc rbx Resetting default scope

BLACKBOXBSD: 1 (!blackboxbsd)

BLACKBOXNTFS: 1 (!blackboxntfs)

BLACKBOXPNP: 1 (!blackboxpnp)

BLACKBOXWINLOGON: 1

PROCESS_NAME: System

STACK_TEXT:
fffff80128c42c88 fffff8012a234e70 : 0000000000000133 0000000000000000 0000000000000501 0000000000000500 : nt!KeBugCheckEx fffff80128c42c90 fffff8012a050fdd : 00002995f8ddcb9d fffff801274ed180 0000000000000246 00000000000c63ac : nt!KeAccumulateTicks+0x1e70b0 fffff80128c42cf0 fffff8012a049511 : 0000000000000000 0000000000076276 fffff801274ed180 0000000000000001 : nt!KiUpdateRunTime+0x5d fffff80128c42d40 fffff8012a04b3d3 : fffff801274ed180 0000000000000000 fffff8012aa31898 0000000000000000 : nt!KiUpdateTime+0x4a1 fffff80128c42e80 fffff8012a0485e2 : fffff80128c329e0 fffff80128c32a60 fffff80128c32a00 0000000000000002 : nt!KeClockInterruptNotify+0x2e3 fffff80128c42f30 fffff8012a112d45 : 0000001d89ddf49d fffff8012aaf3ae0 fffff8012aaf3b90 ffff4fe8b939e68c : nt!HalpTimerClockInterrupt+0xe2 fffff80128c42f60 fffff8012a1ffa7a : fffff80128c32a60 fffff8012aaf3ae0 0000000000000000 0000000000000000 : nt!KiCallInterruptServiceRoutine+0xa5 fffff80128c42fb0 fffff8012a2002a7 : 0000000057543201 0000000025c610b4 ffff980ca2517010 0000000000c18519 : nt!KiInterruptSubDispatchNoLockNoEtw+0xfa fffff80128c329e0 fffff80144ed85e0 : 0000000000000008 000000000000001a 0000000000000200 fffff80144ed84ed : nt!KiInterruptDispatchNoLockNoEtw+0x37 fffff80128c32b70 fffff80144ed9320 : ffff980cb9b8fda0 0000000000000200 ffff980ca2517010 fffff80128c32ca0 : BTHUSB!WPP_RECORDER_AND_TRACE_SF_qsDd+0xdc fffff80128c32c00 fffff80144ed80c2 : ffff980ca2517000 ffff980c00000003 ffff980cb76fa010 ffff980cb33cddd0 : BTHUSB!BthUsb_ScoReadUrbDone+0x130 fffff80128c32cb0 fffff80144ed915e : 0000000000000001 ffff980ca2517010 ffff980cb9b8e420 ffff980cb5f10010 : BTHUSB!BthUsb_ScoUrbComplete+0xfe fffff80128c32d20 fffff8012a054e25 : ffff980cb5f105ab fffff80128c32e09 ffff980cb5f10010 0000000000000000 : BTHUSB!BthUsb_ScoReadTransferCallback+0xbe fffff80128c32d90 fffff8012a054c67 : ffff980cb5f10010 0000000000000000 ffff980cb883ca30 0000000000000002 : nt!IopfCompleteRequest+0x1a5 fffff80128c32e70 fffff8012e5d81ba : 00000000c0000120 ffff980ca1d88d90 ffff980cb5f10010 fffff80128c32f58 : nt!IofCompleteRequest+0x17 fffff80128c32ea0 fffff8012e5d5c5f : ffff980ca212dd02 fffff80100000006 ffff980cb5f10010 00000000c0000120 : Wdf01000!FxRequest::CompleteInternal+0x23a [minkernel\wdf\framework\shared\core\fxrequest.cpp @ 869] fffff80128c32f30 fffff80151562a15 : 00000000c0010002 ffff980cba8deaf0 ffff980cba8dec90 ffff980cb883ce70 : Wdf01000!imp_WdfRequestComplete+0x8f [minkernel\wdf\framework\shared\core\fxrequestapi.cpp @ 436] fffff80128c32f90 fffff80151561237 : 0000000000000000 ffff980cb883ce10 fffff80128c33090 ffff980cba8dec90 : USBXHCI!Isoch_Transfer_CompleteCancelable+0x215 fffff80128c32ff0 fffff80151561ead : ffff980cb883ce10 fffff80128c33200 ffff980cb883ce70 fffff8012a042909 : USBXHCI!Isoch_CompleteTransfers+0x19b fffff80128c33050 fffff80151562d4a : ffff980cb66fdbf0 fffff80128c33220 fffff80128c33400 ffff980c9a0ca000 : USBXHCI!Isoch_ProcessTransferCompletion+0xed fffff80128c330b0 fffff8012e5e954b : 0000000000000f44 0000000000400a02 0000000000000000 00002985340dddff : USBXHCI!Isoch_WdfEvtDpcForTransferCompletion+0x2a fffff80128c330e0 fffff8012a0c0e5e : fffff801274f0240 ffff980c99fc9000 fffff80128c333e0 ffff980c00000002 : Wdf01000!FxDpc::FxDpcThunk+0x5b [minkernel\wdf\framework\kmdf\src\core\fxdpc.cpp @ 361] fffff80128c33120 fffff8012a0c0144 : 0000000000000000 0000000000000000 0000000000140001 0000000000000000 : nt!KiExecuteAllDpcs+0x30e fffff80128c33290 fffff8012a20253e : 0000000000000000 fffff801274ed180 fffff8012ab27a00 ffff980cb7694080 : nt!KiRetireDpcList+0x1f4 fffff80128c33520 0000000000000000 : fffff80128c34000 fffff80128c2d000 0000000000000000 0000000000000000 : nt!KiIdleLoop+0x9e

SYMBOL_NAME: BTHUSB!WPP_RECORDER_AND_TRACE_SF_qsDd+dc

MODULE_NAME: BTHUSB

IMAGE_NAME: BTHUSB.sys

STACK_COMMAND: .cxr; .ecxr ; kb

BUCKET_ID_FUNC_OFFSET: dc

FAILURE_BUCKET_ID: 0x133_DPC_BTHUSB!WPP_RECORDER_AND_TRACE_SF_qsDd

OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

FAILURE_ID_HASH: {1d6b9f42-9f5b-6d16-91fa-1d6f87dfbed3}

Followup: MachineOwner

`

benhillis commented 6 months ago

From the dump it looks like the BTHUSB driver is causing the bugcheck. Does this issue go away if you unplug your bluetooth USB device?

LowLevelMahn commented 6 months ago

yes it seems comming from the bluetooth USB stack - but that didn't changed for years (same Bose headset) no software updates (except from Microsoft) at all

but definitly did my BSOD rate went from Zero in years up to >15 in the last 3 weeks (excat the timespan im firstly installed and using WSL2) - very early after installation i expirenced a BSOD (always the same) while running WSL2 - the last weeks also when not starting WSL2 at all (so i didn't use wsl -d [distro] in my shell) i don't know if WSL2 is in someway permanently active in the background

im using my headset permanently for music and Microsoft Teams sessions for the last >2 years now at least 4-6h a day - more or less full time - but i also see no direct relation in the kernel dump to WSL but im a developer and can't ignore the correlation of installing WSL2 (im very conservative installing new software on my main C++ development machine)

lets see what the next BSOD dump will show

LowLevelMahn commented 5 months ago

my hyper BSOD rate went down when i unplugged a maybe broken USB-Stick - closing the issue for now