[ https://issues.apache.org/jira/browse/ARTEMIS-3509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17440703#comment-17440703 ]
Justin Bertram edited comment on ARTEMIS-3509 at 11/25/21, 2:47 PM: -------------------------------------------------------------------- The 2.16.0 release is a bit old at this point. Can you reproduce with the latest 2.19.0 release? In general, I would recommend running your broker _standalone_ (i.e. outside of containers like WildFly). WildFly does, of course, integrate ActiveMQ Artemis as its JMS implementation, but this integration makes upgrading the broker difficult which can be important when you need bug fixes. was (Author: jbertram): The 2.16.0 release is a bit old at this point. Can you reproduce with the latest 2.20.0 release? In general, I would recommend running your broker _standalone_ (i.e. outside of containers like WildFly). WildFly does, of course, integrate ActiveMQ Artemis as its JMS implementation, but this integration makes upgrading the broker difficult which can be important when you need bug fixes. > STOMP Websocket client disconnected after ConcurrentModificationException in > Broker > ----------------------------------------------------------------------------------- > > Key: ARTEMIS-3509 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3509 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: Broker > Affects Versions: 2.16.0 > Reporter: Elodie Vandromme > Priority: Major > > Web clients connected through WebSocket are randomly disconnected from > artemis broker without notification of the disconnection. > A ConcurrentModificationException is raised; > {noformat} > [2021-09-28 10:26:53,591] - [WILDFLY] - [WARN ] - [Thread-11 > ([ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@444dc7ba|mailto:ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@444dc7ba])] > - [org.apache.activemq.artemis.core.server] : *AMQ222151: removing consumer > which did not handle a message*, consumer=ServerConsumerImpl [id=1990, > filter=null, binding=LocalQueueBinding [address=jms.topic.defended_assetFull, > queue=QueueImpl[name=d1586796-2035-11ec-8d2e-00505689a76b, > postOffice=PostOfficeImpl > [server=ActiveMQServerImpl::serverUUID=2f00c36f-2034-11ec-8d2e-00505689a76b], > temp=true]@4180826b, filter=null, name=d1586796-2035-11ec-8d2e-00505689a76b, > clusterName=d1586796-2035-11ec-8d2e-00505689a76b2f00c36f-2034-11ec-8d2e-00505689a76b]], > > message=Reference[2019]:RELIABLE:CoreMessage[messageID=2019,durable=true,userID=d5e2d1c3-2035-11ec-8d2e-00505689a76b,priority=4, > timestamp=Tue Sep 28 10:26:53 CEST 2021,expiration=0, durable=true, > address=jms.topic.defended_assetFull,size=6520,properties=TypedProperties[__AMQ_CID=f9eab79a-2034-11ec-8d2e-00505689a76b,_AMQ_ROUTING_TYPE=0]]@155890432: > java.util.ConcurrentModificationException > at > java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) > at java.util.ArrayList$Itr.next(ArrayList.java:859) > at > org.apache.activemq.artemis.core.server.impl.RefsOperation.afterCommit(RefsOperation.java:179) > at > org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.afterCommit(TransactionImpl.java:579) > at > org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.access$100(TransactionImpl.java:40) > at > org.apache.activemq.artemis.core.transaction.impl.TransactionImpl$2.done(TransactionImpl.java:322) > at > org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:190) > at > org.apache.activemq.artemis.core.persistence.impl.journal.OperationContextImpl.executeOnCompletion(OperationContextImpl.java:128) > at > org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.afterCompleteOperations(AbstractJournalStorageManager.java:321) > at > org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.commit(TransactionImpl.java:313) > at > org.apache.activemq.artemis.core.transaction.impl.TransactionImpl.commit(TransactionImpl.java:264) > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.commit(ServerSessionImpl.java:1284) > at > org.apache.activemq.artemis.core.protocol.stomp.StompSession$1.run(StompSession.java:164) > at > org.apache.activemq.artemis.core.protocol.stomp.StompSession.afterDelivery(StompSession.java:116) > at > org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:511) > at > org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:3744) > at > org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:3048) > at > org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2400(QueueImpl.java:125) > at > org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4119) > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > at > org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > {noformat} > Artemis (2.16.0) is deployed in Wildfly (24.0.1.Final) > Clients are connected to stomp acceptor: > {code:xml} > <acceptor name="stomp-over-ws" > factory-class="org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory"> > <param name="host" value="0.0.0.0" /> > <param name="protocols" value="STOMP" /> > <param name="port" value="61614" /> > </acceptor> > {code} > Bug is random but is reproduced quite often with a full scenario we have (on > one topic or another) so we are able to reproduce it and add logs if > necessary. -- This message was sent by Atlassian Jira (v8.20.1#820001)