-
Bug
-
Resolution: Fixed
-
Major
A user of 1.509.3 with the Metadata plugin formerly installed had some data listed in Discard Old Data screen, as expected:
hudson.model.FreeStyleBuild
jobname #123
CannotResolveClassException: com.sonyericsson.hudson.plugins.metadata.model.MetadataBuildAction
He clicked Discard and received an error:
java.lang.NullPointerException at hudson.model.AbstractItem.getRootDir(AbstractItem.java:162) at hudson.model.Items.getConfigFile(Items.java:236) at hudson.model.AbstractItem.getConfigFile(AbstractItem.java:461) at hudson.model.AbstractItem.save(AbstractItem.java:456) at hudson.model.Job.save(Job.java:152) at hudson.model.AbstractProject.save(AbstractProject.java:268) at hudson.diagnosis.OldDataMonitor.doDiscard(OldDataMonitor.java:275)
This means that there is an AbstractProject whose parent is null. Most likely a serialized MetadataBuildAction was persisting a Run which was not identical to the build to which it had been added (this is possible due to lazy-loading), so XStream did not use a backreference but instead tried to serialize the whole build. When deserialized, the orphaned build would have had a bogus parent project.
The solution in 1.519+ (or 1.509.3/4) is simple: use the new RunAction2. There is no alternative available for older versions of Jenkins.
- is blocking
-
JENKINS-19544 OutOfMemory due to unbounded storage in OldDataMonitor
- Resolved
- is related to
-
JENKINS-18809 Discard Unreadable Data results in an NPE
- Resolved
-
JENKINS-17125 FingerprintAction deserialization leads to NPE
- Resolved
- relates to
-
JENKINS-45892 Forbid nested references to model objects
- Resolved