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

StackOverflowError in CpsTransformer running Declarative on JVMs with small -Xss in workflow-cps 2.33

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      With the last update of Pipeline plugins of today, a crash occurs just after the SCM step with the crash. See the joined file for the stack.

        Attachments

        1. pluginlist.xml
          7 kB
        2. stack.txt
          78 kB
        3. visited-lines
          166 kB

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            And on Windows it only fails when using the JRE bundled in the installer. Not using a downloaded JDK 8u66. ??

            Show
            jglick Jesse Glick added a comment - And on Windows it only fails when using the JRE bundled in the installer. Not using a downloaded JDK 8u66. ??
            Hide
            jglick Jesse Glick added a comment -

            Apparently because the bundled JRE is a 32-bit client JVM whereas I had downloaded a 64-bit server JVM. If I download the 32-bit JDK for Windows I can see the failure.

            Finally I can see the error on Linux, using JDK 8u66 in a 32-bit download (though not passing -client, so using the server JVM). Yet a 32-bit 8u131 is fine, and when I go back to the 32-bit 8u66 it works too. So perhaps it occurs only under some nondeterministic conditions.

            Show
            jglick Jesse Glick added a comment - Apparently because the bundled JRE is a 32-bit client JVM whereas I had downloaded a 64-bit server JVM. If I download the 32-bit JDK for Windows I can see the failure. Finally I can see the error on Linux, using JDK 8u66 in a 32-bit download (though not passing -client , so using the server JVM). Yet a 32-bit 8u131 is fine, and when I go back to the 32-bit 8u66 it works too. So perhaps it occurs only under some nondeterministic conditions.
            Hide
            jglick Jesse Glick added a comment -

            Attaching list of calls being made to CpsTransformer.visit(ASTNode). Does not really look like an infinite loop of any kind; just like a lot of recursion, which sometimes bombs out. Indeed when I run on the 32-bit Windows JRE but add -Xss4m it works. So I think the changes made in 2.33 just used deeper calls than before, and on JVMs with small defaults from ergonomics, that was the frame that broke the camel’s stack.

            Show
            jglick Jesse Glick added a comment - Attaching list of calls being made to CpsTransformer.visit(ASTNode) . Does not really look like an infinite loop of any kind; just like a lot of recursion, which sometimes bombs out. Indeed when I run on the 32-bit Windows JRE but add -Xss4m it works. So I think the changes made in 2.33 just used deeper calls than before, and on JVMs with small defaults from ergonomics, that was the frame that broke the camel’s stack.
            Hide
            jglick Jesse Glick added a comment -

            Andrew Bayer so it looks like it exploded somewhere around here. Just look at that indentation!

            Show
            jglick Jesse Glick added a comment - Andrew Bayer so it looks like it exploded somewhere around here . Just look at that indentation!
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            pom.xml
            http://jenkins-ci.org/commit/workflow-cps-plugin/0595328fc0ba6fc8743ea67937c6da2386156d6e
            Log:
            Merge pull request #140 from jglick/StackOverflowError-JENKINS-44578

            JENKINS-44578 Use native CpsTransformer

            Compare: https://github.com/jenkinsci/workflow-cps-plugin/compare/875d2bc36582...0595328fc0ba

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml http://jenkins-ci.org/commit/workflow-cps-plugin/0595328fc0ba6fc8743ea67937c6da2386156d6e Log: Merge pull request #140 from jglick/StackOverflowError- JENKINS-44578 JENKINS-44578 Use native CpsTransformer Compare: https://github.com/jenkinsci/workflow-cps-plugin/compare/875d2bc36582...0595328fc0ba

              People

              • Assignee:
                jglick Jesse Glick
                Reporter:
                edtech Ed Ed
              • Votes:
                4 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: