java.lang.NullPointerException

Jenkins JIRA | Eric Borts | 5 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    My project is a free-form project with several windows batch command steps followed by a conditional build step which copies a .zip file to a network drive. The conditional build step checks the current status of the build and, if successful, performs the copy (essentially conditional artifact deploy as a build step). The conditional step is set to FAIL the build if the conditional step fails (and it *does* fail). The best I can deduce from looking through the run-condition and jenkins code (for the first time) is that the result of the build is returning null, but I couldn't determine the cause. I whittled down my build to a very simple test case. No source control, all options unchecked. Step 1 is a windows batch call to "echo hello > _hello.txt" followed by a conditional step. The conditional step checks for a Successful build status, and then copies "echo world > world.txt". This code is never reached because the null pointer exception is thrown. The exception is also thrown if the only step in the project is the conditional check. I assume that the freestyle project returns by default a NULL for the status of the build, and that a successful windows batch file step also does not set the build status to a non-NULL value. setting "exit 1" in the batch file stops the build, so clearly the status is being set on failure and not on success. I tried returning "exit 0" from the batch command but still observed the NullPointerException Attached is the exception stack trace (also pasted below) and the config.xml file for the project. -------------------------------- Jan 13, 2012 5:39:30 PM org.jenkins_ci.plugins.run_condition.BuildStepRunner logEvaluateException WARNING: Exception caught evaluating condition: [java.lang.NullPointerException: null], action = [Fail the build] java.lang.NullPointerException at hudson.model.Result.isWorseOrEqualTo(Result.java:107) at org.jenkins_ci.plugins.run_condition.core.StatusCondition.runPerform(StatusCondition.java:71) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.evaluate(BuildStepRunner.java:107) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:147) at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105) at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:104) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:697) at hudson.model.Build$RunnerImpl.build(Build.java:178) at hudson.model.Build$RunnerImpl.doRun(Build.java:139) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:467) at hudson.model.Run.run(Run.java:1404) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:238) Jan 13, 2012 5:39:30 PM hudson.model.Run run INFO: FOSS_SL #67 main build action completed: FAILURE

    Jenkins JIRA | 5 years ago | Eric Borts
    java.lang.NullPointerException
  2. 0

    My project is a free-form project with several windows batch command steps followed by a conditional build step which copies a .zip file to a network drive. The conditional build step checks the current status of the build and, if successful, performs the copy (essentially conditional artifact deploy as a build step). The conditional step is set to FAIL the build if the conditional step fails (and it *does* fail). The best I can deduce from looking through the run-condition and jenkins code (for the first time) is that the result of the build is returning null, but I couldn't determine the cause. I whittled down my build to a very simple test case. No source control, all options unchecked. Step 1 is a windows batch call to "echo hello > _hello.txt" followed by a conditional step. The conditional step checks for a Successful build status, and then copies "echo world > world.txt". This code is never reached because the null pointer exception is thrown. The exception is also thrown if the only step in the project is the conditional check. I assume that the freestyle project returns by default a NULL for the status of the build, and that a successful windows batch file step also does not set the build status to a non-NULL value. setting "exit 1" in the batch file stops the build, so clearly the status is being set on failure and not on success. I tried returning "exit 0" from the batch command but still observed the NullPointerException Attached is the exception stack trace (also pasted below) and the config.xml file for the project. -------------------------------- Jan 13, 2012 5:39:30 PM org.jenkins_ci.plugins.run_condition.BuildStepRunner logEvaluateException WARNING: Exception caught evaluating condition: [java.lang.NullPointerException: null], action = [Fail the build] java.lang.NullPointerException at hudson.model.Result.isWorseOrEqualTo(Result.java:107) at org.jenkins_ci.plugins.run_condition.core.StatusCondition.runPerform(StatusCondition.java:71) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.evaluate(BuildStepRunner.java:107) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:147) at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105) at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:104) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:697) at hudson.model.Build$RunnerImpl.build(Build.java:178) at hudson.model.Build$RunnerImpl.doRun(Build.java:139) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:467) at hudson.model.Run.run(Run.java:1404) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:238) Jan 13, 2012 5:39:30 PM hudson.model.Run run INFO: FOSS_SL #67 main build action completed: FAILURE

    Jenkins JIRA | 5 years ago | Eric Borts
    java.lang.NullPointerException

    Root Cause Analysis

    1. java.lang.NullPointerException

      No message provided

      at hudson.model.Result.isWorseOrEqualTo()
    2. Hudson
      Result.isWorseOrEqualTo
      1. hudson.model.Result.isWorseOrEqualTo(Result.java:107)
      1 frame
    3. org.jenkins_ci.plugins
      BuildStepRunner.perform
      1. org.jenkins_ci.plugins.run_condition.core.StatusCondition.runPerform(StatusCondition.java:71)
      2. org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.evaluate(BuildStepRunner.java:107)
      3. org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:147)
      4. org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105)
      4 frames
    4. org.jenkinsci.plugins
      SingleConditionalBuilder.perform
      1. org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:104)
      1 frame
    5. Hudson
      Executor.run
      1. hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
      2. hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:697)
      3. hudson.model.Build$RunnerImpl.build(Build.java:178)
      4. hudson.model.Build$RunnerImpl.doRun(Build.java:139)
      5. hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:467)
      6. hudson.model.Run.run(Run.java:1404)
      7. hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      8. hudson.model.ResourceController.execute(ResourceController.java:88)
      9. hudson.model.Executor.run(Executor.java:238)
      9 frames