Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-22734

OutOfMemory on file transfer in 1.560

XMLWordPrintable

      Reproduced in jenkins ver 1.560

      Apr 21, 2014 10:46:43 AM hudson.remoting.Channel$2 handle
      SEVERE: Failed to execute command Pipe.EOF(1895) (channel SRV6026)
      java.lang.NullPointerException
              at hudson.remoting.ProxyWriter$EOF.execute(ProxyWriter.java:177)
              at hudson.remoting.Channel$2.handle(Channel.java:461)
              at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)
      
      Apr 21, 2014 10:46:43 AM hudson.remoting.Channel$2 handle
      SEVERE: This command is created here
      Command Pipe.EOF(1895) created at
              at hudson.remoting.Command.<init>(Command.java:67)
              at hudson.remoting.Command.<init>(Command.java:50)
              at hudson.remoting.ProxyWriter$EOF.<init>(ProxyWriter.java:169)
              at hudson.remoting.ProxyWriter.close(ProxyWriter.java:124)
              at hudson.remoting.ProxyWriter.finalize(ProxyWriter.java:132)
              at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
              at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101)
              at java.lang.ref.Finalizer.access$100(Finalizer.java:32)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:190)
      

      Issue appears when jenkins try to archive artifacts when job runs on slave. Some of artifacts has 150+ Mb size.
      After abort job in console I have:

      ERROR: Failed to parse POMs
      java.io.IOException: java.io.IOException: Failed to extract /var/lib/jenkins/workspace/Platform-0/assemblies/karaf/transfer of 3 files
      	at hudson.FilePath.readFromTar(FilePath.java:2095)
      	at hudson.FilePath.copyRecursiveTo(FilePath.java:2007)
      	at jenkins.model.StandardArtifactManager.archive(StandardArtifactManager.java:57)
      	at hudson.maven.MavenBuild$ProxyImpl.performArchiving(MavenBuild.java:474)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:841)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:519)
      	at hudson.model.Run.execute(Run.java:1703)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:525)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
      Caused by: java.io.IOException
      	at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:177)
      	at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:61)
      	at com.jcraft.jzlib.InflaterInputStream.fill(InflaterInputStream.java:175)
      	at com.jcraft.jzlib.InflaterInputStream.read(InflaterInputStream.java:106)
      	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:107)
      	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792)
      	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
      	at org.apache.commons.io.IOUtils.copy(IOUtils.java:1744)
      	at hudson.util.IOUtils.copy(IOUtils.java:40)
      	at hudson.FilePath.readFromTar(FilePath.java:2085)
      	... 9 more
      
      	at hudson.FilePath.copyRecursiveTo(FilePath.java:2014)
      	at jenkins.model.StandardArtifactManager.archive(StandardArtifactManager.java:57)
      	at hudson.maven.MavenBuild$ProxyImpl.performArchiving(MavenBuild.java:474)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:841)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:519)
      	at hudson.model.Run.execute(Run.java:1703)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:525)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
      Caused by: java.util.concurrent.ExecutionException: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
      	at hudson.remoting.Request$1.get(Request.java:278)
      	at hudson.remoting.Request$1.get(Request.java:210)
      	at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)
      	at hudson.FilePath.copyRecursiveTo(FilePath.java:2010)
      	... 8 more
      Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected reader termination
      	at hudson.remoting.Request.abort(Request.java:299)
      	at hudson.remoting.Channel.terminate(Channel.java:801)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:76)
      Caused by: java.io.IOException: Unexpected reader termination
      	... 1 more
      Caused by: java.lang.OutOfMemoryError: Java heap space
      	at java.util.Arrays.copyOf(Arrays.java:2271)
      	at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:113)
      	at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
      	at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:140)
      	at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:87)
      	at hudson.remoting.ChunkedInputStream.read(ChunkedInputStream.java:46)
      	at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:88)
      	at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33)
      	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
      	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
      Looks like the node went offline during the build. Check the slave log for the details.FATAL: /var/lib/jenkins/logs/slaves/SERVER6026/slave.log (No such file or directory)
      java.io.FileNotFoundException: /var/lib/jenkins/logs/slaves/SERVER6026/slave.log (No such file or directory)
      	at java.io.RandomAccessFile.open(Native Method)
      	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
      	at org.kohsuke.stapler.framework.io.LargeText$FileSession.<init>(LargeText.java:397)
      	at org.kohsuke.stapler.framework.io.LargeText$2.open(LargeText.java:120)
      	at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:210)
      	at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:156)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
      	at hudson.model.Run.execute(Run.java:1703)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:525)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:231)
      

      Jenkins slave runs with: -XX:MaxPermSize=256m -Xmx1024m
      Think that 1024 is really enough for transfer. Slave has only one executor, so no other jobs on slave are running.

            kohsuke Kohsuke Kawaguchi
            jsirex jsirex
            Votes:
            21 Vote for this issue
            Watchers:
            42 Start watching this issue

              Created:
              Updated:
              Resolved: