[
https://issues.jenkins-ci.org/browse/JENKINS-12256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Romain Seguy reassigned JENKINS-12256:
--------------------------------------
Assignee: Daniel Petisme (was: Romain Seguy)
> Matrix job kills child job before post build actions have completed
> -------------------------------------------------------------------
>
> Key: JENKINS-12256
> URL: https://issues.jenkins-ci.org/browse/JENKINS-12256
> Project: Jenkins
> Issue Type: Bug
> Components: copy-to-slave, matrix
> Environment: zero@jenkins:~/jenkins$ java -version
> java version "1.6.0_27"
> Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
> Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode)
> zero@jenkins:~/jenkins$ uname -a
> Linux jenkins 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011
> x86_64 x86_64 x86_64 GNU/Linux
> Reporter: Lauri Tulmin
> Assignee: Daniel Petisme
>
> Child jobs occasionally fail to copy logs back to master node with
> {noformat}
> INFO: test-job Ā» tomcat-test,suite1 #3 main build action completed: SUCCESS
> Dec 30, 2011 7:24:16 PM hudson.model.Run run
> INFO: test-job #3 main build action completed: UNSTABLE
> Dec 30, 2011 7:24:16 PM hudson.model.AbstractBuild$AbstractRunner
> performAllBuildSteps
> WARNING: Publisher
> com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier aborted due
> to exception
> hudson.util.IOException2: hudson.util.IOException2: Failed to extract
> /home/a/workspace/test-job/label/tomcat-test/suites/suite1/log/*
> at hudson.FilePath.readFromTar(FilePath.java:1698)
> at hudson.FilePath.copyRecursiveTo(FilePath.java:1616)
> at
> com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier.perform(CopyToMasterNotifier.java:82)
> at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
> at
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:692)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:667)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:645)
> at hudson.model.Build$RunnerImpl.cleanUp(Build.java:171)
> at hudson.model.Run.run(Run.java:1448)
> 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
> at
> hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:175)
> at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:61)
> at
> java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:221)
> at
> java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
> at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:92)
> at org.apache.tools.tar.TarBuffer.readBlock(TarBuffer.java:257)
> at org.apache.tools.tar.TarBuffer.readRecord(TarBuffer.java:223)
> at
> hudson.org.apache.tools.tar.TarInputStream.read(TarInputStream.java:345)
> at java.io.FilterInputStream.read(FilterInputStream.java:90)
> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
> at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
> at hudson.util.IOUtils.copy(IOUtils.java:36)
> at hudson.FilePath.readFromTar(FilePath.java:1690)
> ... 11 more
> at hudson.FilePath.copyRecursiveTo(FilePath.java:1623)
> at
> com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier.perform(CopyToMasterNotifier.java:82)
> at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
> at
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:692)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:667)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:645)
> at hudson.model.Build$RunnerImpl.cleanUp(Build.java:171)
> at hudson.model.Run.run(Run.java:1448)
> 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$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:1619)
> ... 10 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:1670)
> at hudson.FilePath.access$1000(FilePath.java:164)
> at hudson.FilePath$33.invoke(FilePath.java:1609)
> at hudson.FilePath$33.invoke(FilePath.java:1606)
> at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2030)
> 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
> 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: 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)
> ... 6 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: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:1700)
> at hudson.FilePath.copyRecursiveTo(FilePath.java:1616)
> at
> com.michelin.cio.hudson.plugins.copytoslave.CopyToMasterNotifier.perform(CopyToMasterNotifier.java:82)
> at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
> at
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:692)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:667)
> at
> hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:645)
> at hudson.model.Build$RunnerImpl.cleanUp(Build.java:171)
> at hudson.model.Run.run(Run.java:1448)
> at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
> at hudson.model.ResourceController.execute(ResourceController.java:88)
> at hudson.model.Executor.run(Executor.java:238)
> {noformat}
> Pipe is closed because it is interrupted from
> {noformat}
> Thread 'Thread[Executor #2 for pylon : executing test-job y Ā»
> tomcat-test,suite1 #3,5,main] interrupted
> java.lang.Throwable
> at java.lang.Thread.interrupt(Thread.java:895)
> at hudson.model.Executor.interrupt(Executor.java:146)
> at hudson.model.Executor.interrupt(Executor.java:127)
> at hudson.model.Executor.interrupt(Executor.java:115)
> at hudson.matrix.MatrixBuild$RunnerImpl.doRun(MatrixBuild.java:320)
> at
> hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:462)
> at hudson.model.Run.run(Run.java:1404)
> at hudson.matrix.MatrixBuild.run(MatrixBuild.java:219)
> at hudson.model.ResourceController.execute(ResourceController.java:88)
> at hudson.model.Executor.run(Executor.java:238)
> at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
> {noformat}
> As far as I can tell this happens because hudson.model.Run#run sets state =
> State.POST_PRODUCTION; before job.cleanUp(listener); which makes
> hudson.matrix.MatrixBuild#waitForCompletion believe that build has completed
> and interrupt the executor while copy to slave is still in progress.
--
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