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

[XStream] ConcurrentModificationException from DefaultConverterLookup

      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.

          [JENKINS-18775] [XStream] ConcurrentModificationException from DefaultConverterLookup

          Jesse Glick added a comment -

          Jesse Glick added a comment - Upstream: http://jira.codehaus.org/browse/XSTR-744

          Code changed in jenkins
          User: Jesse Glick
          Path:
          xstream/src/java/com/thoughtworks/xstream/core/DefaultConverterLookup.java
          http://jenkins-ci.org/commit/xstream/f3cd8709b1bb640109ddd60daebe7d69bdb719e1
          Log:
          JENKINS-18775 It is necessary to synchronize access to converters, not just typeToConverterMap.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: xstream/src/java/com/thoughtworks/xstream/core/DefaultConverterLookup.java http://jenkins-ci.org/commit/xstream/f3cd8709b1bb640109ddd60daebe7d69bdb719e1 Log: JENKINS-18775 It is necessary to synchronize access to converters, not just typeToConverterMap.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/pom.xml
          http://jenkins-ci.org/commit/jenkins/89c94dda875fba273d22451c540c2ad9e4ac0197
          Log:
          [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/pom.xml http://jenkins-ci.org/commit/jenkins/89c94dda875fba273d22451c540c2ad9e4ac0197 Log: [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2831
          [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition. (Revision 89c94dda875fba273d22451c540c2ad9e4ac0197)

          Result = SUCCESS
          Jesse Glick : 89c94dda875fba273d22451c540c2ad9e4ac0197
          Files :

          • core/pom.xml

          dogfood added a comment - Integrated in jenkins_main_trunk #2831 [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition. (Revision 89c94dda875fba273d22451c540c2ad9e4ac0197) Result = SUCCESS Jesse Glick : 89c94dda875fba273d22451c540c2ad9e4ac0197 Files : core/pom.xml

          Code changed in jenkins
          User: Jesse Glick
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/d3fa3bc906c7cb88c267f36b8eba1150435f9aaf
          Log:
          JENKINS-18775 JENKINS-17248 Noting.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html http://jenkins-ci.org/commit/jenkins/d3fa3bc906c7cb88c267f36b8eba1150435f9aaf Log: JENKINS-18775 JENKINS-17248 Noting.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2834
          JENKINS-18775 JENKINS-17248 Noting. (Revision d3fa3bc906c7cb88c267f36b8eba1150435f9aaf)

          Result = UNSTABLE
          Jesse Glick : d3fa3bc906c7cb88c267f36b8eba1150435f9aaf
          Files :

          • changelog.html

          dogfood added a comment - Integrated in jenkins_main_trunk #2834 JENKINS-18775 JENKINS-17248 Noting. (Revision d3fa3bc906c7cb88c267f36b8eba1150435f9aaf) Result = UNSTABLE Jesse Glick : d3fa3bc906c7cb88c267f36b8eba1150435f9aaf Files : changelog.html

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/util/XStream2.java
          http://jenkins-ci.org/commit/jenkins/1d20c524e14353aa2c047586a300180d1cdf15d2
          Log:
          JENKINS-18775 Noting that this usage of XStream is unsupported and could cause future problems.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/util/XStream2.java http://jenkins-ci.org/commit/jenkins/1d20c524e14353aa2c047586a300180d1cdf15d2 Log: JENKINS-18775 Noting that this usage of XStream is unsupported and could cause future problems.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2839
          JENKINS-18775 Noting that this usage of XStream is unsupported and could cause future problems. (Revision 1d20c524e14353aa2c047586a300180d1cdf15d2)

          Result = SUCCESS
          Jesse Glick : 1d20c524e14353aa2c047586a300180d1cdf15d2
          Files :

          • core/src/main/java/hudson/util/XStream2.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2839 JENKINS-18775 Noting that this usage of XStream is unsupported and could cause future problems. (Revision 1d20c524e14353aa2c047586a300180d1cdf15d2) Result = SUCCESS Jesse Glick : 1d20c524e14353aa2c047586a300180d1cdf15d2 Files : core/src/main/java/hudson/util/XStream2.java

          Teppo Kurki added a comment -

          Are you quite sure about the fix in http://jenkins-ci.org/commit/xstream/f3cd8709b1bb640109ddd60daebe7d69bdb719e1 ?

          Just putting synchronized on all the methods fixes the problem, but is a potentially big bottleneck and not necessary, see https://issues.jenkins-ci.org/browse/JENKINS-19561?focusedCommentId=185282&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-185282

          Teppo Kurki added a comment - Are you quite sure about the fix in http://jenkins-ci.org/commit/xstream/f3cd8709b1bb640109ddd60daebe7d69bdb719e1 ? Just putting synchronized on all the methods fixes the problem, but is a potentially big bottleneck and not necessary, see https://issues.jenkins-ci.org/browse/JENKINS-19561?focusedCommentId=185282&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-185282

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/pom.xml
          http://jenkins-ci.org/commit/jenkins/20004f839d3b59920fd8cd608ff33ea691fe1326
          Log:
          [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition.

          (cherry picked from commit 89c94dda875fba273d22451c540c2ad9e4ac0197)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/pom.xml http://jenkins-ci.org/commit/jenkins/20004f839d3b59920fd8cd608ff33ea691fe1326 Log: [FIXED JENKINS-18775] Integrated XStream 1.4.4-jenkins-4 with attempted fix for race condition. (cherry picked from commit 89c94dda875fba273d22451c540c2ad9e4ac0197)

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

              Created:
              Updated:
              Resolved: