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

Pipeline: StackOverflowError at io.jenkins.blueocean.events.PipelineEventListener$StageEventPublisher.getParentBlock(PipelineEventListener.java:110)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • blueocean-plugin
    • None
    • Jenkins Version: 2.44
      Pipeline Groovy: 2.36
      Blue Ocean: 1.1.2
    • Blue Ocean - Candidates

      When executing a Pipeline script with a long-running loop that uses nested closures, a StackOverflowError occurs and the job aborts abruptly.

       

      Reproduction steps:

      1. Create a Pipeline job with this as the script:
        1. def finished = false
          def someMap = ['foo':'bar', 'baz':'spam']
          def someOtherMap = ['foo':'baz', 'baz':'bar']
          node {
            def incr = 0
            while (true) {
              someMap.each{ foo, bar ->
                sh "echo ${foo} ${bar} ${incr}"
                incr++
                someOtherMap.each{ baz, spam ->
                  sh "echo ${baz} ${spam} ${incr}"
                }
              }
            }
          }
      1. Run the job
      2. Wait for about an hour. For me, the loop executes nearly 4000 times before the error. Maybe easier to reproduce on a smaller stack.

      Attached is the (not-very-interesting) resultant stack trace.

            olamy Olivier Lamy
            xathien Zack Young
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: