Clebert Suconic created ARTEMIS-4786:
----------------------------------------
Summary: ConcurrentModificationException on Page.destroy
Key: ARTEMIS-4786
URL: https://issues.apache.org/jira/browse/ARTEMIS-4786
Project: ActiveMQ Artemis
Issue Type: Bug
Reporter: Clebert Suconic
I observed this while running
org.apache.activemq.artemis.tests.integration.client.ConcurrentCreateDeleteProduceTest.testConcurrentProduceCreateAndDelete
in loop:
java.lang.AssertionError: null is not a legitimate internal value. Concurrent
Modification?
at
io.netty.util.collection.IntObjectHashMap.toExternal(IntObjectHashMap.java:103)
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at
io.netty.util.collection.IntObjectHashMap.access$900(IntObjectHashMap.java:37)
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at
io.netty.util.collection.IntObjectHashMap$PrimitiveIterator.value(IntObjectHashMap.java:650)
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at
io.netty.util.collection.IntObjectHashMap$2$1.next(IntObjectHashMap.java:234)
~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at
org.apache.activemq.artemis.core.paging.cursor.impl.PageSubscriptionImpl.destroy(PageSubscriptionImpl.java:642)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.destroyPaging(QueueImpl.java:2382)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:2441)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2512)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:2461)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.deleteQueue(ServerSessionImpl.java:1212)
~[classes/:?]
at
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.deleteQueue(ServerSessionImpl.java:1196)
~[classes/:?]
at
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.slowPacketHandler(ServerSessionPacketHandler.java:436)
~[classes/:?]
On the occasion I had a fix for ARTEMIS-4165 in place, but the issue seems
orthogonal to me.
The cleanup methods are clearing the Netty collection out of abundance of
caution (to help out GC). The fix here is just to stop doing that.
As part of this fix I'm also adding a check-leak test to make sure such objects
are not leaking.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact