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

Java Heap Space in Slave Running no heap dump generated

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Blocker Blocker
    • maven-plugin
    • None

      Continuously Java Heap memory exception in Maven Job running on Slave no heap dump is generated.

      Sometimes exception occurs at the end of the maven build step other time in post build step evaluating single/multiple conditions.

       As is posted above (environment) the java command in the slave has the following arugments -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/jenkins but after exception there is no dump at all.

      This is the java build command that i found the console output, which I guess is the one that performs the post steps as well (the maven command is the one specified in the build maven command.)

      java -Xmx2048m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/**** -cp /var/***/maven33-agent.jar:/usr/share/maven/boot/plexus-classworlds-2.5.2.jar:/usr/share/maven/conf/logging ****.maven3.agent.Maven33Main /usr/share/maven /var/**/slave.jar /var/**/maven33-interceptor.jar /var/***/maven3-interceptor-commons.jar 51659
      Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
      <===[JENKINS REMOTING CAPACITY]===>channel started
      Executing Maven: -B -f /var/***/workspace/ROCS-GUI-Client_4/pom.xml clean deploy -U -DbuildNumber=9fa09193943d1d54a4e752145912c23c36584653 -DscmBranch=origin/master -Partifactory -DbuildUrl=http://ebpdvlp-tools:4110/job/ROCS-GUI-Client/304/ -Dartifactory.url=http://172.21.237.47:8081/artifactory -Dartifactory.user=*** -Dartifactory.pwd=**** -Dsonar.jacoco.reportMissing.force.zero=true -Dmaven.checkstyle.skip=true -DskipTests=true

      Examples:

      [JENKINS] Archiving /var/****/workspace/ROCS-GUI-Client_5/external/gui/pom.xml to com.siemens.rocs/rgui-client-gui/0.0.12/rgui-client-gui-0.0.12.pom
      [JENKINS] Archiving /var/****/workspace/ROCS-GUI-Client_5/external/gui/target/rgui-client-gui-0.0.12.jar to com.siemens.rocs/rgui-client-gui/0.0.12/rgui-client-gui-0.0.12.jar
      [JENKINS] Archiving /var/****/workspace/ROCS-GUI-Client_5/pom.xml to com.siemens.rocs/rgui-client-application/0.0.12/rgui-client-application-0.0.12.pom
      channel stopped
      FATAL: Java heap space
      java.lang.OutOfMemoryError: Java heap space
      Notified Stash for commit with id 9fa09193943d1d54a4e752145912c23c36584653
      
      Regular expression run condition: Expression=[^[0-9][\.|0-9]*(-SNAPSHOT)?$], Label=[Error processing tokens: Error while parsing action 'Text/ZeroOrMore/FirstOf/Token/DelimitedToken/DelimitedToken_Action3' at input position (line 1, pos 21):
      ${ENV,var="Version"}
      java.lang.OutOfMemoryError: Java heap space
      Run condition [Regular expression match] preventing perform for step [BuilderChain]
      FATAL: Java heap space
      java.lang.OutOfMemoryError: Java heap space
      Notified Stash for commit with id 9fa09193943d1d54a4e752145912c23c36584653
      
      FATAL: Java heap space
      java.lang.OutOfMemoryError: Java heap space
      	at java.util.Arrays.copyOf(Arrays.java:3332)
      	at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
      	at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)
      	at java.lang.StringBuilder.append(StringBuilder.java:136)
      	at hudson.Util.replaceMacro(Util.java:180)
      	at hudson.Util.replaceMacro(Util.java:146)
      	at org.****ci.plugins.envinject.service.EnvInjectEnvVars.resolveVars(EnvInjectEnvVars.java:302)
      	at org.****ci.plugins.envinject.EnvInjectListener$2.buildEnvVars(EnvInjectListener.java:214)
      	at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:930)
      	at hudson.maven.AbstractMavenBuild.getEnvironment(AbstractMavenBuild.java:56)
      	at hudson.maven.MavenModuleSetBuild.getEnvironment(MavenModuleSetBuild.java:169)
      	at hudson.plugins.parameterizedtrigger.AbstractBuildParameters.getEnvironment(AbstractBuildParameters.java:47)
      	at hudson.plugins.parameterizedtrigger.FileBuildParameters.getAction(FileBuildParameters.java:90)
      	at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.getBaseActions(BuildTriggerConfig.java:350)
      	at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.perform3(BuildTriggerConfig.java:436)
      	at hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig.perform3(BlockableBuildTriggerConfig.java:66)
      	at hudson.plugins.parameterizedtrigger.TriggerBuilder.perform(TriggerBuilder.java:88)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.build(MavenModuleSetBuild.java:939)
      	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:890)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
      	at hudson.model.Run.execute(Run.java:1728)
      	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:405)
      Notified Stash for commit with id 9fa09193943d1d54a4e752145912c23c36584653
      

          [JENKINS-44471] Java Heap Space in Slave Running no heap dump generated

          Thomas Keller added a comment -

          Similar issue for me - getting an OOM exception right from the start:

           

          Starte Agenten
          $ ssh 10.100.148.58 -l jenkins ~/Slave/start.sh
          <===[JENKINS REMOTING CAPACITY]===>ERROR: Kann Agent „troslion“ nicht starten
          java.lang.OutOfMemoryError: Java heap space
          Caused: java.io.IOException: Remote call on troslion failed
          	at hudson.remoting.Channel.call(Channel.java:961)
          	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:622)
          	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:432)
          	at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:153)
          	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:294)
          	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
          	at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          	at java.lang.Thread.run(Thread.java:745)
          ERROR: Connection terminated
          java.io.EOFException
          	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2624)
          	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3099)
          	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:853)
          	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
          	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49)
          	at hudson.remoting.Command.readFrom(Command.java:140)
          	at hudson.remoting.Command.readFrom(Command.java:126)
          	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
          	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)
          Caused: java.io.IOException: Unexpected termination of the channel
          	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
          ERROR: Process terminated with exit code 0
          

          but when I add dump flags -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/Shared/Jenkins/Slave nothing is generated at the said place. This is Jenkins 2.150.1

          Thomas Keller added a comment - Similar issue for me - getting an OOM exception right from the start:   Starte Agenten $ ssh 10.100.148.58 -l jenkins ~/Slave/start.sh <===[JENKINS REMOTING CAPACITY]===>ERROR: Kann Agent „troslion“ nicht starten java.lang.OutOfMemoryError: Java heap space Caused: java.io.IOException: Remote call on troslion failed at hudson.remoting.Channel.call(Channel.java:961) at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:622) at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:432) at hudson.slaves.CommandLauncher.launch(CommandLauncher.java:153) at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:294) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang. Thread .run( Thread .java:745) ERROR: Connection terminated java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2624) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3099) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:853) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349) at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49) at hudson.remoting.Command.readFrom(Command.java:140) at hudson.remoting.Command.readFrom(Command.java:126) at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63) Caused: java.io.IOException: Unexpected termination of the channel at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77) ERROR: Process terminated with exit code 0 but when I add dump flags -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/Shared/Jenkins/Slave nothing is generated at the said place. This is Jenkins 2.150.1

          Thomas Keller added a comment -

          Ok, restarting the master node fixed the OOM for me, this is totally weird.

          Thomas Keller added a comment - Ok, restarting the master node fixed the OOM for me, this is totally weird.

            Unassigned Unassigned
            rodrigo_jimenez Rodrigo Jimenez
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: