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

Symlinks in archives cause archiving to fail

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • None

      I am attempting to archive a directory containing symlinks (from a 64 bit linux slave to a 32 bit linux master), but the archive is failing when it attempts to do a chmod on the symlink. The reason appears to be that it has copied the symlink before copying the file it references.

      In the following output libMagick++.so is a symlink to libMagick++.so.5.0.0. When I look on the master after the job finishes libMagick++.so has been copied, but libMagick++.so.5.0.0 has not. Both exist on the slave.

      I think worked before I upgraded Jenkins to version 1.460.

      The log:

      ERROR: Failed to archive artifacts: install/**/*
      hudson.util.IOException2: hudson.util.IOException2: Failed to extract /localhome/jenkins/Jenkins_workspace/workspace/ImageMagick/AllOSes/linux64/install/**/*
      at hudson.FilePath.readFromTar(FilePath.java:1817)
      at hudson.FilePath.copyRecursiveTo(FilePath.java:1729)
      at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:116)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:705)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:680)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:658)
      at hudson.model.Build$RunnerImpl.post2(Build.java:162)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:627)
      at hudson.model.Run.run(Run.java:1446)
      at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Caused by: java.io.IOException: Failed to chmod /var/lib/jenkins/jobs/ImageMagick/configurations/axis-AllOSes/linux64/builds/2012-04-30_16-17-39/archive/install/lib/libMagick++.so : No such file or directory
      at hudson.FilePath._chmod(FilePath.java:1248)
      at hudson.FilePath.readFromTar(FilePath.java:1813)
      ... 12 more

      at hudson.FilePath.copyRecursiveTo(FilePath.java:1736)
      at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:116)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:705)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:680)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:658)
      at hudson.model.Build$RunnerImpl.post2(Build.java:162)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:627)
      at hudson.model.Run.run(Run.java:1446)
      at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Pipe is already closed
      at hudson.remoting.Channel$3.adapt(Channel.java:679)
      at hudson.remoting.Channel$3.adapt(Channel.java:674)
      at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)
      at hudson.FilePath.copyRecursiveTo(FilePath.java:1732)
      ... 11 more
      Caused by: java.io.IOException: Pipe is already closed
      at hudson.remoting.PipeWindow.checkDeath(PipeWindow.java:83)
      at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:171)
      at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:118)
      at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:103)
      at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
      at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
      at java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:161)
      at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:118)
      at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72)
      at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
      at org.apache.tools.tar.TarBuffer.writeBlock(TarBuffer.java:410)
      at org.apache.tools.tar.TarBuffer.writeRecord(TarBuffer.java:351)
      at hudson.org.apache.tools.tar.TarOutputStream.writeEOFRecord(TarOutputStream.java:356)
      at hudson.org.apache.tools.tar.TarOutputStream.finish(TarOutputStream.java:137)
      at hudson.org.apache.tools.tar.TarOutputStream.close(TarOutputStream.java:149)
      at hudson.util.io.TarArchiver.close(TarArchiver.java:119)
      at hudson.FilePath.writeToTar(FilePath.java:1783)
      at hudson.FilePath.access$1000(FilePath.java:166)
      at hudson.FilePath$36.invoke(FilePath.java:1722)
      at hudson.FilePath$36.invoke(FilePath.java:1719)
      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(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: java.io.IOException: Pipe is already closed
      at hudson.remoting.FastPipedOutputStream.write(FastPipedOutputStream.java:147)
      at hudson.remoting.FastPipedOutputStream.write(FastPipedOutputStream.java:131)
      at hudson.remoting.ProxyOutputStream$Chunk$1.run(ProxyOutputStream.java:211)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)
      Caused by: hudson.remoting.FastPipedInputStream$ClosedBy: The pipe was closed at...
      at hudson.remoting.FastPipedInputStream.close(FastPipedInputStream.java:112)
      at java.io.FilterInputStream.close(FilterInputStream.java:181)
      at java.util.zip.InflaterInputStream.close(InflaterInputStream.java:227)
      at java.util.zip.GZIPInputStream.close(GZIPInputStream.java:135)
      at org.apache.tools.tar.TarBuffer.close(TarBuffer.java:456)
      at hudson.org.apache.tools.tar.TarInputStream.close(TarInputStream.java:110)
      at hudson.FilePath.readFromTar(FilePath.java:1824)
      at hudson.FilePath.copyRecursiveTo(FilePath.java:1729)
      at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:116)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:705)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:680)
      at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:658)
      at hudson.model.Build$RunnerImpl.post2(Build.java:162)
      at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:627)
      at hudson.model.Run.run(Run.java:1446)
      at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)
      Notifying upstream projects of job completion

            Unassigned Unassigned
            aberent Anthony Berent
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: