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

CME in WorkflowRun.logsToCopy

    XMLWordPrintable

Details

    Description

      ParallelStepTest.invisibleParallelBranch observed to fail with:

      java.lang.RuntimeException: Failed to serialize org.jenkinsci.plugins.workflow.job.WorkflowRun#logsToCopy for class org.jenkinsci.plugins.workflow.job.WorkflowRun
      	at ...
      Caused by: java.util.ConcurrentModificationException: null
      	at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:394)
      	at java.util.LinkedHashMap$EntryIterator.next(LinkedHashMap.java:413)
      	at java.util.LinkedHashMap$EntryIterator.next(LinkedHashMap.java:412)
      	at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:75)
      	at ...
      	at hudson.XmlFile.write(XmlFile.java:178)
      	at hudson.model.Run.save(Run.java:1915)
      	at org.jenkinsci.plugins.workflow.support.steps.input.InputStepExecution.postSettlement(InputStepExecution.java:196)
      	at org.jenkinsci.plugins.workflow.support.steps.input.InputStepExecution.proceed(InputStepExecution.java:149)
      	at org.jenkinsci.plugins.workflow.steps.parallel.ParallelStepTest$9.evaluate(ParallelStepTest.java:360)
      	at ...
      

      Normally Run.save would be called at the end of copyLogs, when the state is consistent, but this is coming from another thread. Possibly needs to be some kind of concurrent map.

      Attachments

        Issue Links

          Activity

            jglick Jesse Glick added a comment -

            Observed to fail more consistently when applying a fix for JENKINS-30055.

            jglick Jesse Glick added a comment - Observed to fail more consistently when applying a fix for JENKINS-30055 .

            Code changed in jenkins
            User: Jesse Glick
            Path:
            job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
            http://jenkins-ci.org/commit/workflow-plugin/6140881717bf937ecb42bf77ec11dcc208bedd0c
            Log:
            [FIXED JENKINS-27057] Made logsToCopy a concurrent map, since WorkflowRun.save can be called from various threads.
            The mutations are all guarded by WorkflowRun.completed, so we just need to allow serialization to see a snapshot.
            (There was already a race condition in the case of abrupt shutdown, but at worst these should result in duplicated log text.)

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-plugin/6140881717bf937ecb42bf77ec11dcc208bedd0c Log: [FIXED JENKINS-27057] Made logsToCopy a concurrent map, since WorkflowRun.save can be called from various threads. The mutations are all guarded by WorkflowRun.completed, so we just need to allow serialization to see a snapshot. (There was already a race condition in the case of abrupt shutdown, but at worst these should result in duplicated log text.)

            Code changed in jenkins
            User: Jesse Glick
            Path:
            aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java
            job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
            http://jenkins-ci.org/commit/workflow-plugin/6de84edb0dd337b2179cb3f1bca1de396c10907d
            Log:
            JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c.
            Log text was being doubly copied.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-plugin/6de84edb0dd337b2179cb3f1bca1de396c10907d Log: JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c. Log text was being doubly copied.

            Code changed in jenkins
            User: Jesse Glick
            Path:
            aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java
            job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
            http://jenkins-ci.org/commit/workflow-plugin/6c4b0ba37ee38424b16fc68ccc33a795306823f5
            Log:
            Merge pull request #300 from jglick/EchoStepTest

            JENKINS-27057 Doubled-up log text

            Compare: https://github.com/jenkinsci/workflow-plugin/compare/30a80b44ef52...6c4b0ba37ee3

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-plugin/6c4b0ba37ee38424b16fc68ccc33a795306823f5 Log: Merge pull request #300 from jglick/EchoStepTest JENKINS-27057 Doubled-up log text Compare: https://github.com/jenkinsci/workflow-plugin/compare/30a80b44ef52...6c4b0ba37ee3

            Code changed in jenkins
            User: Jesse Glick
            Path:
            aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java
            http://jenkins-ci.org/commit/workflow-basic-steps-plugin/f9bd8b718259d10e3b4d969124c52bfa39f067cd
            Log:
            JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c.
            Log text was being doubly copied.
            Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java http://jenkins-ci.org/commit/workflow-basic-steps-plugin/f9bd8b718259d10e3b4d969124c52bfa39f067cd Log: JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c. Log text was being doubly copied. Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            Code changed in jenkins
            User: Jesse Glick
            Path:
            job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
            http://jenkins-ci.org/commit/workflow-job-plugin/16131b6e9a8fa11a3ef682eaffbea0c62e2fd694
            Log:
            [FIXED JENKINS-27057] Made logsToCopy a concurrent map, since WorkflowRun.save can be called from various threads.
            The mutations are all guarded by WorkflowRun.completed, so we just need to allow serialization to see a snapshot.
            (There was already a race condition in the case of abrupt shutdown, but at worst these should result in duplicated log text.)
            Originally-Committed-As: 6140881717bf937ecb42bf77ec11dcc208bedd0c

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-job-plugin/16131b6e9a8fa11a3ef682eaffbea0c62e2fd694 Log: [FIXED JENKINS-27057] Made logsToCopy a concurrent map, since WorkflowRun.save can be called from various threads. The mutations are all guarded by WorkflowRun.completed, so we just need to allow serialization to see a snapshot. (There was already a race condition in the case of abrupt shutdown, but at worst these should result in duplicated log text.) Originally-Committed-As: 6140881717bf937ecb42bf77ec11dcc208bedd0c

            Code changed in jenkins
            User: Jesse Glick
            Path:
            aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java
            http://jenkins-ci.org/commit/workflow-multibranch-plugin/68c93d030ae6aaf46f84979d5277af4a4eb90248
            Log:
            JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c.
            Log text was being doubly copied.
            Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/EchoStepTest.java http://jenkins-ci.org/commit/workflow-multibranch-plugin/68c93d030ae6aaf46f84979d5277af4a4eb90248 Log: JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c. Log text was being doubly copied. Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            Code changed in jenkins
            User: Jesse Glick
            Path:
            job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
            http://jenkins-ci.org/commit/workflow-job-plugin/ec0193002871a982cb8fcdbb17561ecbfdf90933
            Log:
            JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c.
            Log text was being doubly copied.
            Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java http://jenkins-ci.org/commit/workflow-job-plugin/ec0193002871a982cb8fcdbb17561ecbfdf90933 Log: JENKINS-27057 Correcting mistake in 6140881717bf937ecb42bf77ec11dcc208bedd0c. Log text was being doubly copied. Originally-Committed-As: 6de84edb0dd337b2179cb3f1bca1de396c10907d

            People

              jglick Jesse Glick
              jglick Jesse Glick
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: