• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • workflow-cps-plugin
    • Jenkins 2.19-stable with a single commit that bumps groovy 2.4.8
      workflow-cps-plugin 2.23

      The issue depicted in blocked_threads.png appeared in our production server.
      (it results on a broken state that we fixed by rebooting the server)

      The result of the first investigation is the following:
      cleanUpGlobalClassSet
      https://github.com/jenkinsci/workflow-cps-plugin/blob/master/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.java#L1037

      seems to have compatibility issues with the memory leak fix implemented in groovy 2.4.8
      https://github.com/apache/groovy/pull/219/commits/f7c688e101af77170448cf0be9103c4e6dac3f74

      It seems that gradle had a similar issue, that was fixed by the following commit in groovy 2.4.8
      https://github.com/apache/groovy/commit/82c9d20a160c7e4f59630f163a68df82f5e0eba4

          [JENKINS-42189] Groovy 2.4.8 interoperability issues

          Code changed in jenkins
          User: Jesse Glick
          Path:
          Jenkinsfile
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/1a73b74a907c47e06d103875c89f5c7efc8890ab
          Log:
          [FIXED JENKINS-42189] In Groovy 2.4.8+, ClassInfo.klazz is replaced by .classRef.
          cleanUpGlobalClassValue needs to walk through those (not just Sentinel.class over and over);
          and cleanUpGlobalClassSet is no longer relevant since classRef is weak.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: Jenkinsfile pom.xml src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.java http://jenkins-ci.org/commit/workflow-cps-plugin/1a73b74a907c47e06d103875c89f5c7efc8890ab Log: [FIXED JENKINS-42189] In Groovy 2.4.8+, ClassInfo.klazz is replaced by .classRef. cleanUpGlobalClassValue needs to walk through those (not just Sentinel.class over and over); and cleanUpGlobalClassSet is no longer relevant since classRef is weak.

          FYI: the vote to release Groovy 2.4.9 has been started: http://mail-archives.apache.org/mod_mbox/groovy-dev/201702.mbox/browser

          Daniel Spilker added a comment - FYI: the vote to release Groovy 2.4.9 has been started: http://mail-archives.apache.org/mod_mbox/groovy-dev/201702.mbox/browser

          Jesse Glick added a comment -

          Thanks for tip. As noted in GROOVY-8092 I see no problem with that.

          Jesse Glick added a comment - Thanks for tip. As noted in GROOVY-8092 I see no problem with that.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          content/_data/changelogs/weekly.yml
          content/_partials/changes.html.haml
          http://jenkins-ci.org/commit/jenkins.io/258844d287e599fb9239faaa25499657f987978b
          Log:
          JENKINS-42189 Warn people against using 2.47.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: content/_data/changelogs/weekly.yml content/_partials/changes.html.haml http://jenkins-ci.org/commit/jenkins.io/258844d287e599fb9239faaa25499657f987978b Log: JENKINS-42189 Warn people against using 2.47.

          Code changed in jenkins
          User: Daniel Beck
          Path:
          content/_data/changelogs/weekly.yml
          content/_partials/changes.html.haml
          http://jenkins-ci.org/commit/jenkins.io/d31c43dafad414ecf6b72efed087c7cb48f0317e
          Log:
          Merge pull request #694 from jglick/warning-JENKINS-42189

          JENKINS-42189 Warn people against using 2.47

          Compare: https://github.com/jenkins-infra/jenkins.io/compare/f9848c1d08e2...d31c43dafad4

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: content/_data/changelogs/weekly.yml content/_partials/changes.html.haml http://jenkins-ci.org/commit/jenkins.io/d31c43dafad414ecf6b72efed087c7cb48f0317e Log: Merge pull request #694 from jglick/warning- JENKINS-42189 JENKINS-42189 Warn people against using 2.47 Compare: https://github.com/jenkins-infra/jenkins.io/compare/f9848c1d08e2...d31c43dafad4

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/test/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecutionTest.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/e6038f2494d55f13e2294f04c720f6fdce28508a
          Log:
          JENKINS-42189 Using https://github.com/jenkinsci/jenkins-test-harness/pull/50 to amend #109 to fail if we get another soft leak.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/test/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecutionTest.java http://jenkins-ci.org/commit/workflow-cps-plugin/e6038f2494d55f13e2294f04c720f6fdce28508a Log: JENKINS-42189 Using https://github.com/jenkinsci/jenkins-test-harness/pull/50 to amend #109 to fail if we get another soft leak.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/test/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecutionTest.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/7e0b27433db5a4bb72fe47b826fb54ca29d5bf7b
          Log:
          Merge pull request #111 from jglick/MemoryAssert

          JENKINS-42189 Forcing a test failure in case of another soft leak

          Compare: https://github.com/jenkinsci/workflow-cps-plugin/compare/d59b417e08b8...7e0b27433db5

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/test/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecutionTest.java http://jenkins-ci.org/commit/workflow-cps-plugin/7e0b27433db5a4bb72fe47b826fb54ca29d5bf7b Log: Merge pull request #111 from jglick/MemoryAssert JENKINS-42189 Forcing a test failure in case of another soft leak Compare: https://github.com/jenkinsci/workflow-cps-plugin/compare/d59b417e08b8...7e0b27433db5

          Emmanuel Debanne added a comment - - edited

          When testing groovy 2.4.8, we needed to restart twice Jenkins. We already provided a screenshot corresponding to the first restart on on the 18th. I add an attachment with the thread dump of the second restart on the 21th, hoping it will help to investigate the deadlock. The job names have been replaced by 'AJOB'.

          Emmanuel Debanne added a comment - - edited When testing groovy 2.4.8, we needed to restart twice Jenkins. We already provided a screenshot corresponding to the first restart on on the 18th. I add an attachment with the thread dump of the second restart on the 21th, hoping it will help to investigate the deadlock. The job names have been replaced by 'AJOB'.

          Jesse Glick added a comment -

          edilect just please pick up the workflow-cps update and verify that this addresses the issue for you.

          Jesse Glick added a comment - edilect just please pick up the workflow-cps update and verify that this addresses the issue for you.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/dc00a0e56c08ee30e74ea8b848bc3ab8e69b7eff
          Log:
          Merge pull request #109 from jglick/groovy-2.4.8-JENKINS-42189

          JENKINS-42189 Fix ClassInfo cleanup in Groovy 2.4.8+

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/cps/CpsFlowExecution.java http://jenkins-ci.org/commit/workflow-cps-plugin/dc00a0e56c08ee30e74ea8b848bc3ab8e69b7eff Log: Merge pull request #109 from jglick/groovy-2.4.8- JENKINS-42189 JENKINS-42189 Fix ClassInfo cleanup in Groovy 2.4.8+

            jglick Jesse Glick
            yetanotherion Jon Alberdi
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: