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

UpstreamTrigger fails with NPE

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Blocker
    • Resolution: Fixed
    • core
    • Jenkins 2.72

    Description

      Within the current Jenkins, the upstrem-trigger mechanism fails with a NPE.

      To see the error, just create two "Pipeline" projects via Jenkins Web-UI:

      First is named "Kevin", the script is:

      pipeline {
      
        agent any
      
        stages {
          stage("Hello") {
            steps {
                script {
                    sh "echo Kevin here"
                }
            }
          }
        }
      
      }
      

      Starting this project works fine.

      Now, second project is named "Chantalle", the script is:

      pipeline {
      
        agent any
      
        triggers {
          upstream(
            threshold: hudson.model.Result.SUCCESS,
            upstreamProjects: "../Kevin"
          )
        }
      
        stages {
          stage("Hello") {
            steps {
                script {
                    sh "echo Chantalle here"
                }
            }
          }
        }
      
      }
      

      Similar, starting this project at its own works fine.

      But when starting "Kevin" again, I expect "Chantalle" to be executed afterwards. Instead, a NPE is thrown, and "Chantalle" does not start:

      Aug 01, 2017 1:39:38 PM org.jenkinsci.plugins.workflow.job.WorkflowRun finish
      INFO: Kevin #6 completed: SUCCESS
      Aug 01, 2017 1:39:38 PM hudson.model.listeners.RunListener report
      WARNING: RunListener failed
      java.lang.NullPointerException
          at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
          at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
          at hudson.model.Items.fromNameList(Items.java:231)
          at jenkins.triggers.ReverseBuildTrigger$RunListenerImpl.calculateCache(ReverseBuildTrigger.java:256)
          at jenkins.triggers.ReverseBuildTrigger$RunListenerImpl.onCompleted(ReverseBuildTrigger.java:279)
          at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:211)
          at org.jenkinsci.plugins.workflow.job.WorkflowRun.finish(WorkflowRun.java:663)
          at org.jenkinsci.plugins.workflow.job.WorkflowRun.access$1400(WorkflowRun.java:134)
          at org.jenkinsci.plugins.workflow.job.WorkflowRun$GraphL.onNewHead(WorkflowRun.java:966)
          at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.notifyListeners(CpsFlowExecution.java:1221)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$3.run(CpsThreadGroup.java:407)
          at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.run(CpsVmExecutorService.java:35)
          at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
          at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Issue Links

          Activity

            Tons of kudos to abayer for this intensive support. We found a nice way to DoS a jenkins' jobs that depend on upstream triggers.

            tumbl3w33d Sir Tumbleweed added a comment - Tons of kudos to abayer for this intensive support. We found a nice way to DoS a jenkins' jobs that depend on upstream triggers.

            Have been just informed about the problem. Big thank you for your support!

            ghostcity Stefan Gasterstädt added a comment - Have been just informed about the problem. Big thank you for your support!
            abayer Andrew Bayer added a comment - PR up at https://github.com/jenkinsci/jenkins/pull/2966

            Code changed in jenkins
            User: Andrew Bayer
            Path:
            core/src/main/java/jenkins/triggers/ReverseBuildTrigger.java
            test/src/test/java/jenkins/triggers/ReverseBuildTriggerTest.java
            http://jenkins-ci.org/commit/jenkins/f8dd58425f54e27f5bf74a0bb769c50cbb96bc08
            Log:
            [FIXED JENKINS-45909] ReverseBuildTrigger.upstreamProjects should be null safe

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: core/src/main/java/jenkins/triggers/ReverseBuildTrigger.java test/src/test/java/jenkins/triggers/ReverseBuildTriggerTest.java http://jenkins-ci.org/commit/jenkins/f8dd58425f54e27f5bf74a0bb769c50cbb96bc08 Log: [FIXED JENKINS-45909] ReverseBuildTrigger.upstreamProjects should be null safe
            oleg_nenashev Oleg Nenashev added a comment -

            The fix has been integrated towards Jenkins 2.74. Marking it as LTS candidate.

            IMHO the fix is not ideal, JENKINS-46161 is a follow-up

            oleg_nenashev Oleg Nenashev added a comment - The fix has been integrated towards Jenkins 2.74. Marking it as LTS candidate. IMHO the fix is not ideal, JENKINS-46161 is a follow-up

            People

              abayer Andrew Bayer
              ghostcity Stefan Gasterstädt
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: