After getting an EOFException with the JMS connection, the channel is inactive
and the server is not able to recover its connection to ActiveMQ.
------------------------------------------------------------------------------------------------------------------------------------------------
Key: AMQ-2067
URL: https://issues.apache.org/activemq/browse/AMQ-2067
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.0.0
Environment: Solaris with server JBOSS connecting to a standalone
Message FUSE Broker ActiveMQ server 5.0.0.14
Reporter: Pierre-Luc Dupont
Priority: Blocker
We have this problem and it is causing a lot of trouble since we need to
restart our server every time that this error occurs.
Can someone help me to fix or give me a procedure to avoid this situation?
Thank you!
This is our configuration in our deploy folder.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE connection-factories
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<connection-factories>
<tx-connection-factory>
<jndi-name>activemq/QueueConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/>
<rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
<connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
<ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&keepAlive=true</ServerUrl>
<!--
<UserName>sa</UserName>
<Password></Password>
-->
<min-pool-size>2</min-pool-size>
<max-pool-size>200</max-pool-size>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>1440</idle-timeout-minutes>
</tx-connection-factory>
<tx-connection-factory>
<jndi-name>activemq/TopicConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/>
<rar-name>activemq-rar-5.0.0.14-fuse.rar</rar-name>
<connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
<ServerUrl>tcp://<host>:61616?wireFormat.maxInactivityDuration=0&keepAlive=true</ServerUrl>
<!--
<UserName>sa</UserName>
<Password></Password>
-->
<min-pool-size>2</min-pool-size>
<max-pool-size>200</max-pool-size>
<blocking-timeout-millis>30000</blocking-timeout-millis>
<idle-timeout-minutes>1440</idle-timeout-minutes>
</tx-connection-factory>
....
</connection-factories>
22:59:21,007 WARN [ActiveMQManagedConnection] Connection failed:
javax.jms.JMSException: java.io.EOFException
22:59:21,009 WARN [TxConnectionManager] Connection error occured:
org.jboss.resource.connectionmanager.txconnectionmanager$txconnectioneventliste...@1c3dfe[state=normal
mc=org.apache.activemq.ra.activemqmanagedconnect...@1ff0bb4 handles=1
lastUse=1231786631511 permit=true trackByTx=false
mcp=org.jboss.resource.connectionmanager.jbossmanagedconnectionpool$onep...@1a83509
context=org.jboss.resource.connectionmanager.internalmanagedconnectionp...@321810
xaresource=org.apache.activemq.ra.activemqmanagedconnectio...@159773f
txSync=null]
javax.jms.JMSException: java.io.EOFException
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1684)
at
org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1701)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
at
org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99)
at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:152)
at
org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:244)
at
org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:187)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:358)
at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:203)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:195)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
... 1 more
23:01:27,933 ERROR [ProductManager] End of a batch (2199 s, 0.227/sec). No
failures out of 500 products processed. Attempt 0 of 1
23:01:27,934 WARN [BatchSink] Message (Product/addOrUpdate, x500), batch [258]
on port ABC processing STOPPED
23:01:27,936 INFO [AdvisoryConsumer] Failed to send remove command:
javax.jms.JMSException: Channel was inactive for too long:
<host>/<ipaddress>:61616
javax.jms.JMSException: Channel was inactive for too long:
<host>/<ipaddress>:61616
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
at
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
at
org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
at
org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:56)
at
org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1353)
at
org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
at
org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
at
org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
at
org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
at
org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
at
org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long: <host>/<ipaddress>:61616
at
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
at
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1176)
... 15 more
23:01:27,939 WARN [JBossManagedConnectionPool] ResourceException cleaning up
ManagedConnection:
org.jboss.resource.connectionmanager.txconnectionmanager$txconnectioneventliste...@1c3dfe[state=normal
mc=org.apache.activemq.ra.activemqmanagedconnect...@1ff0bb4 handles=0
lastUse=1231786631511 permit=true trackByTx=false
mcp=org.jboss.resource.connectionmanager.jbossmanagedconnectionpool$onep...@1a83509
context=org.jboss.resource.connectionmanager.internalmanagedconnectionp...@321810
xaresource=org.apache.activemq.ra.activemqmanagedconnectio...@159773f
txSync=null]
javax.resource.ResourceException: Could cleanup the ActiveMQ connection:
javax.jms.JMSException: Channel was inactive for too long:
<host>/<ipaddress>:61616
at
org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:252)
at
org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:320)
at
org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:620)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:363)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2$BaseConnectionEventListener.connectionErrorOccurred(BaseConnectionManager2.java:756)
at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionErrorOccurred(TxConnectionManager.java:676)
at
org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:189)
at
org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:408)
at
org.apache.activemq.ActiveMQConnection$3.run(ActiveMQConnection.java:1690)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jms.JMSException: Channel was inactive for too long:
<host>/<ipaddress>:61616
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
at
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1178)
at
org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
at
org.apache.activemq.ActiveMQConnection.cleanup(ActiveMQConnection.java:1376)
at
org.apache.activemq.ra.ActiveMQManagedConnection.cleanup(ActiveMQManagedConnection.java:250)
... 11 more
Caused by: org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long: <host>/<ipaddress>:61616
at
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:225)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:83)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:100)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
at
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1176)
... 14 more
23:01:27,945 WARN [ActiveMQManagedConnection] Connection failed:
javax.jms.JMSException: Channel was inactive for too long:
<host>/<ipaddress>:61616
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.