Repository navigation
[JENKINS-23526] java.lang.NullPointerException when archive the artifacts as a conditional step (single or multiple) #23210
Description
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
Originally reported by a_eroma, imported from: java.lang.NullPointerException when archive the artifacts as a conditional step (single or multiple)
- assignee:
danielbeck
- status: Resolved
- priority: Critical
- component(s): core
- label(s): artifact, npe
- resolution: Fixed
- resolved: 2014-06-22T21:14:18+00:00
- votes: 0
- watchers: 4
- imported: 2025-11-24
Raw content of original issue
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
environment
Reproduces on linux/mac/windows environment.<br/>
Reproduces on both: mastres and slaves.<br/>
Jenkins version: 1.568

Activity
jenkins-infra-bot commentedon Jun 21, 2014
Remote link associated with this issue:
jenkins-infra-bot commentedon Jun 21, 2014
Raw content of original comment:
The issue has been introduced by 6df89e3
Reassigned it to Daniel Beck.
jenkins-infra-bot commentedon Jun 21, 2014
Raw content of original comment:
Not a core bug: When publishers are run, the build already has a result.
Except when using plugins that mess this up… ffs…
jenkins-infra-bot commentedon Jun 21, 2014
Raw content of original comment:
I wonder whether changing build.getResult() to return SUCCESS if it's still null would be best.
jenkins-infra-bot commentedon Jun 21, 2014
Raw content of original 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
onlyIfSuccessful==true, then you can just skip the uploadingjenkins-infra-bot commentedon Jun 22, 2014
Raw content of original 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
jenkins-infra-bot commentedon Jun 22, 2014
Raw content of original 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: 1aec030...8aeb7bf
jenkins-infra-bot commentedon Jun 22, 2014
Raw content of original comment:
Integrated in
jenkins_main_trunk #3478
[FIXED JENKINS-23526] Tolerate 'null' result when used creatively (Revision e2cebef)
Result = SUCCESS
daniel-beck : e2cebef67b20bea9b7f3653f649481a99f049f48
Files :
jenkins-infra-bot commentedon Jun 30, 2014
Raw content of original comment:
LTS candidate only if
JENKINS-22699is also included.jenkins-infra-bot commentedon Jun 30, 2014
Raw content of original comment:
JENKINS-22699is a new feature. I suppose it won't be backportedjenkins-infra-bot commentedon Jun 30, 2014
Raw content of original comment:
Depends on whether 1.565 or 1.567 gets to be the baseline.
jenkins-infra-bot commentedon Jul 3, 2014
Raw content of original comment:
1.565.x it is.
jenkins-infra-bot commentedon Nov 24, 2025
[Original
relates_tofrom Jira: JENKINS-22699]