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

Stack overflow error attempting to install a plugin to Jenkins 2.249.1

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • tics-plugin
    • None
    • jenkins/jenkins:2.249.1 docker image

      When I try to install a plugin from a new installation of the Jenkins 2.249.1 docker image, the docker console log reports a stack overflow error and never displays the "Install" button.

      Steps I took:

      1. Run Jenkins 2.249.1 in Docker docker run --rm -i -t -p 8080:8080 jenkins/jenkins:2.249.1
      2. Create no user
      3. Install no plugins
      4. Search for 'platformlabeler' from the "Available" tab of "Manage Jenkins" >> "Manage Plugins"
      5. Click the checkbox on the 'platformlabeler' row
      6. Confirm that the console output shows the stack overflow error and no "Install" button is displayed
      2020-10-06 20:18:26.474+0000 [id=73]    WARNING h.i.i.InstallUncaughtExceptionHandler#handleException
      org.apache.commons.jelly.JellyTagException: jar:file:/var/jenkins_home/war/WEB-INF/lib/jenkins-core-2.249.1.jar!/lib/layout/isAdmin.jelly:28:21: <d:invokeBody> java.lang.StackOverflowError
              at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
      ... lots of stack trace deleted
      Caused: javax.servlet.ServletException
              at org.kohsuke.stapler.Facet$1.dispatch(Facet.java:249)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
              at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:170)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
      

      Issue was not visible in update center data retrieved 18 hours ago by Jenkins 2.249.1. Became visible in my Jenkins 2.249.1 installation after I pressed "Check now" in the plugin manager.

          [JENKINS-63877] Stack overflow error attempting to install a plugin to Jenkins 2.249.1

          Tim Jacomb added a comment - - edited

          Tim Jacomb added a comment - - edited reproduced on 2.204.6 https://gist.github.com/timja/627f0124fd7dd3df2c58001cebefbb7e

          Mark Waite added a comment -

          The stack overflow message overruns the Jira limit for content.

          See https://home.markwaite.net/~mwaite/stackoverflow.txt for the complete stack session log of a Docker session using Jenkins 2.249.1

          Mark Waite added a comment - The stack overflow message overruns the Jira limit for content. See https://home.markwaite.net/~mwaite/stackoverflow.txt for the complete stack session log of a Docker session using Jenkins 2.249.1

          Tim Jacomb added a comment - - edited

          recent releases:

          mirrorbrain@ip-172-31-33-96:~$ cat /tmp/update-center2-rerecent-releases.json
          {"releases":[{"name":"42crunch-security-audit","version":"3.8"},{"name":"configuration-as-code","version":"1.36.1-beta"}]}
          

          Tim Jacomb added a comment - - edited recent releases: mirrorbrain@ip-172-31-33-96:~$ cat /tmp/update-center2-rerecent-releases.json { "releases" :[{ "name" : "42crunch-security-audit" , "version" : "3.8" },{ "name" : "configuration-as-code" , "version" : "1.36.1-beta" }]}

          Tim Jacomb added a comment -

          These are the last plugins before it starts erroring:

          Tim Jacomb added a comment - These are the last plugins before it starts erroring:

          Daniel Beck added a comment -

          https://github.com/jenkins-infra/update-center2/pull/458

          https://plugins.jenkins.io/tics/#dependencies

          I mean, the dependency onto itself is weird enough, but how do you add TWO?

          Daniel Beck added a comment - https://github.com/jenkins-infra/update-center2/pull/458 https://plugins.jenkins.io/tics/#dependencies I mean, the dependency onto itself is weird enough, but how do you add TWO?

          Daniel Beck added a comment -

          There's probably a robustness improvement here, both in core and in update-center2, and of course the bug in tics plugin, but I'm using this issue for the current blocker.

          Daniel Beck added a comment - There's probably a robustness improvement here, both in core and in update-center2, and of course the bug in tics plugin, but I'm using this issue for the current blocker.

          Daniel Beck added a comment -

          Should be resolved in ~5 minutes once we've regenerated the update site metadata.

          Daniel Beck added a comment - Should be resolved in ~5 minutes once we've regenerated the update site metadata.

          Daniel Beck added a comment -

          …and we're back!

          Might need a click on "Check Now" to get rid of the cached local data. Afterwards, no more stack overflows.

          Daniel Beck added a comment - …and we're back! Might need a click on "Check Now" to get rid of the cached local data. Afterwards, no more stack overflows.

          Mark Waite added a comment -

          Confirmed that it works for me. Thanks for the fast response danielbeck!

          Mark Waite added a comment - Confirmed that it works for me. Thanks for the fast response danielbeck !

          Daniel Beck added a comment -

          I filed INFRA-2755 to prevent publication of such plugins in the first place on the infra side, and JENKINS-63883 as a robustness improvement in Jenkins.

          Daniel Beck added a comment - I filed INFRA-2755 to prevent publication of such plugins in the first place on the infra side, and JENKINS-63883 as a robustness improvement in Jenkins.

            danielbeck Daniel Beck
            markewaite Mark Waite
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: