java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922)
at java.util.HashMap$EntryIterator.next(HashMap.java:962)
at java.util.HashMap$EntryIterator.next(HashMap.java:960)
at java.util.HashMap.putAllForCreate(HashMap.java:554)
at java.util.HashMap.<init>(HashMap.java:298)
at ch.qos.logback.core.ContextBase.getCopyOfPropertyMap(ContextBase.java:68)
at ch.qos.logback.classic.spi.LoggerContextVO.<init>(LoggerContextVO.java:46)
at ch.qos.logback.classic.LoggerContext.updateLoggerContextVO(LoggerContext.java:86)
at ch.qos.logback.classic.LoggerContext.putProperty(LoggerContext.java:92)
at ch.qos.logback.core.util.ContextUtil.addHostNameAsProperty(ContextUtil.java:75)
at ch.qos.logback.classic.joran.action.ConfigurationAction.begin(ConfigurationAction.java:57)
at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:275)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:147)
at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:129)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
I'm seeing a similar ConcurrentModificationException but in a different hash map (one in ContextBase).
Is configuration expected to be thread-safe? Should I create a new issue?
The calling code is here: https://github.com/playframework/playframework/blob/2.3.6/framework/src/play/src/main/scala/play/api/Logger.scala#L256
Example stack trace: