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

Copy failed on windows machine because of timestamp

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • copyartifact-plugin
    • None
    • Jenkins ver. 1.460, debian master.
      XP slave.

    Description

      After upgrading Copy artifacts plugin to 1.22 I have some problems of copy on a windows XP slave.
      Downgrading to 1.21 solves the problem.

      This is the same issue as https://issues.jenkins-ci.org/browse/JENKINS-11073

      ERROR: Failed to copy artifacts from job with filter: */
      hudson.util.IOException2: Failed to copy /var/lib/jenkins/jobs/(filepath).html to C:\jenkins\workspace(filepath).html
      at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:91)
      at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyAll(FingerprintingCopyMethod.java:63)
      at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:243)
      at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:211)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:705)
      at hudson.model.Build$RunnerImpl.build(Build.java:178)
      at hudson.model.Build$RunnerImpl.doRun(Build.java:139)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
      at hudson.model.Run.run(Run.java:1421)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Caused by: hudson.util.IOException2: remote file operation failed: C:\jenkins\workspace(filepath).html at hudson.remoting.Channel@2b0857d2:build-w7
      at hudson.FilePath.act(FilePath.java:828)
      at hudson.FilePath.act(FilePath.java:814)
      at hudson.FilePath.touch(FilePath.java:1160)
      at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:79)
      ... 12 more
      Caused by: java.io.IOException: Failed to set the timestamp of C:\jenkins\workspace(filepath).html to 1334755712000
      at hudson.FilePath$19.invoke(FilePath.java:1166)
      at hudson.FilePath$19.invoke(FilePath.java:1160)
      at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2154)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:287)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:60)
      at java.lang.Thread.run(Unknown Source)
      Build step 'Copy artifacts from another project' marked build as failure

      Attachments

        Issue Links

          Activity

            aleksas aleksas added a comment - - edited

            Same here. Facing this issue after updating Jenkins to v.1.460 together with plugins.
            Env: Windows 2008 slaves, and master.

            aleksas aleksas added a comment - - edited Same here. Facing this issue after updating Jenkins to v.1.460 together with plugins. Env: Windows 2008 slaves, and master.

            Same for the flightgear project. Since upgrade to v1.22
            see: http://flightgear.simpits.org:8080/job/FlightGear-Win-Cmake/432/console

            fredb Frederic Bouvier added a comment - Same for the flightgear project. Since upgrade to v1.22 see: http://flightgear.simpits.org:8080/job/FlightGear-Win-Cmake/432/console
            glimberg Grant Limberg added a comment -

            I'm also seeing this issue on a Windows 7 64 bit slave with Copy Artifacts plugin v1.22.

            glimberg Grant Limberg added a comment - I'm also seeing this issue on a Windows 7 64 bit slave with Copy Artifacts plugin v1.22.
            lukelast Luke Last added a comment -

            I also had this problem with copy artifacts plugin v1.22 copying from an Ubuntu master to a windows 7 64bit slave. Going back to v1.21 solved the problem.

            lukelast Luke Last added a comment - I also had this problem with copy artifacts plugin v1.22 copying from an Ubuntu master to a windows 7 64bit slave. Going back to v1.21 solved the problem.
            cbos Cees Bos added a comment -

            Same holds for us.
            Copy was done from a linux master to a windows slave.
            We had to revert the plugin to 1.21.

            cbos Cees Bos added a comment - Same holds for us. Copy was done from a linux master to a windows slave. We had to revert the plugin to 1.21.
            munterauer Markus Unterauer added a comment - - edited

            In jenkins v1.474 this problem is still there

            munterauer Markus Unterauer added a comment - - edited In jenkins v1.474 this problem is still there

            Code changed in jenkins
            User: Jesse Glick
            Path:
            src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java
            http://jenkins-ci.org/commit/copyartifact-plugin/d86690cc2659fd2efa992391e4c216d7635db8e3
            Log:
            [FIXED JENKINS-13515] FingerprintingCopyMethod.copyOne can fail on Windows due to timestamp.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java http://jenkins-ci.org/commit/copyartifact-plugin/d86690cc2659fd2efa992391e4c216d7635db8e3 Log: [FIXED JENKINS-13515] FingerprintingCopyMethod.copyOne can fail on Windows due to timestamp.
            jglick Jesse Glick added a comment -

            Releasing 1.23 for this fix.

            jglick Jesse Glick added a comment - Releasing 1.23 for this fix.
            cnogradi Chris Nogradi added a comment -

            I just installed Jenkins 1.483 and updated the Copy Artifacts plugin to 1.23 and got this error:

            hudson.util.IOException2: Failed to copy /srv/jenkins/jobs/ADL_Release/builds/2012-09-25_11-14-25/archive/adl.zip to d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip
            at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:102)
            at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyAll(FingerprintingCopyMethod.java:65)
            at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:243)
            at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:215)
            at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
            at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
            at hudson.model.Build$BuildExecution.build(Build.java:199)
            at hudson.model.Build$BuildExecution.doRun(Build.java:160)
            at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
            at hudson.model.Run.execute(Run.java:1502)
            at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
            at hudson.model.ResourceController.execute(ResourceController.java:88)
            at hudson.model.Executor.run(Executor.java:236)
            Caused by: hudson.util.IOException2: remote file operation failed: d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip at hudson.remoting.Channel@71b4f563:OLAWPB-AVNHUD00
            at hudson.FilePath.act(FilePath.java:848)
            at hudson.FilePath.act(FilePath.java:825)
            at hudson.FilePath.touch(FilePath.java:1243)
            at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:83)
            ... 12 more
            Caused by: java.io.IOException: Failed to set the timestamp of d:\hudson\workspace\G2XXX_Release\LRU\GDU\Target\hw_tst\label\GDU_RELEASE\adl.zip to 1348589954000
            at hudson.FilePath$19.invoke(FilePath.java:1249)
            at hudson.FilePath$19.invoke(FilePath.java:1243)
            at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2273)
            at hudson.remoting.UserRequest.perform(UserRequest.java:118)
            at hudson.remoting.UserRequest.perform(UserRequest.java:48)
            at hudson.remoting.Request$2.run(Request.java:287)
            at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at hudson.remoting.Engine$1$1.run(Engine.java:60)
            at java.lang.Thread.run(Unknown Source)
            Build step 'Copy artifacts from another project' marked build as failure
            Archiving artifacts

            I was fine with Copy Artifacts v 1.21

            cnogradi Chris Nogradi added a comment - I just installed Jenkins 1.483 and updated the Copy Artifacts plugin to 1.23 and got this error: hudson.util.IOException2: Failed to copy /srv/jenkins/jobs/ADL_Release/builds/2012-09-25_11-14-25/archive/adl.zip to d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:102) at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyAll(FingerprintingCopyMethod.java:65) at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:243) at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:215) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:160) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) at hudson.model.Run.execute(Run.java:1502) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) Caused by: hudson.util.IOException2: remote file operation failed: d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip at hudson.remoting.Channel@71b4f563:OLAWPB-AVNHUD00 at hudson.FilePath.act(FilePath.java:848) at hudson.FilePath.act(FilePath.java:825) at hudson.FilePath.touch(FilePath.java:1243) at hudson.plugins.copyartifact.FingerprintingCopyMethod.copyOne(FingerprintingCopyMethod.java:83) ... 12 more Caused by: java.io.IOException: Failed to set the timestamp of d:\hudson\workspace\G2XXX_Release\LRU\GDU\Target\hw_tst\label\GDU_RELEASE\adl.zip to 1348589954000 at hudson.FilePath$19.invoke(FilePath.java:1249) at hudson.FilePath$19.invoke(FilePath.java:1243) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2273) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:287) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at hudson.remoting.Engine$1$1.run(Engine.java:60) at java.lang.Thread.run(Unknown Source) Build step 'Copy artifacts from another project' marked build as failure Archiving artifacts I was fine with Copy Artifacts v 1.21
            jglick Jesse Glick added a comment -

            @cnogradi: Are you perhaps using Cygwin or similar? Like similar code in core, this patch makes the error fatal on Unix but just logs a warning on Windows. It does the OS check using Functions.isWindows(), which just checks File.pathSeparatorChar==';'.

            jglick Jesse Glick added a comment - @cnogradi: Are you perhaps using Cygwin or similar? Like similar code in core, this patch makes the error fatal on Unix but just logs a warning on Windows. It does the OS check using Functions.isWindows() , which just checks File.pathSeparatorChar==';' .
            cnogradi Chris Nogradi added a comment -

            The master source is linux (/srv/jenkins/jobs/ADL_Release/builds/2012-09-25_11-14-25/archive/adl.zip) the slave target is windows server 2008 R2 (d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip). I do use cygwin on the slaves for building but I don't think that would affect the plugin since it runs before the shell is launched:

            Copied 2 artifacts from "ADL_Release" build number 4754
            [G2XXX_Release] $ sh -xe C:\Users\AVNHUD~1\AppData\Local\Temp\hudson394429127517277609.sh

            cnogradi Chris Nogradi added a comment - The master source is linux (/srv/jenkins/jobs/ADL_Release/builds/2012-09-25_11-14-25/archive/adl.zip) the slave target is windows server 2008 R2 (d:/hudson/workspace/G2XXX_Release/LRU/GDU/Target/hw_tst/label/GDU_RELEASE/adl.zip). I do use cygwin on the slaves for building but I don't think that would affect the plugin since it runs before the shell is launched: Copied 2 artifacts from "ADL_Release" build number 4754 [G2XXX_Release] $ sh -xe C:\Users\AVNHUD~1\AppData\Local\Temp\hudson394429127517277609.sh
            jglick Jesse Glick added a comment -

            @cnogradi: what builders such as shell are used in the job is irrelevant. All that matters is the value of File.pathSeparatorChar in the slave JVM. Can you look up the system property path.separator in the slave’s diagnosis page (/computer/*/systemInfo)? I suspect it is returning : and so Jenkins is assuming the slave is Unix, yet the underlying Windows filesystem bugs (including inability to “touch”) remain.

            jglick Jesse Glick added a comment - @cnogradi: what builders such as shell are used in the job is irrelevant. All that matters is the value of File.pathSeparatorChar in the slave JVM. Can you look up the system property path.separator in the slave’s diagnosis page ( /computer/*/systemInfo )? I suspect it is returning : and so Jenkins is assuming the slave is Unix, yet the underlying Windows filesystem bugs (including inability to “touch”) remain.
            cnogradi Chris Nogradi added a comment -

            Sorry about more ignorance regarding the builder shells. In the slave JVMs, path.separator is set to ';' for both slaves per Jenkins System Information pages for slave nodes.

            cnogradi Chris Nogradi added a comment - Sorry about more ignorance regarding the builder shells. In the slave JVMs, path.separator is set to ';' for both slaves per Jenkins System Information pages for slave nodes.
            jglick Jesse Glick added a comment -

            Ah, I think I see the problem: the OS check is done on master whereas the plugin cares about the slave only.

            Rather than trying to look up the OS on the slave, I guess it is safer and simpler to just make the touch optional regardless of platform.

            jglick Jesse Glick added a comment - Ah, I think I see the problem: the OS check is done on master whereas the plugin cares about the slave only. Rather than trying to look up the OS on the slave, I guess it is safer and simpler to just make the touch optional regardless of platform.

            Code changed in jenkins
            User: Jesse Glick
            Path:
            src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java
            http://jenkins-ci.org/commit/copyartifact-plugin/d767e0071561287096790974503e1ed744ab1c83
            Log:
            [FIXED JENKINS-13515] Downgrade touch failure to warning regardless of platform.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/hudson/plugins/copyartifact/FingerprintingCopyMethod.java http://jenkins-ci.org/commit/copyartifact-plugin/d767e0071561287096790974503e1ed744ab1c83 Log: [FIXED JENKINS-13515] Downgrade touch failure to warning regardless of platform.
            jglick Jesse Glick added a comment -

            Try 1.24.

            jglick Jesse Glick added a comment - Try 1.24.

            People

              jglick Jesse Glick
              blatinville Bertrand Latinville
              Votes:
              15 Vote for this issue
              Watchers:
              19 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: