Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As of jenkinsci/workflow-durable-task-step-plugin#180,
FilePath
is not supposed to be directly serialized in program state, because it is tricky to resume a Java object referring to a live agent channel.WithMavenStepExecutionCallBack
unfortunately did so, unlike say https://github.com/jenkinsci/credentials-binding-plugin/blob/8c080630bc65ef1eb1183d0e5cc179dc486122c0/src/main/java/org/jenkinsci/plugins/credentialsbinding/impl/UnbindableDir.java#L72 which would be used innode(…) { withCredentials([file(…)]) { sh '…' } }
This could mean that if an agent failed to reattach to the controller after a restart, a build could hang indefinitely with a message like
(And if you were using the new
retry
-with-conditions
idiom, it could be aborted but not successfully resumed on a fresh agent.)You can see in the virtual thread dump why the program does not load:
Filed jenkinsci/workflow-cps-plugin#755 in the course of identifying the
withMaven
step as the culprit.