Pipeline - Builds fail to load due to missing Execution/Head elements

Article ID:115003785491
1 minute readKnowledge base

Issue

  • The Jenkins logs show lots of WARNING like the following:

[...] WARNING [Handling GET / from 127.0.0.1 : http-nio-127.0.0.1-8080-exec-1 View/index.jelly WeatherColumn/column.jelly] hudson.model.RunMap.retrieve could not load <buildLocation>
java.lang.NullPointerException
  at org.jenkinsci.plugins.workflow.cps.FlowHead.newStartNode(FlowHead.java:97)
  at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.loadProgramFailed(CpsFlowExecution.java:684)
  at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.loadProgramAsync(CpsFlowExecution.java:660)
  at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.onLoad(CpsFlowExecution.java:588)
  at org.jenkinsci.plugins.workflow.job.WorkflowRun.onLoad(WorkflowRun.java:612)
  at hudson.model.RunMap.retrieve(RunMap.java:225)
  at hudson.model.RunMap.retrieve(RunMap.java:57)

Resolution

This exception is an evidence of JENKINS-44548, a known issue with corrupted FlowExecution records in pipeline builds.

Solution

The issue had been fixed in the following plugin versions:

The solution is to upgrade.

Workaround

If this issue is impacting performance on the instance - due to the log being polluted with tons of WARNINGS - you can change the log level of hudson.model.RunMap to SEVERE so that only SEVERE errors are logged for that class in the Jenkins logs. You can do this under Manage Jenkins  Script Console  Log Levels. See for example:

change-log-level-runmap.png
This will not persist upon restart.