timja / jenkins-gh-issues-poc-06-18

0 stars 0 forks source link

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

Open timja opened 7 years ago

timja commented 7 years ago

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:

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.(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)

Originally reported by tom_ghyselinck, imported from: Recording fingerprints fails on symbolic links when archiving artifacts
  • status: Reopened
  • priority: Major
  • resolution: Unresolved
  • imported: 2022/01/10
timja commented 7 years ago

danielbeck:

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

timja commented 6 years ago

garystoneman:

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

timja commented 5 years ago

bradknowles:

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