Brian Morris created JENKINS-13280:
--------------------------------------
Summary: Fix for JENKINS-9118 breaks archival if symlink referent
is in the archive
Key: JENKINS-13280
URL: https://issues.jenkins-ci.org/browse/JENKINS-13280
Project: Jenkins
Issue Type: Bug
Components: clone-workspace
Reporter: Brian Morris
Assignee: abayer
With the fix for JENKINS-9118, the archival process now attempts to preserve
symlinks, but in doing so it now fails to archive if the referent of a symlink
doesn't exist (yet). The problem is that it is apparently trying to chmod the
symlink (which it shouldn't be doing to extract a symlink anyway) but that
fails if the target of the symlink doesn't exist. In our case it was because
the target was also in the archive and hadn't been extracted yet.
Archiving artifacts
ERROR: Failed to archive artifacts:
linux86-deploy/*,solaris2-cross-linux86/*,test21/products/*,src/configuration/defaults/**/*,src/target/**/*
hudson.util.IOException2: hudson.util.IOException2: Failed to extract
/home/jarvis/probebuild/jenkins/workspace/Tools_Linux86_Solaris2_P44/linux86-deploy/*,solaris2-cross-linux86/*,test21/products/*,src/configuration/defaults/**/*,src/target/**/*
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:703)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
at hudson.model.Run.run(Run.java:1435)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
Caused by: java.io.IOException: Failed to chmod
/home/hal/jenkins/home/jobs/Tools_Linux86_Solaris2_P44/builds/2012-03-28_16-02-44/archive/linux86-deploy/.bochsrc
: 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:703)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
at hudson.model.Run.run(Run.java:1435)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
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$2.adapt(Channel.java:714)
at hudson.remoting.Channel$2.adapt(Channel.java:709)
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:82)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
at
java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:178)
at
java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:135)
at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:89)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
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: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:636)
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)
... 5 more
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:172)
at java.util.zip.InflaterInputStream.close(InflaterInputStream.java:227)
at java.util.zip.GZIPInputStream.close(GZIPInputStream.java:126)
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:703)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:656)
at hudson.model.Build$RunnerImpl.post2(Build.java:162)
at
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
at hudson.model.Run.run(Run.java:1435)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
--
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