-
Bug
-
Resolution: Fixed
-
Minor
-
Jenkins 2.60 with workflow-job 2.12
We have several cases of "build.xml" that have been generated with no <head> element inside the <execution> element.
This is causing a load failure - which prevents the job expiring.
Load Failure
WARNING: could not load /var/jenkins_home/jobs/<job-path>/builds/18396 java.lang.NullPointerException at org.jenkinsci.plugins.workflow.cps.FlowHead.newStartNode(FlowHead.java:97) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.loadProgramFailed(CpsFlowExecution.java:683) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.loadProgramAsync(CpsFlowExecution.java:659) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.onLoad(CpsFlowExecution.java:587) at org.jenkinsci.plugins.workflow.job.WorkflowRun.onLoad(WorkflowRun.java:599) at hudson.model.RunMap.retrieve(RunMap.java:225) at hudson.model.RunMap.retrieve(RunMap.java:57) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:500) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:482) at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:380) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:331) at jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getNextBuild(LazyBuildMixIn.java:405) at org.jenkinsci.plugins.workflow.job.WorkflowRun.getNextBuild(WorkflowRun.java:228) at org.jenkinsci.plugins.workflow.job.WorkflowRun.getNextBuild(WorkflowRun.java:129) at hudson.tasks.LogRotator.perform(LogRotator.java:147) at hudson.model.Job.logRotate(Job.java:465) at org.jenkinsci.plugins.workflow.job.WorkflowRun.finish(WorkflowRun.java:663) at org.jenkinsci.plugins.workflow.job.WorkflowRun.access$1400(WorkflowRun.java:131) at org.jenkinsci.plugins.workflow.job.WorkflowRun$GraphL.onNewHead(WorkflowRun.java:947) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.notifyListeners(CpsFlowExecution.java:1203) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
build.xml fragment
<?xml version='1.0' encoding='UTF-8'?> <flow-build plugin="workflow-job@2.10"> <execution class="org.jenkinsci.plugins.workflow.cps.CpsFlowExecution"> <result>SUCCESS</result> ... more build information ... <script>... </script> <loadedScripts class="map"/> <sandbox>true</sandbox> <iota>0</iota> </execution>
Note the lack of a <head>0:23</head> or similar tag.
Cause
Unknown.
I have seen this faulty XML generated with both 2.10 and 2.12 versions of the workflow-job plugin. The builds before and after the ones with faulty XML are valid.
Impacts
- exceptions in the log (noise, "broken windows")
- builds can not be loaded, and thus can not be expired