jenkinsci / jenkinsci/workflow-cps-plugin

[JENKINS-70401] On aborting pipeline multiple times the pipeling gets status aborted but it is not completed yet

Open
#1,653 0 comments 0 reactions 0 assignees View on GitHub
component:workflow-cps-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
186
Forks
213
Avg merge
12h 12m
Merged PRs (30d)
8

Description

I have created one pipeline in which i build multiple docker images in parallel with remote executor which deploys pod and inside the pod there is multiple containers running which will build the docker image and every docker image build is one step in pipeline  , now the issue is that whenever i click abort manually more then 3-4 times means forcefully terminate the job , it sets status of pipeline aborted but some it don't send the remove remote executor signal so the remote executor node behind the scene stuck on running while i get this error in my jenkins logs :

2023-01-10 13:57:08.179+0000 [id=1623511]    WARNING    o.j.p.w.cps.CpsVmExecutorService#reportProblem: Unexpected exception in CPS VM thread: CpsFlowExecution[Owner[---]]

java.lang.StackOverflowError

    at org.jenkinsci.plugins.workflow.actions.ErrorAction.isUnserializableException(ErrorAction.java:90)

    at org.jenkinsci.plugins.workflow.actions.ErrorAction.isUnserializableException(ErrorAction.java:94)

--------------------------------------------------------------------------------------

i think the expected behaviour should be the pipeline must send stop executor statement in forcible abort too as it is leading us to the remote executor is not getting terminated and in pipelins steps i see that the node is still running

---
Originally reported by darshilshah, imported from: On aborting pipeline multiple times the pipeling gets status aborted but it is not completed yet


  • status: Open
  • priority: Minor
  • component(s): workflow-cps-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 2025-12-07

Raw content of original issue

I have created one pipeline in which i build multiple docker images in parallel with remote executor which deploys pod and inside the pod there is multiple containers running which will build the docker image and every docker image build is one step in pipeline  , now the issue is that whenever i click abort manually more then 3-4 times means forcefully terminate the job , it sets status of pipeline aborted but some it don't send the remove remote executor signal so the remote executor node behind the scene stuck on running while i get this error in my jenkins logs :

2023-01-10 13:57:08.179+0000 [id=1623511]    WARNING    o.j.p.w.cps.CpsVmExecutorService#reportProblem: Unexpected exception in CPS VM thread: CpsFlowExecution[Owner[---]]
java.lang.StackOverflowError
    at org.jenkinsci.plugins.workflow.actions.ErrorAction.isUnserializableException(ErrorAction.java:90)
    at org.jenkinsci.plugins.workflow.actions.ErrorAction.isUnserializableException(ErrorAction.java:94)
--------------------------------------------------------------------------------------

i think the expected behaviour should be the pipeline must send stop executor statement in forcible abort too as it is leading us to the remote executor is not getting terminated and in pipelins steps i see that the node is still running

Contributor guide

Open the contributing guide

Research direction

Start with the workflow-cps-plugin handling around CpsVmExecutorService#reportProblem and the repeated StackOverflowError in ErrorAction.isUnserializableException. Reproduce repeated forceful aborts of parallel Docker-building pipeline steps, then verify that the remote executor is stopped and the pipeline does not remain running after reporting an aborted status.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java
Domain
ci-cd, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.