You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Michael Dillon (JIRA)" <ji...@apache.org> on 2015/05/13 02:06:00 UTC

[jira] [Commented] (AMQ-5664) ConcurrentModificationException seen from client send of TextMessage

    [ https://issues.apache.org/jira/browse/AMQ-5664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14541070#comment-14541070 ] 

Michael Dillon commented on AMQ-5664:
-------------------------------------

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)