[
https://issues.jboss.org/browse/AS7-3919?page=com.atlassian.jira.plugin.s...
]
Ove Ranheim updated AS7-3919:
-----------------------------
Attachment: jstack-2012-02-27_08_49.txt
jstack-2012-02-27_09_58_crash.txt
JStack dump attached for before and after the crash.
HornetQ causing deadlock when max-size-bytes reaches its limit
--------------------------------------------------------------
Key: AS7-3919
URL:
https://issues.jboss.org/browse/AS7-3919
Project: Application Server 7
Issue Type: Bug
Components: JMS
Affects Versions: 7.1.0.Final
Reporter: Ove Ranheim
Assignee: Andy Taylor
Priority: Critical
Fix For: 7.1.1.Final
Attachments: jstack-2012-02-27_08_49.txt, jstack-2012-02-27_09_58_crash.txt
I have journal-file-size set to 10 Mb and max-size-bytes set 10 Mb, with a address policy
of BLOCK. When my sendMailQueue reaches its limit a deadlock occurs. This is further
emphasized in the JBossAS Forum reference.
Here's a snippet from jstack after HornetQ crashes.
{noformat}
Found one Java-level deadlock:
=============================
"Thread-878 (HornetQ-client-global-threads-1151364488)":
waiting to lock monitor 0x0000000041df8640 (object 0x00000000ea17d6e0, a
java.lang.Object),
which is held by "Thread-873 (HornetQ-client-global-threads-1151364488)"
"Thread-873 (HornetQ-client-global-threads-1151364488)":
waiting to lock monitor 0x000000004107c8b8 (object 0x00000000ea17d6d0, a
java.lang.Object),
which is held by "Thread-878 (HornetQ-client-global-threads-1151364488)"
Java stack information for the threads listed above:
===================================================
"Thread-878 (HornetQ-client-global-threads-1151364488)":
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.close(ClientSessionFactoryImpl.java:461)
- waiting to lock <0x00000000ea17d6e0> (a java.lang.Object)
- locked <0x00000000ea17d6d0> (a java.lang.Object)
at org.hornetq.core.client.impl.ServerLocatorImpl.doClose(ServerLocatorImpl.java:1294)
at org.hornetq.core.client.impl.ServerLocatorImpl.close(ServerLocatorImpl.java:1238)
at
org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.close(HornetQXAResourceWrapper.java:392)
at
org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.connectionFailed(HornetQXAResourceWrapper.java:232)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.callFailureListeners(ClientSessionFactoryImpl.java:905)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:690)
- locked <0x00000000f0222060> (a java.lang.Object)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:556)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.access$000(ClientSessionFactoryImpl.java:79)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl$1.run(ClientSessionFactoryImpl.java:386)
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
"Thread-873 (HornetQ-client-global-threads-1151364488)":
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.close(ClientSessionFactoryImpl.java:458)
- waiting to lock <0x00000000ea17d6d0> (a java.lang.Object)
at
org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.close(HornetQXAResourceWrapper.java:391)
at
org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.connectionFailed(HornetQXAResourceWrapper.java:232)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.callFailureListeners(ClientSessionFactoryImpl.java:905)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:690)
- locked <0x00000000ea17d6e0> (a java.lang.Object)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:556)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl.access$000(ClientSessionFactoryImpl.java:79)
at
org.hornetq.core.client.impl.ClientSessionFactoryImpl$1.run(ClientSessionFactoryImpl.java:386)
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Found 1 deadlock.
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira