[
https://issues.apache.org/jira/browse/AMQ-5664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14541070#comment-14541070
]
Michael Dillon edited comment on AMQ-5664 at 5/13/15 2:55 PM:
--------------------------------------------------------------
Seeing a similar issue with AMQ broker using v 5.10. The client is using
verison 5.10 of the AMQ libraries. This happens at least a couple of times a
month per client. The client shows as connected/Active, but does not process
more messages. The Messages Awaiting Acknowledgement increases up to the
prefetch limit for durable subscribers of the topics. I do not have a test
case to reporcude this as it happens randomly. The only thing of note is that
once the error happens the broker and the client exchange bits every 10 seconds
(assuming this is the keepalive) until the client is restarted.
2015-05-12_18:59:53.39814 Exception in thread "ActiveMQ Connection Dispatcher:
tcp://11.11.11.111:2291" java.util.ConcurrentModificationException
2015-05-12_18:59:53.39830 at
java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
2015-05-12_18:59:53.39831 at
java.util.HashMap$KeyIterator.next(HashMap.java:1453)
2015-05-12_18:59:53.39831 at
org.apache.activemq.util.MarshallingSupport.marshalPrimitiveMap(MarshallingSupport.java:61)
2015-05-12_18:59:53.39832 at
org.apache.activemq.command.Message.beforeMarshall(Message.java:231)
2015-05-12_18:59:53.39832 at
org.apache.activemq.command.ActiveMQTextMessage.beforeMarshall(ActiveMQTextMessage.java:115)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.MessageMarshaller.looseMarshal(MessageMarshaller.java:281)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.ActiveMQMessageMarshaller.looseMarshal(ActiveMQMessageMarshaller.java:111)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.ActiveMQTextMessageMarshaller.looseMarshal(ActiveMQTextMessageMarshaller.java:111)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.OpenWireFormat.looseMarshalNestedObject(OpenWireFormat.java:480)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.v10.BaseDataStreamMarshaller.looseMarshalNestedObject(BaseDataStreamMarshaller.java:471)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.v10.MessageDispatchMarshaller.looseMarshal(MessageDispatchMarshaller.java:139)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:237)
2015-05-12_18:59:53.39833 at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:175)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:304)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
2015-05-12_18:59:53.39835 at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1370)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:889)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:935)
2015-05-12_18:59:53.39836 at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:112)
2015-05-12_18:59:53.39836 at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
was (Author: mike3d3):
Seeing a similar issue with AMQ broker using v 5.10. The client is using
verison 5.8.0 of the AMQ libraries. This happens at least a couple of times a
month per client. The client shows as connected/Active, but does not process
more messages. The Messages Awaiting Acknowledgement increases up to the
prefetch limit for durable subscribers of the topics. I do not have a test
case to reporcude this as it happens randomly. The only thinkg of note is that
once the error happens the broker and the client exchange bits every 10 seconds
untile the client is restarted.
2015-05-12_18:59:53.39814 Exception in thread "ActiveMQ Connection Dispatcher:
tcp://11.11.11.111:2291" java.util.ConcurrentModificationException
2015-05-12_18:59:53.39830 at
java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
2015-05-12_18:59:53.39831 at
java.util.HashMap$KeyIterator.next(HashMap.java:1453)
2015-05-12_18:59:53.39831 at
org.apache.activemq.util.MarshallingSupport.marshalPrimitiveMap(MarshallingSupport.java:61)
2015-05-12_18:59:53.39832 at
org.apache.activemq.command.Message.beforeMarshall(Message.java:231)
2015-05-12_18:59:53.39832 at
org.apache.activemq.command.ActiveMQTextMessage.beforeMarshall(ActiveMQTextMessage.java:115)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.MessageMarshaller.looseMarshal(MessageMarshaller.java:281)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.ActiveMQMessageMarshaller.looseMarshal(ActiveMQMessageMarshaller.java:111)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.v10.ActiveMQTextMessageMarshaller.looseMarshal(ActiveMQTextMessageMarshaller.java:111)
2015-05-12_18:59:53.39832 at
org.apache.activemq.openwire.OpenWireFormat.looseMarshalNestedObject(OpenWireFormat.java:480)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.v10.BaseDataStreamMarshaller.looseMarshalNestedObject(BaseDataStreamMarshaller.java:471)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.v10.MessageDispatchMarshaller.looseMarshal(MessageDispatchMarshaller.java:139)
2015-05-12_18:59:53.39833 at
org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:237)
2015-05-12_18:59:53.39833 at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:175)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:304)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
2015-05-12_18:59:53.39834 at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
2015-05-12_18:59:53.39835 at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1370)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:889)
2015-05-12_18:59:53.39836 at
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:935)
2015-05-12_18:59:53.39836 at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:112)
2015-05-12_18:59:53.39836 at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> ConcurrentModificationException seen from client send of TextMessage
> --------------------------------------------------------------------
>
> Key: AMQ-5664
> URL: https://issues.apache.org/jira/browse/AMQ-5664
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, JMS client
> Affects Versions: 5.11.1
> Reporter: Timothy Bish
>
> While running test against the new QPid AMQP JMS client we send some messages
> to a Queue via the OpenWire JMS client over a VM transport connection for
> later consumption by the AMQP JMS client. During a recent test run we caught
> this:
> {noformat}
> Tests run: 18, Failures: 0, Errors: 1, Skipped: 1, Time elapsed: 27.368 sec
> <<< FAILURE! - in org.apache.qpid.jms.consumer.JmsMessageConsumerTest
> testSetMessageListenerAfterStartAndSend(org.apache.qpid.jms.consumer.JmsMessageConsumerTest)
> Time elapsed: 0.596 sec <<< ERROR!
> javax.jms.JMSException: java.util.ConcurrentModificationException
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1420)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1346)
> at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1904)
> at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288)
> at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223)
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:468)
> at
> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:297)
> at
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
> at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:307)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152)
> at
> org.apache.activemq.security.AuthorizationBroker.send(AuthorizationBroker.java:223)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152)
> at
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157)
> at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:541)
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:334)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
> at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:248)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ConcurrentModificationException: null
> at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
> at java.util.HashMap$KeyIterator.next(HashMap.java:1453)
> at
> org.apache.activemq.util.MarshallingSupport.marshalPrimitiveMap(MarshallingSupport.java:61)
> at
> org.apache.activemq.command.Message.beforeMarshall(Message.java:231)
> at
> org.apache.activemq.command.ActiveMQTextMessage.beforeMarshall(ActiveMQTextMessage.java:115)
> at
> org.apache.activemq.openwire.v10.MessageMarshaller.looseMarshal(MessageMarshaller.java:281)
> at
> org.apache.activemq.openwire.v10.ActiveMQMessageMarshaller.looseMarshal(ActiveMQMessageMarshaller.java:111)
> at
> org.apache.activemq.openwire.v10.ActiveMQTextMessageMarshaller.looseMarshal(ActiveMQTextMessageMarshaller.java:111)
> at
> org.apache.activemq.openwire.OpenWireFormat.marshal(OpenWireFormat.java:155)
> at
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.addMessage(KahaDBStore.java:427)
> at
> org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask.run(KahaDBStore.java:1296)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> Will need to dig in and see how this happened when we have a chance.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)