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

Infinite loop in StandardGraphLookupView

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • workflow-api-plugin

      About once a week, multiple threads handling HTTP requests matching the patterns /blue/rest/organizations/jenkins/pipelines/<folder>/pipelines/<job>/runs/<number>/ or /blue/organizations/jenkins/<folder>%2F<job>/detail/<job>/<number>/pipeline/ will get stuck in an infinite loop in StandardGraphLookupView.bruteForceScanForEnd.

      Each thread that get stuck ties a CPU core, and they tend to happen in batches of about 20-30 threads. This results in the Jenkins web UI appearing to be very slow to users. The resolution so far has been to use the JavaMelody monitoring plugin to kill the stuck threads one by one.

      I've attached stack traces from two example threads showing that they get stuck in the same place, as well as a snapshot of the CPU usage at the time. There was nothing supicious going on at the time, and I've been unable to manually reproduce the issue.

      I believe something like https://github.com/francoiscampbell/workflow-api-plugin/compare/master...graph-lookup-concurrent should address the issue, but I'm not sure how to verify that.

        1. jenkins-loop-cpu.png
          130 kB
          Francois Campbell
        2. jenkins-loop-stack.txt
          12 kB
          Francois Campbell
        3. jenkins-loop-stack-jelly.txt
          15 kB
          Francois Campbell
        4. jenkins-loop-threads.png
          409 kB
          Francois Campbell

            Unassigned Unassigned
            fcampbell Francois Campbell
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: