<?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>Fri, 12 Mar 2010 07:41:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<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>
