[ https://issues.jenkins-ci.org/browse/JENKINS-13645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Berent resolved JENKINS-13645. -------------------------------------- Resolution: Duplicate > 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