Skip to content

Conversation

@jglick
Copy link
Member

@jglick jglick commented Apr 29, 2025

A Pipeline build with one InterruptedBuildAction of DisableConcurrentBuildsJobProperty.CancelledCause and another of ParallelStep.FailFastCause (originally AbortException from DurableTaskStep.Execution.handleExit) was observed to be NOT_BUILT but its log ended with an endless sequence of

…
[Pipeline] End of Pipeline
[2025-04-25T11:31:51.077Z] org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: e947472c-eef7-4c7a-b82f-f58580c9868b
[2025-04-25T11:31:51.078Z] Failed in branch …
[2025-04-25T11:31:51.078Z] org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: 82a6526c-292c-47e1-ae90-1ed4fca370c2
[2025-04-25T11:31:51.078Z] org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: e947472c-eef7-4c7a-b82f-f58580c9868b
[2025-04-25T11:31:51.078Z] org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: 82a6526c-292c-47e1-ae90-1ed4fca370c2
[2025-04-25T11:31:51.078Z] org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: e947472c-eef7-4c7a-b82f-f58580c9868b
…

and somewhere in flowNodeStore.xml in suppressedExceptions I found

…
PluginClassLoader for workflow-durable-task-step//org.jenkinsci.plugins.workflow.support.steps.AgentErrorCondition.isClosedChannelException(AgentErrorCondition.java:89)
java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:1034)
java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
PluginClassLoader for workflow-durable-task-step//org.jenkinsci.plugins.workflow.support.steps.AgentErrorCondition.isClosedChannelException(AgentErrorCondition.java:89)
…

There might be other changes necessary to make ErrorAction break cycles (see also jenkinsci/workflow-api-plugin#286 & #645), or to avoid calling addSuppressed somewhere, but at any rate this utility introduced in #657 (and reused: jenkinsci/workflow-durable-task-step-plugin#444) ought to tolerate cyclic references like this.

@timja timja merged commit 27b9314 into jenkinsci:master May 5, 2025
14 checks passed
@jglick jglick deleted the isClosedChannelException branch May 5, 2025 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug For changelog: Fixes a bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants