Description
In our test suite, we had a test failing with the error:
[0m[31m07:57:14,980 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 64) MSC000001: Failed to start service jboss.messaging-activemq.default.jms.manager: org.jboss.msc.service.StartException in service jboss.messaging-activemq.default.jms.manager: WFLYMSGAMQ0033: Failed to start service at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:203) at org.wildfly.extension.messaging.activemq.jms.JMSService.access$000(JMSService.java:63) at org.wildfly.extension.messaging.activemq.jms.JMSService$1.run(JMSService.java:97) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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) at org.jboss.threads.JBossThread.run(JBossThread.java:320) Caused by: java.util.ConcurrentModificationException at java.util.Hashtable$Enumerator.next(Hashtable.java:1367) at org.apache.activemq.artemis.core.config.impl.ConfigurationImpl.parseSystemProperties(ConfigurationImpl.java:308) at org.apache.activemq.artemis.core.config.impl.ConfigurationImpl.parseSystemProperties(ConfigurationImpl.java:299) at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:488) at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:466) at org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:412) at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:199) ... 8 more
It is possible that our tests write some System Properties while Artemis is started.
To avoid this issue, Artemis should add a synchronized(properties) block in org.apache.activemq.artemis.core.config.impl.ConfigurationImpl#parseSystemProperties(java.util.Properties).