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

Recording fingerprints fails on symbolic links when archiving artifacts

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core
    • None
    • Jenkins 1.609.3 LTS

      We have a project which archives some files.
      Part of the files are symbolic links which point to non-existing files (since they are only valid when all artifacts are deployed on a real system).

      Our Job configuration is as follows:

      • Post-Build Actions:
        • Archive the Artifacts
          • Files to archive: install/**/*
          • Fingerprint all archive artifacts: True
          • Use default excludes: True

      The Job fails with an exception:

      Archiving artifacts
      Recording fingerprints
      ERROR: Failed to record fingerprints
      java.io.IOException: remote file operation failed: /var/jenkins/workspace/MyJob at hudson.remoting.Channel@3b0647d7:ubuntu-12-04-amd64-4: java.io.IOException: Failed to compute digest for /var/jenkins/workspace/MyJob/install/usr/lib/debug/.build-id/12/8ac6549dedadda10425743f1f64e810adc301f
      	at hudson.FilePath.act(FilePath.java:985)
      	at hudson.FilePath.act(FilePath.java:967)
      	at hudson.tasks.Fingerprinter.record(Fingerprinter.java:212)
      	at hudson.tasks.Fingerprinter.perform(Fingerprinter.java:124)
      	at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:221)
      	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:74)
      	at hudson.plugins.templateproject.ProxyPublisher.perform(ProxyPublisher.java:85)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:776)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
      	at hudson.model.Build$BuildExecution.post2(Build.java:183)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670)
      	at hudson.model.Run.execute(Run.java:1763)
      	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:381)
      Caused by: java.io.IOException: Failed to compute digest for /var/jenkins/workspace/MyJob/install/usr/lib/debug/.build-id/12/8ac6549dedadda10425743f1f64e810adc301f
      	at hudson.tasks.Fingerprinter$2.invoke(Fingerprinter.java:230)
      	at hudson.tasks.Fingerprinter$2.invoke(Fingerprinter.java:212)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2688)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:121)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	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)
      	at ......remote call to ubuntu-12-04-amd64-4(Native Method)
      	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1413)
      	at hudson.remoting.UserResponse.retrieve(UserRequest.java:221)
      	at hudson.remoting.Channel.call(Channel.java:778)
      	at hudson.FilePath.act(FilePath.java:978)
      	... 15 more
      Caused by: java.io.FileNotFoundException: /var/jenkins/workspace/MyJob/install/usr/lib/debug/.build-id/12/8ac6549dedadda10425743f1f64e810adc301f (No such file or directory)
      	at java.io.FileInputStream.open(Native Method)
      	at java.io.FileInputStream.<init>(FileInputStream.java:146)
      	at hudson.Util.getDigestOf(Util.java:639)
      	at hudson.FilePath$38.invoke(FilePath.java:1924)
      	at hudson.FilePath$38.invoke(FilePath.java:1921)
      	at hudson.FilePath.act(FilePath.java:989)
      	at hudson.FilePath.act(FilePath.java:967)
      	at hudson.FilePath.digest(FilePath.java:1921)
      	at hudson.tasks.Fingerprinter$2.invoke(Fingerprinter.java:228)
      	at hudson.tasks.Fingerprinter$2.invoke(Fingerprinter.java:212)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2688)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:121)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	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)
      

          [JENKINS-41695] Recording fingerprints fails on symbolic links when archiving artifacts

          Daniel Beck added a comment -

          Jenkins 1.609.3 LTS

          Please reopen if this occurs on a recent release. This baseline is almost two years old.

          (I'm not trying to be rude here by resolving immediately, just spent way too much time trying to reproduce issues that have long been fixed.)

          Daniel Beck added a comment - Jenkins 1.609.3 LTS Please reopen if this occurs on a recent release. This baseline is almost two years old. (I'm not trying to be rude here by resolving immediately, just spent way too much time trying to reproduce issues that have long been fixed.)

          Gary Stoneman added a comment -

          Seeing exactly this issue on Jenkins 2.121.3.

          We are artifact'ing a file that is a symbolic link to something that does not exist on that machine and it fails with the same message as in the original message.

          Re-opening as comment suggests.

          Thanks

          Gary Stoneman added a comment - Seeing exactly this issue on Jenkins 2.121.3. We are artifact'ing a file that is a symbolic link to something that does not exist on that machine and it fails with the same message as in the original message. Re-opening as comment suggests. Thanks

          Brad Knowles added a comment -

          We just updated to Jenkins 2.138.2, and we are still seeing this problem.

          Brad Knowles added a comment - We just updated to Jenkins 2.138.2, and we are still seeing this problem.

            Unassigned Unassigned
            tom_ghyselinck Tom Ghyselinck
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: