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

Recording fingerprints fails on symbolic links when archiving artifacts

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reopened (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
      None
    • Environment:
      Jenkins 1.609.3 LTS
    • Similar Issues:

      Description

      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)
      

        Attachments

          Activity

          tom_ghyselinck Tom Ghyselinck created issue -
          tom_ghyselinck Tom Ghyselinck made changes -
          Field Original Value New Value
          Description We have a project which archives some files.
          Part of the files are _symbolic links_.

          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:
          {code}
          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)
          {code}
          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:
          {code}
          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)
          {code}
          Hide
          danielbeck 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.)

          Show
          danielbeck 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.)
          danielbeck Daniel Beck made changes -
          Resolution Cannot Reproduce [ 5 ]
          Status Open [ 1 ] Resolved [ 5 ]
          Hide
          garystoneman 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

          Show
          garystoneman 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
          garystoneman Gary Stoneman made changes -
          Resolution Cannot Reproduce [ 5 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Hide
          bradknowles Brad Knowles added a comment -

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

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

            People

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

              Dates

              Created:
              Updated: