-
Bug
-
Resolution: Unresolved
-
Blocker
-
Master: RHEL 6.6 x64
Slave: Window 2008 x64
After upgrading the latest jenkins version, getting continuous error message ""Pipe is already closed" while trying to access from master to slave. This is really scratch our heads. Now, we have jenkins version "1.596". Please look at this issue asap as this blocks our day to day work.
"[copy-to-slave] Copying ' .pl, Include//, noarch/*/, .jar, *.zip, Test-XML//, tools-linux/*/, tools-solaris/*/, tools-windows/*/ ', excluding nothing, from 'file:/var/lib/jenkins/userContent/' on the master to 'file:/C:/Test/' on 'WIN2K8-X64'.
FATAL: Pipe is already closed
java.io.IOException: Pipe is already closed
at hudson.remoting.PipeWindow.checkDeath(PipeWindow.java:108)
at hudson.remoting.PipeWindow$Real.get(PipeWindow.java:203)
at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:141)
at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:109)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
at com.jcraft.jzlib.DeflaterOutputStream.deflate(DeflaterOutputStream.java:144)
at com.jcraft.jzlib.DeflaterOutputStream.write(DeflaterOutputStream.java:102)
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:125)
at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath.writeToTar(MyFilePath.java:230)
at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath.copyRecursiveTo(MyFilePath.java:143)
at com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper.setUp(CopyToSlaveBuildWrapper.java:133)
at hudson.model.Build$BuildExecution.doRun(Build.java:154)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1759)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: Pipe is already closed
at hudson.remoting.FastPipedOutputStream.write(FastPipedOutputStream.java:153)
at hudson.remoting.FastPipedOutputStream.write(FastPipedOutputStream.java:137)
at hudson.remoting.ProxyOutputStream$Chunk$1.run(ProxyOutputStream.java:264)
at hudson.remoting.PipeWriter$1.run(PipeWriter.java:158)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:111)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:63)
at java.lang.Thread.run(Unknown Source)
Caused by: hudson.remoting.FastPipedInputStream$ClosedBy: The pipe was closed at...
at hudson.remoting.FastPipedInputStream.close(FastPipedInputStream.java:112)
at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath$2.invoke(MyFilePath.java:138)
at com.michelin.cio.hudson.plugins.copytoslave.MyFilePath$2.invoke(MyFilePath.java:130)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2677)
at hudson.remoting.UserRequest.perform(UserRequest.java:121)
at hudson.remoting.UserRequest.perform(UserRequest.java:49)
at hudson.remoting.Request$2.run(Request.java:324)
... 6 more
Help us localize this page
I got the same problem.
The problem is that the plugin im my case copies the file with read-only privileges (444) into the destination directory. So if the file is already there, the plugin fails to overwrite it.
I checked the directory privileges where the file resides and they are ok (755). I checked the umask of the user used to execute the job and it is ok (0022).
If I delete the file or change its privileges to 644 the plugin succeeds to copy the file. But it uses 444 again, so I have to do this after each job run.