Weird deadlock I had today...
clebert.suconic Dec 3, 2008 4:22 PM
Can I be an user for one second? :-)
I need help! now! Urgent! (Hopefully you won't send me to the user's forum :-P )
Jokes apart:
I wrote a test on trunk that was using a lot of disk (doing too many syncs), what left my box at some unusable state. (I couldn't even click anywhere).
When the test was over, it dead locked on the following condition, which I wanted to share with you guys.
I didn't do any investigation yet.. just registering for future investigations for now.
Found one Java-level deadlock: ============================= "Thread-4 (group:jbm-pinger-threads-1418257117)": waiting to lock monitor 0x00007f514714fc28 (object 0x00007f5177468c88, a java.lang.Object), which is held by "Thread-0 (group:jbm-pinger-threads-1418257117)" "Thread-0 (group:jbm-pinger-threads-1418257117)": waiting to lock monitor 0x00007f5147204e48 (object 0x00007f51774c80c0, a java.lang.Object), which is held by "Thread-4 (group:jbm-pinger-threads-1418257117)" Java stack information for the threads listed above: =================================================== "Thread-4 (group:jbm-pinger-threads-1418257117)": at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.destroy(RemotingConnectionImpl.java:446) - waiting to lock <0x00007f5177468c88> (a java.lang.Object) at org.jboss.messaging.core.client.impl.ConnectionManagerImpl.connectionFailed(ConnectionManagerImpl.java:545) - locked <0x00007f51774c80c0> (a java.lang.Object) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.callListeners(RemotingConnectionImpl.java:544) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.fail(RemotingConnectionImpl.java:431) - locked <0x00007f517740f448> (a java.lang.Object) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl$Pinger.run(RemotingConnectionImpl.java:1557) - locked <0x00007f517740f350> (a org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl$Pinger) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) "Thread-0 (group:jbm-pinger-threads-1418257117)": at org.jboss.messaging.core.client.impl.ConnectionManagerImpl.connectionFailed(ConnectionManagerImpl.java:436) - waiting to lock <0x00007f51774c80c0> (a java.lang.Object) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.callListeners(RemotingConnectionImpl.java:544) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.fail(RemotingConnectionImpl.java:431) - locked <0x00007f5177468c88> (a java.lang.Object) at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl$Pinger.run(RemotingConnectionImpl.java:1557) - locked <0x00007f5177449738> (a org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl$Pinger) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)