Thread dumps demystified
summary
Shows how raw thread dumps reveal real root causes: use jstack/jcmd or JVM dump files, open them in Thread Dump Analyzer and sort by state, then search stacks to link blocked threads to a single long-running owner. Demonstrates missing ownership for java.util.concurrent locks, a case with 151 threads waiting, another with 37 threads stalled while one replication receiver thread holds the merge, and a modified analyzer that flags a potential owner — the patch works on the demo dumps.
AI-written summary · about
chapters (11)
- 0:00Introduction to thread dumps
- 2:36Why analyze thread dumps
- 4:21Taking thread dumps
- 7:15Deadlock detection example
- 10:33Clustering synchronization issue
- 13:54Using thread dump tools
- 16:30Java concurrent locks issue
- 22:24Finding lock ownership
- 26:50Long-running threads analysis
- 28:16Tools for thread dump analysis
- 29:41Key takeaways and conclusion
related talks
50mEmergency Dump — The Black Box of a Crashed JVM
47mFantastic Virtual Threads and How to Monitor Them
44mPost-Mortem JVM Crash Analysis with jcmd
45mUnder the Hood of a JVM Application - Java Flight Recorder / Java Mission Control
45mCatching the 137-Killer: A Java Memory Forensics Investigation
39mUnblocking The Main Thread: Solving ANRs and Frozen Frames
44mJVM Profiling under the Hood
46mAnalyzing HotSpot Crashes
