<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Debugging Deadlocks &#8211; Print All Stack Traces</title> <atom:link href="http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/feed/" rel="self" type="application/rss+xml" /><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/</link> <description>Living in a state of accord.</description> <lastBuildDate>Tue, 07 Feb 2012 01:07:58 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: Ben Fowler</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173536</link> <dc:creator>Ben Fowler</dc:creator> <pubDate>Mon, 24 Nov 2008 20:11:16 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173536</guid> <description>Or hit CTRL-Break on the console, but that can suck if you&#039;ve got a big application with deep stack traces like we do.  Alternatively, I seem to remember Eclipse having some fancy deadlock detection and monitor debugging stuff in their Java debugger too, although I&#039;m not too sure how good they are for thread debugging, since I&#039;ve only been forced to use it a couple of times.</description> <content:encoded><![CDATA[<p>Or hit CTRL-Break on the console, but that can suck if you&#8217;ve got a big application with deep stack traces like we do.  Alternatively, I seem to remember Eclipse having some fancy deadlock detection and monitor debugging stuff in their Java debugger too, although I&#8217;m not too sure how good they are for thread debugging, since I&#8217;ve only been forced to use it a couple of times.</p> ]]></content:encoded> </item> <item><title>By: Spyder</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173534</link> <dc:creator>Spyder</dc:creator> <pubDate>Mon, 24 Nov 2008 13:26:54 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173534</guid> <description>JConsole has been the best-kept java secret on windows for years, although the JDK5 version wasn&#039;t quite as good :)
The latest iteration (it was still jconsole in the 6u10 betas, but I haven&#039;t looked for it since the release) is pretty darn cool - it will give you a BLOCKED status on deadlocked threads and tell you the object hashcode it is blocked on, along with the thread ID that is holding it.  Makes debugging deadlocks a breeze.
It&#039;s actually useful even without deadlocks - I&#039;ve used it many times to generate HPROF dumps of a running JVM for debugging leaks in SAP Memory Analyser.</description> <content:encoded><![CDATA[<p>JConsole has been the best-kept java secret on windows for years, although the JDK5 version wasn&#8217;t quite as good :)</p><p>The latest iteration (it was still jconsole in the 6u10 betas, but I haven&#8217;t looked for it since the release) is pretty darn cool &#8211; it will give you a BLOCKED status on deadlocked threads and tell you the object hashcode it is blocked on, along with the thread ID that is holding it.  Makes debugging deadlocks a breeze.</p><p>It&#8217;s actually useful even without deadlocks &#8211; I&#8217;ve used it many times to generate HPROF dumps of a running JVM for debugging leaks in SAP Memory Analyser.</p> ]]></content:encoded> </item> <item><title>By: Adrian Sutton</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173533</link> <dc:creator>Adrian Sutton</dc:creator> <pubDate>Mon, 24 Nov 2008 11:48:38 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173533</guid> <description>Odi,
Interesting, I&#039;ll have to keep that in mind when I next get a deadlock on Windows - this one was on my Mac so Java 6 wasn&#039;t an option (Safari is 32bit, Java 6 on Mac is 64bit only so applets only use Java 5).
I wonder if jvisualvm would affect the timing and cause the issue to not happen though?  I know it&#039;s very low overhead so it&#039;s got a pretty good chance, but I&#039;m not sure if it&#039;s completely zero overhead. Seems a lot more likely to work than a debugger though.</description> <content:encoded><![CDATA[<p>Odi,<br
/> Interesting, I&#8217;ll have to keep that in mind when I next get a deadlock on Windows &#8211; this one was on my Mac so Java 6 wasn&#8217;t an option (Safari is 32bit, Java 6 on Mac is 64bit only so applets only use Java 5).</p><p>I wonder if jvisualvm would affect the timing and cause the issue to not happen though?  I know it&#8217;s very low overhead so it&#8217;s got a pretty good chance, but I&#8217;m not sure if it&#8217;s completely zero overhead. Seems a lot more likely to work than a debugger though.</p> ]]></content:encoded> </item> <item><title>By: Odi</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173532</link> <dc:creator>Odi</dc:creator> <pubDate>Mon, 24 Nov 2008 11:41:43 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173532</guid> <description>You should also look into jvisualvm of JDK 1.6.0_10 (formerly jconsole). It can do that with one click and even lets you browse the heap and do some basic profiling. Stuff that you needed a good IDE for before. Quite amazing.</description> <content:encoded><![CDATA[<p>You should also look into jvisualvm of JDK 1.6.0_10 (formerly jconsole). It can do that with one click and even lets you browse the heap and do some basic profiling. Stuff that you needed a good IDE for before. Quite amazing.</p> ]]></content:encoded> </item> <item><title>By: Adrian Sutton</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173531</link> <dc:creator>Adrian Sutton</dc:creator> <pubDate>Mon, 24 Nov 2008 11:30:35 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173531</guid> <description>Oh yes, I meant to mention that but forgot, thanks for reminding me.  It&#039;s very useful but tends to be hit and miss for debugging applets - especially when you&#039;ve deadlocked the UI thread which tends to crash the browser.</description> <content:encoded><![CDATA[<p>Oh yes, I meant to mention that but forgot, thanks for reminding me.  It&#8217;s very useful but tends to be hit and miss for debugging applets &#8211; especially when you&#8217;ve deadlocked the UI thread which tends to crash the browser.</p> ]]></content:encoded> </item> <item><title>By: SteveL</title><link>http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/comment-page-1/#comment-173530</link> <dc:creator>SteveL</dc:creator> <pubDate>Mon, 24 Nov 2008 11:27:15 +0000</pubDate> <guid
isPermaLink="false">http://www.symphonious.net/2008/11/24/debugging-deadlocks-print-all-stack-traces/#comment-173530</guid> <description>kill -QUIT does a stack dump of a JVM; on JRockit it even lists which item every thread is waiting on, which is generally all you need to identify deadlocks</description> <content:encoded><![CDATA[<p>kill -QUIT does a stack dump of a JVM; on JRockit it even lists which item every thread is waiting on, which is generally all you need to identify deadlocks</p> ]]></content:encoded> </item> </channel> </rss>
