[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Weird deadlock I had today...
by clebert.suconic@jboss.com
To replicate this:
I - Open org.jboss.messaging.tests.performance.paging.MeasurePagingMultiThreadTest
II - Change testPagingMultipleSenders to:
| public void testPagingMultipleSenders() throws Throwable
| {
|
| final int NUMBER_OF_THREADS = 18;
| final int NUMBER_OF_MESSAGES = 100;
| final int SIZE_OF_MESSAGE = 1024;
|
| Configuration config = createDefaultConfig();
|
| HashMap<String, QueueSettings> settings = new HashMap<String, QueueSettings>();
|
| config.setPagingMaxGlobalSizeBytes(20 * 1024);
| config.setJournalSyncTransactional(true);
|
III - run the test inside Eclipse.
Wait some time...., and call the kill -3 on the process. (I aways do killall -3 java)
My disk is somewhat slow at sync, maybe because it is really syncing and not using any caching. If you don't get the deadlock, use a higher number of Messages as your disk may be faster.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194201#4194201
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194201
17 years, 4 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Weird deadlock I had today...
by clebert.suconic@jboss.com
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)
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194161#4194161
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194161
17 years, 4 months