java.util.ConcurrentModificationException starting ear files with the release of Apache Tomee Plus 7.1.2

125 views Asked by At

With the release of Apache TomEE Plus 7.1.2, our application is not starting. It starts in 7.1.1. I narrowed it down to this code change in org.apache.openejb.assembler.classic.Assembler.createApplication method at line 829. It seems to only happen when there are multiple web modules defined in the application.xml. I can't find any doc on why this was introduced.

 for (Map.Entry entry : appContext.getProperties().entrySet()) {
      if (Module.class.isInstance(entry.getValue())) {
        appContext.getProperties().remove(entry.getKey());
      }
    }

One thing to note is if I put the 7.1.1 version of the openejb-core jar, the error goes away. Here is the stacktrace.

org.apache.openejb.OpenEJBException: Creating application failed: C:\apps\apache-tomee-plus-7.1.2\apps\ourApplication: null
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1101)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:755)
        at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:633)
        at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:485)
        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:150)
        at org.apache.openejb.OpenEJB.init(OpenEJB.java:307)
        at org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:247)
        at org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:168)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:137)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:639)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:662)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
    Caused by: java.util.ConcurrentModificationException
        at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719)
        at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:752)
        at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:750)
        at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
        at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:829)
        ... 18 more
0

There are 0 answers