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

Copy failed on windows machine because of timestamp

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: copyartifact-plugin
    • Labels:
      None
    • Environment:
      Jenkins ver. 1.460, debian master.
      XP slave.
    • Similar Issues:

      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

            Hide
            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.

            Show
            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.
            Hide
            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.

            Show
            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.
            Hide
            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.

            Show
            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.
            Hide
            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.

            Show
            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.
            Hide
            jglick Jesse Glick added a comment -

            Try 1.24.

            Show
            jglick Jesse Glick added a comment - Try 1.24.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: