![]() |
|
|
|
|
Change By:
|
Jesse Glick
(20/Mar/15 9:05 PM)
|
|
Summary:
|
Stack overflow in WorkflowRun.reload
after run ID migration
|
|
Description:
|
Observed with
newer
post-1.597
cores, after run ID migration.
{code:none} hudson.model.Run.<init>(Run.java:320) org.jenkinsci.plugins.workflow.job.WorkflowRun.<init>(WorkflowRun.java:133) sun.reflect.GeneratedConstructorAccessor65.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:408) jenkins.model.lazy.LazyBuildMixIn.loadBuild(LazyBuildMixIn.java:158) jenkins.model.lazy.LazyBuildMixIn$1.create(LazyBuildMixIn.java:135) hudson.model.RunMap.retrieve(RunMap.java:222) hudson.model.RunMap.retrieve(RunMap.java:57) jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:465) jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:448) jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:356) hudson.model.RunMap.getById(RunMap.java:203) org.jenkinsci.plugins.workflow.job.WorkflowRun$Owner.run(WorkflowRun.java:559) org.jenkinsci.plugins.workflow.job.WorkflowRun$Owner.getRootDir(WorkflowRun.java:588) org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.getStorageDir(CpsFlowExecution.java:315) org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.createStorage(CpsFlowExecution.java:308) org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.access$800(CpsFlowExecution.java:188) org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$ConverterImpl.unmarshal(CpsFlowExecution.java:817) hudson.util.XStream2$AssociatedConverterImpl.unmarshal(XStream2.java:362) com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) hudson.util.RobustReflectionConverter.unmarshalField(RobustReflectionConverter.java:349) hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:289) hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:228) com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72) com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65) com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66) com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50) com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134) com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32) com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1189) hudson.util.XStream2.unmarshal(XStream2.java:113) com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1173) hudson.XmlFile.unmarshal(XmlFile.java:163) org.jenkinsci.plugins.workflow.job.WorkflowRun.reload(WorkflowRun.java:360) hudson.model.Run.<init>(Run.java:320) {code}
While it is awkward that {{CpsFlowExecution}} deserialization in turn forces the {{WorkflowRun}} candidate to be returned from {{Owner.run}}, this is normally harmless. The problem here seems to be that after {{RunIdMigrator}} has run, the {{WorkflowRun.id}} is read (via {{key}}) by {{reload}}, yet it is still null at that point because {{unmarshal}} has yet to be called, so {{LOADING_RUNS}} is inaccurate.
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.