Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-18775

[XStream] ConcurrentModificationException from DefaultConverterLookup

XMLWordPrintable

      A user reported a hung Jenkins instance displaying an error:

      org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException 
      	at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:246) 
      	at jenkins.InitReactorRunner.run(InitReactorRunner.java:43) 
      	at jenkins.model.Jenkins.executeReactor(Jenkins.java:904) 
      	at jenkins.model.Jenkins.<init>(Jenkins.java:804) 
      	at hudson.model.Hudson.<init>(Hudson.java:81) 
      	at hudson.model.Hudson.<init>(Hudson.java:77) 
      	at hudson.WebAppMain$2.run(WebAppMain.java:214) 
      Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException 
      	at hudson.init.InitializerFinder.invoke(InitializerFinder.java:124) 
      	at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184) 
      	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259) 
      	at jenkins.model.Jenkins$7.runTask(Jenkins.java:893) 
      	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187) 
      	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94) 
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
      	at java.lang.Thread.run(Thread.java:722) 
      Caused by: java.lang.reflect.InvocationTargetException 
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      	at java.lang.reflect.Method.invoke(Method.java:601) 
      	at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120) 
      ... 8 more 
      Caused by: java.util.ConcurrentModificationException 
      	at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1115) 
      	at java.util.TreeMap$KeyIterator.next(TreeMap.java:1169) 
      	at com.thoughtworks.xstream.core.util.PrioritizedList$PrioritizedItemIterator.next(PrioritizedList.java:91) 
      	at com.thoughtworks.xstream.core.DefaultConverterLookup.lookupConverterForType(DefaultConverterLookup.java:55) 
      	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:56)
      

      Seems that DefaultConverterLookup is failing to synchronize access to its converters field; probably another thread was calling registerConverter in the middle of this loop.

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: