Hello Tuned Loop Labs,
How often does the crash occur? If it happens reasonably frequently, you could try the following: disable starting of the "Microsoft Link-Layer Discovery Protocol" (e.g. sc config mslldp start= demand
).
LLDP just sends LLDP messages to managed switches so that the system appears in LLDP neighbours tables, so disabling it for test purposes may be OK.
The reason for suspecting mslldp involvement in the problem is this stack trace:
nt!KiSwapContext+0x76
nt!KiSwapThread+0xb05
nt!KiCommitThreadWait+0x137
nt!KeDelayExecutionThread+0xf9
mslldp!lldpWaitForValueToZero+0x31
mslldp!lldpWaitForTxCompletion+0x69
mslldp!lldpProtPauseBinding+0x3b
mslldp!lldpProtNetPnPEvent+0x2f6
ndis!ndisInvokeNetPnPEvent+0x7e
ndis!ndisDeliverNetPnPEventSynchronously+0xcf
ndis!ndisPnPNotifyBinding+0x18e
ndis!ndisPnPNotifyBindingUnlocked+0x44
ndis!ndisPauseProtocolInner+0x79
ndis!ndisPauseProtocol+0xb1
ndis!Ndis::BindEngine::Iterate+0x162
ndis!Ndis::BindEngine::UpdateBindings+0xe3
ndis!Ndis::BindEngine::DispatchPendingWork+0x4a
ndis!Ndis::BindEngine::ApplyBindChanges+0x54
ndis!ndisPrepForLowPowerCommon+0xa4
ndis!ndisPrepForLowPower+0x24
ndis!ndisSetDevicePower+0x38619
ndis!ndisSetPower+0x9f
ndis!ndisPowerDispatch+0x11e
nt!PopIrpWorker+0x261
nt!PspSystemThreadStartup+0x57
nt!KiStartSystemThread+0x34
A set power IRP has not completed within a reasonable time because the mslldp driver is waiting for something that will now probably never happen.
I used italics in the expression "mslldp involvement in the problem" because the "bug"/"root cause" is probably not mslldp (for example, it might be the Realtek rtump64x64 driver).
There is probably more information to be gleaned from the dump file; if one really wants to get to the bottom of the problem then some controlled testing with Event Tracing for Windows (ETW) would probably help.
Gary