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

java.lang.NullPointerException when archive the artifacts as a conditional step (single or multiple)

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • core
    • Reproduces on linux/mac/windows environment.
      Reproduces on both: mastres and slaves.
      Jenkins version: 1.568

      Have following config (see attached )

      Build fails with following log:

      Run condition [Always] enabling perform for step [Archive the artifacts]
      FATAL: null
      java.lang.NullPointerException
      at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:143)
      at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.run(BuildStepRunner.java:110)
      at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:154)
      at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105)
      at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:108)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
      at hudson.model.Build$BuildExecution.build(Build.java:199)
      at hudson.model.Build$BuildExecution.doRun(Build.java:160)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
      at hudson.model.Run.execute(Run.java:1732)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:234)

      I have also found that issue was introduced int Jenkins v. 1.567

          [JENKINS-23526] java.lang.NullPointerException when archive the artifacts as a conditional step (single or multiple)

          Daniel Beck added a comment -

          Not a core bug: When publishers are run, the build already has a result.

          Except when using plugins that mess this up… ffs…

          Daniel Beck added a comment - Not a core bug: When publishers are run, the build already has a result. Except when using plugins that mess this up… ffs…

          Daniel Beck added a comment -

          I wonder whether changing build.getResult() to return SUCCESS if it's still null would be best.

          Daniel Beck added a comment - I wonder whether changing build.getResult() to return SUCCESS if it's still null would be best.

          Oleg Nenashev added a comment -

          BTW, the change breaks the original behavior even it was incorrect.
          My users also use Artifacts publishers within build steps, hence it could be a popular use-case.

          What about adding additional check for this case?
          If <code>onlyIfSuccessful==true</code>, then you can just skip the uploading

          Oleg Nenashev added a comment - BTW, the change breaks the original behavior even it was incorrect. My users also use Artifacts publishers within build steps, hence it could be a popular use-case. What about adding additional check for this case? If <code>onlyIfSuccessful==true</code>, then you can just skip the uploading

          Code changed in jenkins
          User: Daniel Beck
          Path:
          core/src/main/java/hudson/tasks/ArtifactArchiver.java
          http://jenkins-ci.org/commit/jenkins/e2cebef67b20bea9b7f3653f649481a99f049f48
          Log:
          [FIXED JENKINS-23526] Tolerate 'null' result when used creatively

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: core/src/main/java/hudson/tasks/ArtifactArchiver.java http://jenkins-ci.org/commit/jenkins/e2cebef67b20bea9b7f3653f649481a99f049f48 Log: [FIXED JENKINS-23526] Tolerate 'null' result when used creatively

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/hudson/tasks/ArtifactArchiver.java
          http://jenkins-ci.org/commit/jenkins/8aeb7bf9cf9a4fea695364047823526da512c247
          Log:
          Merge pull request #1296 from daniel-beck/JENKINS-23526

          [FIXED JENKINS-23526] Tolerate 'null' result when used creatively

          Compare: https://github.com/jenkinsci/jenkins/compare/1aec030e0811...8aeb7bf9cf9a

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/hudson/tasks/ArtifactArchiver.java http://jenkins-ci.org/commit/jenkins/8aeb7bf9cf9a4fea695364047823526da512c247 Log: Merge pull request #1296 from daniel-beck/ JENKINS-23526 [FIXED JENKINS-23526] Tolerate 'null' result when used creatively Compare: https://github.com/jenkinsci/jenkins/compare/1aec030e0811...8aeb7bf9cf9a

          dogfood added a comment -

          Integrated in jenkins_main_trunk #3478
          [FIXED JENKINS-23526] Tolerate 'null' result when used creatively (Revision e2cebef67b20bea9b7f3653f649481a99f049f48)

          Result = SUCCESS
          daniel-beck : e2cebef67b20bea9b7f3653f649481a99f049f48
          Files :

          • core/src/main/java/hudson/tasks/ArtifactArchiver.java

          dogfood added a comment - Integrated in jenkins_main_trunk #3478 [FIXED JENKINS-23526] Tolerate 'null' result when used creatively (Revision e2cebef67b20bea9b7f3653f649481a99f049f48) Result = SUCCESS daniel-beck : e2cebef67b20bea9b7f3653f649481a99f049f48 Files : core/src/main/java/hudson/tasks/ArtifactArchiver.java

          Daniel Beck added a comment -

          LTS candidate only if JENKINS-22699 is also included.

          Daniel Beck added a comment - LTS candidate only if JENKINS-22699 is also included.

          Oleg Nenashev added a comment -

          JENKINS-22699 is a new feature. I suppose it won't be backported

          Oleg Nenashev added a comment - JENKINS-22699 is a new feature. I suppose it won't be backported

          Daniel Beck added a comment -

          Depends on whether 1.565 or 1.567 gets to be the baseline.

          Daniel Beck added a comment - Depends on whether 1.565 or 1.567 gets to be the baseline.

          Daniel Beck added a comment -

          1.565.x it is.

          Daniel Beck added a comment - 1.565.x it is.

            danielbeck Daniel Beck
            a_eroma Alexander Eroma
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: