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

Remote file operations fail on Windows slave depending on user

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • pipeline
    • jenkins 2.33 java 1.8.0_111, Windows 7, OSX 10.10, Debian Linux

      My setup currently has a Linux master, and an OSX and Windows build slave.

      I have a pipeline job

      If I trigger a build, either from the start build url, or using the replay button on a previously executed job, then everything works fine.

      If anybody else tries the same thing, the build will work as expected on the OSX slave, but it will crash on the Windows slave.

      I was getting this error

      java.io.IOException: Failed to mkdirs: C:\Jenkins\workspace\WPF\TryBuild\Hugo Brangwyn\PluginWrapper@tmp\durable-fffd693e
              at hudson.FilePath.mkdirs(FilePath.java:1169)
              at org.jenkinsci.plugins.durabletask.FileMonitoringTask$FileMonitoringController.<init>(FileMonitoringTask.java:101)
              at org.jenkinsci.plugins.durabletask.WindowsBatchScript$BatchController.<init>(WindowsBatchScript.java:94)
              at org.jenkinsci.plugins.durabletask.WindowsBatchScript$BatchController.<init>(WindowsBatchScript.java:92)
              at org.jenkinsci.plugins.durabletask.WindowsBatchScript.doLaunch(WindowsBatchScript.java:60)
              at org.jenkinsci.plugins.durabletask.FileMonitoringTask.launchWithCookie(FileMonitoringTask.java:66)
              at org.jenkinsci.plugins.durabletask.FileMonitoringTask.launch(FileMonitoringTask.java:61)
              at org.jenkinsci.plugins.workflow.steps.durable_task.DurableTaskStep$Execution.start(DurableTaskStep.java:158)
              at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:184)
              at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)
              at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
              at groovy.lang.GroovyObject$invokeMethod$8.call(Unknown Source)
              at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
              at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
              at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
              at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
              at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103)
              at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
              at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
              at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
              at gforce.Mercurial.cleanupWorkingCopy(file:/var/lib/jenkins/jobs/WPF/jobs/TryBuild/builds/461/libs/gforce/src/gforce/Mercurial.groovy:16)
              at gforce.Mercurial.tryCheckOutWithPatch(file:/var/lib/jenkins/jobs/WPF/jobs/TryBuild/builds/461/libs/gforce/src/gforce/Mercurial.groovy:32)
              at gforce.Mercurial.tryCheckOut(file:/var/lib/jenkins/jobs/WPF/jobs/TryBuild/builds/461/libs/gforce/src/gforce/Mercurial.groovy:58)
              at gforce.Mercurial.checkoutBuild(file:/var/lib/jenkins/jobs/WPF/jobs/TryBuild/builds/461/libs/gforce/src/gforce/Mercurial.groovy:93)
              at Script1.buildAll(Script1.groovy:198)
              at ___cps.transform___(Native Method)
              at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
              at sun.reflect.GeneratedMethodAccessor515.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:103)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
              at sun.reflect.GeneratedMethodAccessor515.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
              at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:60)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
              at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
              at sun.reflect.GeneratedMethodAccessor515.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              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:58)
              at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
              at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
              at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
              at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
              at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
              at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
              at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163)
              at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324)
              at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:78)
              at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236)
              at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:224)
              at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63)
              at java.util.concurrent.FutureTask.run(FutureTask.java:262)
              at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
              at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
              at java.util.concurrent.FutureTask.run(FutureTask.java:262)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:745)
      Finished: FAILURE
      

      Then I cleaned out the relevant workspace folder and tried again, and got

      java.io.IOException: remote file operation failed: C:\Jenkins\workspace\WPF\TryBuild\Hugo Brangwyn\PluginWrapper at hudson.remoting.Channel@6b81cdda:Channel to /82.39.249.244: java.io.IOException: Failed to extract changes.patch.tar.gz
              at hudson.FilePath.act(FilePath.java:992)
              at hudson.FilePath.act(FilePath.java:974)
              at hudson.FilePath.untar(FilePath.java:527)
              at org.jenkinsci.plugins.workflow.flow.StashManager.unstash(StashManager.java:122)
              at org.jenkinsci.plugins.workflow.support.steps.stash.UnstashStep$Execution.run(UnstashStep.java:64)
              at org.jenkinsci.plugins.workflow.support.steps.stash.UnstashStep$Execution.run(UnstashStep.java:54)
      

      So it looks to me like the issue in both cases is file operations. I've tried this with two user accounts, both of which I gave jenkins admin permissions to in case that was somehow the issue.

      I've tried launching the slave from the webpage, and from the coomand line.

      I've updated java to the same version on master and slave.

      It's not down to the specifics of the build, if I replay a build with my login. it works, if I do it with somebody else's login, it fails.

            Unassigned Unassigned
            jonhodgson Jon Hodgson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: