jenkinsci / jenkinsci/workflow-basic-steps-plugin

[JENKINS-63277] workflow.steps.SynchronousNonBlockingStepExecution.lambda exception when running job in parallel

Open
#512 0 comments 0 reactions 0 assignees View on GitHub
component:workflow-basic-steps-plugin imported-jira-issue priority:major resolution:unresolved
Dominant language
Java
Stars
73
Forks
129
PR merge metrics
No merged PRs in 30d

Description

We have a job that build artifact then test it 

The step is as follows

def distributions = pipelineParams.distributions

def run_tests = [:]

for (int i = 0; i < distributions.size(); i++)

{

    def index = i

    def dist = distributions[index]

    run_tests["tests_${dist}"] = {

    build job: 'My-Jobr', parameters: [string(name: 'distribution', value: "${dist}")]

    }

}

parallel run_tests

 

in the downstream job we occasionally get 

Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to EC2 (AWS-Slave) - Test slave (i-070cffe277f6328cd)

at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)

at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)

at hudson.remoting.Channel.call(Channel.java:998)

at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:285)

at com.sun.proxy.$Proxy108.withRepository(Unknown Source)

at org.jenkinsci.plugins.gitclient.RemoteGitImpl.withRepository(RemoteGitImpl.java:237)

at hudson.plugins.git.GitSCM.printCommitMessageToLog(GitSCM.java:1266)

at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1235)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:125)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)

at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@​204f8579 rejected from java.util.concurrent.ThreadPoolExecutor@​3f4ea331[Running, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]

at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)

at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)

at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)

at java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1604)

at java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:1830)

at org.eclipse.jgit.util.FS$FileStoreAttributes.getFileStoreAttributes(FS.java:329)

at org.eclipse.jgit.util.FS$FileStoreAttributes.get(FS.java:296)

at org.eclipse.jgit.util.FS.getFileStoreAttributes(FS.java:767)

at org.eclipse.jgit.internal.storage.file.FileSnapshot.(FileSnapshot.java:224)

at org.eclipse.jgit.internal.storage.file.FileSnapshot.(FileSnapshot.java:205)

at org.eclipse.jgit.internal.storage.file.FileSnapshot.save(FileSnapshot.java:102)

at org.eclipse.jgit.internal.storage.file.FileRepository.(FileRepository.java:209)

at org.eclipse.jgit.lib.BaseRepositoryBuilder.build(BaseRepositoryBuilder.java:583)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getRepository(CliGitAPIImpl.java:3171)

at hudson.plugins.git.GitAPI.getRepository(GitAPI.java:277)

at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28)

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:84)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:931)

at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:905)

at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:857)

at hudson.remoting.UserRequest.perform(UserRequest.java:211)

at hudson.remoting.UserRequest.perform(UserRequest.java:54)

at hudson.remoting.Request$2.run(Request.java:369)

at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748) 

---
Originally reported by gilk, imported from: workflow.steps.SynchronousNonBlockingStepExecution.lambda exception when running job in parallel


  • status: Open
  • priority: Major
  • component(s): workflow-basic-steps-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 20251215-220547

Raw content of original issue

We have a job that build artifact then test it 

The step is as follows

def distributions = pipelineParams.distributions

def run_tests = [:]
for (int i = 0; i < distributions.size(); i++)
{
    def index = i
    def dist = distributions[index]
    run_tests["tests_${dist}"] = {
    build job: 'My-Jobr', parameters: [string(name: 'distribution', value: "${dist}")]
    }
}
parallel run_tests

 

in the downstream job we occasionally get 

Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to EC2 (AWS-Slave) - Test slave (i-070cffe277f6328cd)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:998)
at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:285)
at com.sun.proxy.$Proxy108.withRepository(Unknown Source)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl.withRepository(RemoteGitImpl.java:237)
at hudson.plugins.git.GitSCM.printCommitMessageToLog(GitSCM.java:1266)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1235)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:125)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@204f8579 rejected from java.util.concurrent.ThreadPoolExecutor@3f4ea331[Running, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
at java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1604)
at java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:1830)
at org.eclipse.jgit.util.FS$FileStoreAttributes.getFileStoreAttributes(FS.java:329)
at org.eclipse.jgit.util.FS$FileStoreAttributes.get(FS.java:296)
at org.eclipse.jgit.util.FS.getFileStoreAttributes(FS.java:767)
at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:224)
at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:205)
at org.eclipse.jgit.internal.storage.file.FileSnapshot.save(FileSnapshot.java:102)
at org.eclipse.jgit.internal.storage.file.FileRepository.<init>(FileRepository.java:209)
at org.eclipse.jgit.lib.BaseRepositoryBuilder.build(BaseRepositoryBuilder.java:583)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getRepository(CliGitAPIImpl.java:3171)
at hudson.plugins.git.GitAPI.getRepository(GitAPI.java:277)
at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:931)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:905)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:857)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:369)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748) 

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.