when I ssued !syncblk command on a deadlocked application from windbg, I got
the following output. It shows which thread holds the lock. But it does not
indicate which threads are blocking on the lock. How can I identify the
threads that are blocking? Please help me.
0:004> !syncblk
Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner
2 0016d12c 3 1 0014b1c0 1ab8 0 01292e3c
System.Object
-----------------------------
Total 2
CCW 0
RCW 0
ComClassFactory 0
Free 0
Since you're using windbg, try `~*e !clrstack` and look for
Monitor.Enter on the stack.
Marc