I see a deadlock on a 24 thread (two six-core) system. All “delayed” worker threads are stuck in nt!KeSetSystemGroupAffinityThread. Examples:
0: kd> !thread fffffa801eeed8a0
THREAD fffffa801eeed8a0 Cid 0004.0fb4 Teb: 0000000000000000 Win32Thread: 0000000000000000 ???
Not impersonating
DeviceMap fffff8a000008500
Owning Process fffffa80136f2040 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 3518454 Ticks: 45279 (0:00:11:46.356)
Context Switch Count 691
UserTime 00:00:00.000
KernelTime 00:00:00.046
Win32 Start Address nt!ExpWorkerThread (0xfffff800054f2910)
Stack Init fffff88008d9cdb0 Current fffff88008d9bf90
Base fffff88008d9d000 Limit fffff88008d97000 Call 0
Priority 15 BasePriority 12 UnusualBoost 3 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP RetAddr : Args to Child : Call Site
fffff88008d9bfd0 fffff800
054bd372 : fffff880026a4180 fffffa80
1eeed8a0 fffffa801eeedaa0 00000000
00000000 : nt!KiSwapContext+0x7a
fffff88008d9c110 fffff800
054bd9ac : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KeSetSystemGroupAffinityThread+0x18a
fffff88008d9c180 fffff800
057a6bbc : fffffa803a5f7460 fffff880
08d9c240 fffff880096fffd0 fffff800
0566cbc0 : nt!PopExecuteOnTargetProcessors+0xdc
fffff88008d9c220 fffff800
057f2419 : 0000000000000000 fffff880
08d9c700 0000000000000018 fffff8a0
09dcc1c0 : nt!PpmCapturePerformanceDistribution+0x9c
fffff88008d9c290 fffff800
057f2949 : fffff8a009dcc1c0 00000000
00000000 0000000000000006 00000000
00000000 : nt!ExpQuerySystemInformation+0x14d9
fffff88008d9c640 fffff800
054e78d3 : fffff8a009de0000 fffff800
054e687d 0000000000000041 fffff8a0
09dcc000 : nt!NtQuerySystemInformation+0x4d
fffff88008d9c680 fffff800
054e3e70 : fffff8800198def4 00000000
00020000 fffff88008d9c844 fffff8a0
09dcc198 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff88008d9c680) fffff880
08d9c818 fffff8800198def4 : 00000000
00020000 fffff88008d9c844 fffff8a0
09dcc198 fffffa8000000000 : nt!KiServiceLinkage fffff880
08d9c820 fffff8800198e3ed : fffffa80
18b5ce70 fffff88001c583b7 00000000
20206f49 fffffa801eeed8a0 : cng!GatherRandomKey+0x294 fffff880
08d9cbe0 fffff800057def4d : 00000000
00000001 0000000000000001 fffffa80
1ef58900 fffffa801eeed8a0 : cng!scavengingWorkItemRoutine+0x3d fffff880
08d9cc80 fffff800054f2a21 : fffff800
05685658 fffff800057def01 fffffa80
1eeed800 0037003600310020 : nt!IopProcessWorkItem+0x3d fffff880
08d9ccb0 fffff80005785cce : 0075006c
005c0033 fffffa801eeed8a0 00000000
00000080 fffffa80136f2040 : nt!ExpWorkerThread+0x111 fffff880
08d9cd40 fffff800054d9fe6 : fffff880
02715180 fffffa801eeed8a0 fffff880
027204c0 0033002000300020 : nt!PspSystemThreadStartup+0x5a fffff880
08d9cd80 0000000000000000 : fffff880
08d9d000 0000000000000000 00000000
00000000 00000000`00000000 : nt!KxStartSystemThread+0x16
0: kd> !thread fffffa801efe5a10
THREAD fffffa801efe5a10 Cid 0004.08ec Teb: 0000000000000000 Win32Thread: 0000000000000000 ???
Not impersonating
DeviceMap fffff8a000008500
Owning Process fffffa80136f2040 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 3518454 Ticks: 45279 (0:00:11:46.356)
Context Switch Count 687
UserTime 00:00:00.000
KernelTime 00:00:00.046
Win32 Start Address nt!ExpWorkerThread (0xfffff800054f2910)
Stack Init fffff88009212db0 Current fffff88009211f90
Base fffff88009213000 Limit fffff8800920d000 Call 0
Priority 15 BasePriority 12 UnusualBoost 3 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP RetAddr : Args to Child : Call Site
fffff88009211fd0 fffff800
054bd372 : fffff880026a4180 fffffa80
1efe5a10 fffffa801efe5c10 00000000
00000000 : nt!KiSwapContext+0x7a
fffff88009212110 fffff800
054bd9ac : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KeSetSystemGroupAffinityThread+0x18a
fffff88009212180 fffff800
057a6bbc : fffffa803a5f7460 fffff880
09212240 fffff8800971ffd0 fffff800
0566cbc0 : nt!PopExecuteOnTargetProcessors+0xdc
fffff88009212220 fffff800
057f2419 : 0000000000000000 fffff880
09212700 0000000000000018 fffff8a0
0b2fc1c0 : nt!PpmCapturePerformanceDistribution+0x9c
fffff88009212290 fffff800
057f2949 : fffff8a00b2fc1c0 00000000
00000000 0000000000000006 00000000
00000000 : nt!ExpQuerySystemInformation+0x14d9
fffff88009212640 fffff800
054e78d3 : fffff8a00b310000 fffff800
054e687d 0000000000000041 fffff8a0
0b2fc000 : nt!NtQuerySystemInformation+0x4d
fffff88009212680 fffff800
054e3e70 : fffff8800198def4 00000000
00020000 fffff88009212844 fffff8a0
0b2fc198 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff88009212680) fffff880
09212818 fffff8800198def4 : 00000000
00020000 fffff88009212844 fffff8a0
0b2fc198 fffffa8000000000 : nt!KiServiceLinkage fffff880
09212820 fffff8800198e3ed : fffffa80
18b5ce70 fffff88001c583b7 00000000
20206f49 fffffa801efe5a10 : cng!GatherRandomKey+0x294 fffff880
09212be0 fffff800057def4d : 00000000
00000001 0000000000000001 fffffa80
3a048290 fffffa801efe5a10 : cng!scavengingWorkItemRoutine+0x3d fffff880
09212c80 fffff800054f2a21 : fffff800
05685658 fffff800057def01 fffffa80
1efe5a00 0000000000000000 : nt!IopProcessWorkItem+0x3d fffff880
09212cb0 fffff80005785cce : 00000000
00000000 fffffa801efe5a10 00000000
00000080 fffffa80136f2040 : nt!ExpWorkerThread+0x111 fffff880
09212d40 fffff800054d9fe6 : fffff880
028e2180 fffffa801efe5a10 fffff880
028ed4c0 0000000000000246 : nt!PspSystemThreadStartup+0x5a fffff880
09212d80 0000000000000000 : fffff880
09213000 0000000000000000 00000000
00000000 00000000`00000000 : nt!KxStartSystemThread+0x16
0: kd> !thread fffffa80136d5b60
THREAD fffffa80136d5b60 Cid 0004.0d34 Teb: 0000000000000000 Win32Thread: 0000000000000000 ???
Not impersonating
DeviceMap fffff8a000008500
Owning Process fffffa80136f2040 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 3518454 Ticks: 45279 (0:00:11:46.356)
Context Switch Count 701
UserTime 00:00:00.000
KernelTime 00:00:00.062
Win32 Start Address nt!ExpWorkerThread (0xfffff800054f2910)
Stack Init fffff880093bbdb0 Current fffff880093baf90
Base fffff880093bc000 Limit fffff880093b6000 Call 0
Priority 15 BasePriority 12 UnusualBoost 3 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP RetAddr : Args to Child : Call Site
fffff880093bafd0 fffff800
054bd372 : fffff880026a4180 fffffa80
136d5b60 fffffa80136d5d60 00000000
00000000 : nt!KiSwapContext+0x7a
fffff880093bb110 fffff800
054bd9ac : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KeSetSystemGroupAffinityThread+0x18a
fffff880093bb180 fffff800
057a6bbc : fffffa803a5f7460 fffff880
093bb240 fffff880096bffd0 fffff800
0566cbc0 : nt!PopExecuteOnTargetProcessors+0xdc
fffff880093bb220 fffff800
057f2419 : 0000000000000000 fffff880
093bb700 0000000000000018 fffff8a0
09d8c1c0 : nt!PpmCapturePerformanceDistribution+0x9c
fffff880093bb290 fffff800
057f2949 : fffff8a009d8c1c0 00000000
00000000 0000000000000006 00000000
00000000 : nt!ExpQuerySystemInformation+0x14d9
fffff880093bb640 fffff800
054e78d3 : fffff8a009da0000 fffff800
054e687d 0000000000000041 fffff8a0
09d8c000 : nt!NtQuerySystemInformation+0x4d
fffff880093bb680 fffff800
054e3e70 : fffff8800198def4 00000000
00020000 fffff880093bb844 fffff8a0
09d8c198 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff880093bb680) fffff880
093bb818 fffff8800198def4 : 00000000
00020000 fffff880093bb844 fffff8a0
09d8c198 fffffa8000000000 : nt!KiServiceLinkage fffff880
093bb820 fffff8800198e3ed : fffffa80
18b5ce70 0000000000000000 00000000
20206f49 fffffa80136d5b60 : cng!GatherRandomKey+0x294 fffff880
093bbbe0 fffff800057def4d : 00000000
00000001 0000000000000001 fffffa80
2aacb2d0 fffffa80136d5b60 : cng!scavengingWorkItemRoutine+0x3d fffff880
093bbc80 fffff800054f2a21 : fffff800
05685658 fffff800057def01 fffffa80
136d5b00 0000000000000000 : nt!IopProcessWorkItem+0x3d fffff880
093bbcb0 fffff80005785cce : 00000000
00000000 fffffa80136d5b60 00000000
00000080 fffffa80136f2040 : nt!ExpWorkerThread+0x111 fffff880
093bbd40 fffff800054d9fe6 : fffff880
02715180 fffffa80136d5b60 fffff880
027204c0 0000000000000246 : nt!PspSystemThreadStartup+0x5a fffff880
093bbd80 0000000000000000 : fffff880
093bc000 0000000000000000 00000000
00000000 00000000`00000000 : nt!KxStartSystemThread+0x16
0: kd> !thread fffffa801370b680
THREAD fffffa801370b680 Cid 0004.0044 Teb: 0000000000000000 Win32Thread: 0000000000000000 ???
Not impersonating
DeviceMap fffff8a000008500
Owning Process fffffa80136f2040 Image: System
Attached Process N/A Image: N/A
Wait Start TickCount 3518454 Ticks: 45279 (0:00:11:46.356)
Context Switch Count 25026
UserTime 00:00:00.000
KernelTime 00:00:04.399
Win32 Start Address nt!ExpWorkerThread (0xfffff800054f2910)
Stack Init fffff88002fd4db0 Current fffff88002fd3f90
Base fffff88002fd5000 Limit fffff88002fcf000 Call 0
Priority 15 BasePriority 12 UnusualBoost 3 ForegroundBoost 0 IoPriority 2 PagePriority 5
Child-SP RetAddr : Args to Child : Call Site
fffff88002fd3fd0 fffff800
054bd372 : fffff880026a4180 fffffa80
1370b680 fffffa801370b880 00000000
00000000 : nt!KiSwapContext+0x7a
fffff88002fd4110 fffff800
054bd9ac : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KeSetSystemGroupAffinityThread+0x18a
fffff88002fd4180 fffff800
057a6bbc : fffffa803a5f7460 fffff880
02fd4240 fffff88000b44fd0 fffff800
0566cbc0 : nt!PopExecuteOnTargetProcessors+0xdc
fffff88002fd4220 fffff800
057f2419 : 0000000000000000 fffff880
02fd4700 0000000000000018 fffff8a0
0258f1c0 : nt!PpmCapturePerformanceDistribution+0x9c
fffff88002fd4290 fffff800
057f2949 : fffff8a00258f1c0 00000000
00000000 0000000000000006 00000000
00000000 : nt!ExpQuerySystemInformation+0x14d9
fffff88002fd4640 fffff800
054e78d3 : fffff8a0025a0000 fffff800
054e687d 0000000000000041 fffff8a0
0258f000 : nt!NtQuerySystemInformation+0x4d
fffff88002fd4680 fffff800
054e3e70 : fffff8800198def4 00000000
00020000 fffff88002fd4844 fffff8a0
0258f198 : nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff88002fd4680) fffff880
02fd4818 fffff8800198def4 : 00000000
00020000 fffff88002fd4844 fffff8a0
0258f198 fffffa8000000000 : nt!KiServiceLinkage fffff880
02fd4820 fffff8800198e3ed : fffffa80
18b5ce70 00000000000007ff 00000000
20206f49 fffffa801370b680 : cng!GatherRandomKey+0x294 fffff880
02fd4be0 fffff800057def4d : 00000000
00000001 0000000000000001 fffffa80
1fa00160 fffffa801370b680 : cng!scavengingWorkItemRoutine+0x3d fffff880
02fd4c80 fffff800054f2a21 : fffff800
05685658 fffff800057def01 fffffa80
1370b600 fffff80005685658 : nt!IopProcessWorkItem+0x3d fffff880
02fd4cb0 fffff80005785cce : 00000000
00000000 fffffa801370b680 00000000
00000080 fffffa80136f2040 : nt!ExpWorkerThread+0x111 fffff880
02fd4d40 fffff800054d9fe6 : fffff880
02871180 fffffa801370b680 fffff880
0287c4c0 0000000000000000 : nt!PspSystemThreadStartup+0x5a fffff880
02fd4d80 0000000000000000 : fffff880
02fd5000 fffff88002fcf000 fffff880
02fd49e0 00000000`00000000 : nt!KxStartSystemThread+0x16
Anybody knows what’s going on?
Also, there is no hard deadlock on any processor. There is one runaway thread (not holding any lock), but why would it block all other threads on a 24-thread box?