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

Null value passed through ParametersAction causes all jobs to throw StackTrace

    XMLWordPrintable

Details

    Description

      I was attempting to trigger a build using the System Groovy Script with the following method call:

      item.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(null))

      The passing of null should cause an NPE, but because of this all jobs that were submitted from then on were stuck in our Build Queue. In order to fix it we had to bounce our Jenkins instance.

      Initial Stack Trace:
      SEVERE: Timer task hudson.model.LoadStatistics$LoadStatisticsUpdater@1b2ee745 failed
      java.lang.NullPointerException
      at hudson.model.ParametersAction.getAssignedLabel(ParametersAction.java:140)
      at hudson.model.Queue$Item.getAssignedLabelFor(Queue.java:2079)
      at hudson.model.Label$1.matches(Label.java:120)
      at hudson.model.LoadStatistics.computeSnapshot(LoadStatistics.java:361)
      at hudson.model.LoadStatistics$LoadStatisticsUpdater.doRun(LoadStatistics.java:395)
      at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:50)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:724)

      Stack Traces that occurred on all other jobs is attached.

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment -

            Nothing to do in the Groovy plugin.
            Since https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/ParametersAction.java#L102 is not documented, I agree it makes sense to add such defensive logic to the core

            oleg_nenashev Oleg Nenashev added a comment - Nothing to do in the Groovy plugin. Since https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/ParametersAction.java#L102 is not documented, I agree it makes sense to add such defensive logic to the core
            liketic Li Ke added a comment -

            I think this should already been fixed...

            liketic Li Ke added a comment - I think this should already been fixed...

            Looks like this has been fixed already

            mmclaughlin Mitch McLaughlin added a comment - Looks like this has been fixed already

            People

              Unassigned Unassigned
              sfletche Stacey Fletcher
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: