jenkinsci / jenkinsci/workflow-support-plugin
[JENKINS-25925] More polite reporting of NotSerializableException
- Dominant language
- Java
- Stars
- 23
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
If you accidentally store something nonserializable in a local variable, you get a nasty stack trace mentioning org.jboss.marshalling.river.RiverMarshaller.doWriteObject and other things which will make no sense to a user and imply a bug in Workflow rather than in your script.
RiverWriter should defend better against this. It could replace the bad object with null, after printing a warning in the log. Or it could simply replace it with a pickle that rehydrates to null or throws an exception if you ever resume this flow after a restart. I think replacement with null is preferable since in most cases you did not really need the object to be saved and the flow could have continued without it.
---
Originally reported by
jglick, imported from: More polite reporting of NotSerializableException
kohsuke
Raw content of original issue
If you accidentally store something nonserializable in a local variable, you get a nasty stack trace mentioning org.jboss.marshalling.river.RiverMarshaller.doWriteObject and other things which will make no sense to a user and imply a bug in Workflow rather than in your script.
RiverWriter should defend better against this. It could replace the bad object with null, after printing a warning in the log. Or it could simply replace it with a pickle that rehydrates to null or throws an exception if you ever resume this flow after a restart. I think replacement with null is preferable since in most cases you did not really need the object to be saved and the flow could have continued without it.
Contributor guide
Assessment
This issue has not been assessed yet.