Anthony Berent created JENKINS-13645:
----------------------------------------

             Summary: Symlinks in archives cause archiving to fail
                 Key: JENKINS-13645
                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13645
             Project: Jenkins
          Issue Type: Bug
          Components: core
    Affects Versions: current
            Reporter: Anthony Berent


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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to