Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69884

dir command fails with interleaved node commands

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • pipeline

      After updating Jenkins and all available plugins from 2.361.1 to 2.361.2. I experience a problem with directory changes, if I use interleaved node commands. I tried to come up with a minimal example:

      node('WIN10')
      {
          stage ('First node')
          {
              dir('mydir')
              {
                  node('LINUX_64')
                  {
                      stage ('Second node')
                      {
                          sh 'pwd; echo second node'
                      }
                  }
              }
          }
      }
      

      If I run this pipeline, the execution fails with following output:

      [Pipeline] Start of Pipeline
      [Pipeline] node
      Running on win10-64 in d:\Jenkins\workspace\private-hen---fcd0d68c
      [Pipeline] {
      [Pipeline] stage
      [Pipeline] { (First node)
      [Pipeline] dir
      Running in d:\Jenkins\workspace\private-hen---fcd0d68c\mydir
      [Pipeline] {
      [Pipeline] node
      Running on Ubuntu 20.04 64Bit in /data/jenkins/workspace/wintest
      [Pipeline] {
      [Pipeline] stage
      [Pipeline] { (Second node)
      [Pipeline] sh
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] }
      [Pipeline] // dir
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] End of Pipeline
      Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to Ubuntu 20.04 64Bit
      		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
      		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
      		at hudson.remoting.Channel.call(Channel.java:1000)
      		at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1124)
      		at hudson.Launcher$ProcStarter.start(Launcher.java:509)
      		at org.jenkinsci.plugins.durabletask.BourneShellScript.launchWithCookie(BourneShellScript.java:176)
      		at org.jenkinsci.plugins.durabletask.FileMonitoringTask.launch(FileMonitoringTask.java:132)
      		at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.start(DurableTaskStep.java:326)
      		at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:322)
      		at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:196)
      		at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:124)
      		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      		at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      		at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
      		at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      		at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
      		at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
      		at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
      		at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
      		at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
      		at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:163)
      		at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:23)
      		at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:158)
      		at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:161)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:165)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
      		at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
      		at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
      		at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:86)
      		at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:113)
      		at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:83)
      		at jdk.internal.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
      		at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      		at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      		at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
      		at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
      		at com.cloudbees.groovy.cps.Next.step(Next.java:83)
      		at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
      		at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
      		at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:136)
      		at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:275)
      		at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
      		at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
      		at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
      		at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:187)
      		at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:420)
      		at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:95)
      		at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:330)
      		at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:294)
      		at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
      		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      		at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
      		at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:30)
      		at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:70)
      		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      java.io.IOException: Process working directory '/data/jenkins/d:\Jenkins\workspace\private-hen---fcd0d68c\mydir' doesn't exist!
      	at hudson.Proc$LocalProc.<init>(Proc.java:252)
      	at hudson.Proc$LocalProc.<init>(Proc.java:223)
      	at hudson.Launcher$LocalLauncher.launch(Launcher.java:997)
      	at hudson.Launcher$ProcStarter.start(Launcher.java:509)
      	at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1398)
      	at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1340)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:211)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
      	at hudson.remoting.Request$2.run(Request.java:376)
      	at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Finished: FAILURE
      

            Unassigned Unassigned
            hendi28 Hendrik Brandenburger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: