My mental workout on Software Development

Thread Dump Graph

Each box (node) represents a Thread in the JVM.

When a Thread is waiting on a monitor locked by another Thread, an arrow points from the waiting Thread to the one that currently owns the monitor (the one holding the lock).

Blocked Threads are in red, and runnable ones in green.

(click for a close-up)

Thread Dump Graph

I hope you spotted the “guilty” thread by now :-)