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

Memory Leak when downloading large file from linked project

XMLWordPrintable

      We are running Jenkins without any heap specified (we also had 1gb specified and still ran into this issue).

      When trying to download an RPM generated that is just under 170MB in size using the "Get linked maven deployments" build step, the job fails with a heap error.

      download maven artifact: http://build/nexus/content/repositories/snapshots/com/xxx/xxx/xxx/7.0.0-SNAPSHOT/xxx-7.0.0-20140905.222907-269-xxx.rpm to /var/www/xxx/xxx/xxx/xxx-7.0.0-20140905.222907-269-xxx.rpm
      FATAL: Java heap space
      java.lang.OutOfMemoryError: Java heap space
      at org.jboss.netty.buffer.HeapChannelBuffer.<init>(HeapChannelBuffer.java:42)
      at org.jboss.netty.buffer.BigEndianHeapChannelBuffer.<init>(BigEndianHeapChannelBuffer.java:34)
      at org.jboss.netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:134)
      at org.jboss.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:69)
      at org.jboss.netty.buffer.DynamicChannelBuffer.ensureWritableBytes(DynamicChannelBuffer.java:86)
      at org.jboss.netty.buffer.DynamicChannelBuffer.writeBytes(DynamicChannelBuffer.java:235)
      at org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:441)
      at com.ning.http.client.providers.netty.NettyResponse.getResponseBodyAsStream(NettyResponse.java:106)
      at hudson.plugins.mavendeploymentlinker.MavenDeploymentDownloader.downloadFile(MavenDeploymentDownloader.java:246)
      at hudson.plugins.mavendeploymentlinker.MavenDeploymentDownloader.perform(MavenDeploymentDownloader.java:214)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703)
      at hudson.model.Build$RunnerImpl.build(Build.java:178)
      at hudson.model.Build$RunnerImpl.doRun(Build.java:139)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:473)
      at hudson.model.Run.run(Run.java:1410)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:238)

      When I examine the Jenkins Monitoring Heap graph, I see that it has spiked up high. If I just leave Jenkins running, the heap continues to rise and never completely GCs. Eventually (after about a day), Jenkins gets so bogged down that it becomes unusable and needs a restart.

            imod Dominik Bartholdi
            bbbco Brian Goad
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: