[ 
https://issues.jenkins-ci.org/browse/JENKINS-13241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=161227#comment-161227
 ] 

Adam Walker commented on JENKINS-13241:
---------------------------------------

I have just upgraded to 1.458 and I'm getting the same problem. In my case a 
single file was archived but is unreadable (red no-entry icon with size 0). 
I've examined the filesystem and it's a symlink pointing at a file that doesn't 
exist locally, but does exist on the slave it was compiled on. 

Our previous builds do not contain any symlinks, only copies of the file 
content. I've had a look through the changes affecting 1.456 and I think that 
JENKINS-9118 is the cause of the problem. Before this bug was fixed, the 
workspace on the slave would be copied by content (i.e. no symlinks) to the 
archive. With the bug fix, the symlinks are copied instead, but these point to 
a location that doesn't necessarily exist on master (e.g. 
/var/lib/hudson/workspace/<project> on slave vs /var/lib/hudson/jobs/<project> 
on master). This causes the archiving process to fail as the file descriptor is 
invalid on files that only exist on the slave.
                
> Artifact archiving from remote slave fails
> ------------------------------------------
>
>                 Key: JENKINS-13241
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13241
>             Project: Jenkins
>          Issue Type: Bug
>          Components: core
>            Reporter: Vyacheslav Karpukhin
>
> Since 1.456 jenkins stopped archiving artifacts from remote slave. This 
> affects both 1.456 and 1.457, works correctly with 1.455.
> ERROR: Failed to archive artifacts: build/Release/*.app/**/*
> hudson.util.IOException2: hudson.util.IOException2: Failed to extract 
> /var/jenkins/workspace/NGB_Queues/build/Release/*.app/**/*
>       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 
> /mnt/storage/.jenkins/jobs/NGB_Queues/builds/2012-03-27_03-11-27/archive/build/Release/NGB
>  
> Queues.app/Contents/Frameworks/BWToolkitFramework.framework/BWToolkitFramework
>  : 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: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:680)
> 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:441)
>       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: hudson.remoting.FastPipedInputStream$ClosedBy: The pipe was closed 
> at...
>       at 
> hudson.remoting.FastPipedInputStream.close(FastPipedInputStream.java:112)
>       at java.io.FilterInputStream.close(FilterInputStream.java:155)
>       at java.util.zip.InflaterInputStream.close(InflaterInputStream.java:210)
>       at java.util.zip.GZIPInputStream.close(GZIPInputStream.java:113)
>       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

        

Reply via email to