-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Labels
Description
It would be very helpful to exercise WinDbg SOSEX plugin's automatic deadlock detection mechanism (command !dlk). It will allow catching "easy" deadlocks (which is majority of cases) very quickly.
Details about SOSEX WinDbg extension:
http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx
Example of raw output of SOSEX !dlk:
0:164> !dlk
Examining SyncBlocks...
Scanning for ReaderWriterLock(Slim) instances...
Scanning for holders of ReaderWriterLock locks...
Scanning for holders of ReaderWriterLockSlim locks...
Examining CriticalSections...
Scanning for threads waiting on SyncBlocks...
Scanning for threads waiting on ReaderWriterLock locks...
Scanning for threads waiting on ReaderWriterLocksSlim locks...
Scanning for threads waiting on CriticalSections...
*DEADLOCK DETECTED*
CLR thread 0xd4 holds the lock on SyncBlock 00000249f2abbd98 OBJ:00000247ab61ae28[System.Object]
...and is waiting for the lock on SyncBlock 00000249ed62bd08 OBJ:00000248ab70e1b0[log4net.Appender.RollingFileAppender]
CLR thread 0xce holds the lock on SyncBlock 00000249ed62bd08 OBJ:00000248ab70e1b0[log4net.Appender.RollingFileAppender]
...and is waiting for the lock on SyncBlock 00000249f2abbd98 OBJ:00000247ab61ae28[System.Object]
CLR Thread 0xd4 is waiting at log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)(+0xf IL,+0x46 Native)
CLR Thread 0xce is waiting at System.Diagnostics.TraceInternal.WriteLine(System.String)(+0x17 IL,+0x86 Native) [f:\dd\NDP\fx\src\compmod\system\diagnostics\TraceInternal.cs @ 460,56]
Reactions are currently unavailable