java.lang.OutOfMemoryError: Java heap space in Runner [message #1746764] |
Fri, 04 November 2016 06:35  |
Eclipse User |
|
|
|
Hi,
we are executing the tests nightly on Jenkins.
There are 236 (partly complex) test cases.
After about 170 runner exits with java.lang.OutOfMemoryError: Java heap space.
We are using runner version 2.1.0.
Heap space is 512m (-Xmx512m)
Here is the relevant part of console log:
[INFO] java.lang.OutOfMemoryError: Java heap space
06:35:30 [INFO] Dumping heap to java_pid52302.hprof ...
06:35:37 [INFO] Heap dump file created [536193080 bytes in 6.532 secs]
06:35:37 [INFO] Skip remaining: Execution finished
06:35:37 [ERROR] Exception in thread "AUT-Worker-0" java.lang.OutOfMemoryError: Java heap space
06:35:37 [ERROR] at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSetting(BasicEObjectImpl.java:1604)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.getTarget(EcoreUtil.java:562)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAttribute(EcoreUtil.java:623)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:483)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:449)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:599)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
06:35:37 [ERROR] at org.eclipse.emf.ecore.util.EcoreUtil.copy(EcoreUtil.java:357)
06:35:37 [ERROR] at org.eclipse.rcptt.sherlock.core.streams.SherlockReportFormat.storeReport(SherlockReportFormat.java:44)
06:35:37 [ERROR] at org.eclipse.rcptt.sherlock.core.streams.SherlockReportOutputStream.write(SherlockReportOutputStream.java:46)
06:35:37 [ERROR] at org.eclipse.rcptt.runner.ScenarioRunnable.run(ScenarioRunnable.java:96)
06:35:37 [ERROR] at org.eclipse.rcptt.runner.util.AutThread.run(AutThread.java:137)
06:35:37 [INFO] Process terminated. Shut down AUTs
06:35:42 [INFO] An error has occurred. See the log file
06:35:42 [INFO] /var/lib/jenkins/jobs/com.sap.bw.rcptt.ui.test/workspace/com.sap.bw.rcptt.ui.test/target/runner-workspace/.metadata/.log.
06:35:43 [INFO] Runner exit code is: 13
06:35:43 [INFO] ------------------------------------------------------------------------
06:35:43 [INFO] BUILD FAILURE
06:35:43 [INFO] ------------------------------------------------------------------------
06:35:43 [INFO] Total time: 02:22 h
06:35:43 [INFO] Finished at: 2016-11-04T06:35:43+01:00
06:35:43 [INFO] Final Memory: 8M/181M
06:35:43 [INFO] ------------------------------------------------------------------------
06:35:43 [ERROR] Failed to execute goal org.eclipse.rcptt:rcptt-maven-plugin:2.1.0:execute (default-execute) on project com.sap.bw.rcptt.ui.test: Failed to launch RCPTT runner. Runner exit code is: 13 -> [Help 1]
06:35:43 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eclipse.rcptt:rcptt-maven-plugin:2.1.0:execute (default-execute) on project com.sap.bw.rcptt.ui.test: Failed to launch RCPTT runner. Runner exit code is: 13
06:35:43 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
06:35:43 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
06:35:43 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
06:35:43 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
06:35:43 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
06:35:43 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
06:35:43 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
06:35:43 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
06:35:43 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
06:35:43 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
06:35:43 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
06:35:43 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
06:35:43 at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
06:35:43 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
06:35:43 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
06:35:43 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
06:35:43 at java.lang.reflect.Method.invoke(Unknown Source)
06:35:43 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
06:35:43 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
06:35:43 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
06:35:43 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
06:35:43 Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to launch RCPTT runner. Runner exit code is: 13
06:35:43 at org.eclipse.rcptt.maven.ExecuteMojo.execute(ExecuteMojo.java:257)
06:35:43 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
06:35:43 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
06:35:43 ... 20 more
06:35:43 [ERROR]
06:35:43 [ERROR]
06:35:43 [ERROR] For more information about the errors and possible solutions, please read the following articles:
06:35:43 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
The heapdump is about 500 mb. No clue where to upload it.
But I first leak suspect analysis shows:
=========================
Problem Suspect 1
One instance of "org.eclipse.rcptt.runner.util.TestSuite" loaded by "org.eclipse.rcptt.runner" occupies 176.512.952 (42,79%) bytes. The memory is accumulated in one instance of "java.util.HashMap$Node[]" loaded by "<system class loader>".
Keywords
org.eclipse.rcptt.runner
java.util.HashMap$Node[]
org.eclipse.rcptt.runner.util.TestSuite
=========================================
Problem Suspect 2
30 instances of "org.eclipse.rcptt.internal.launching.Executable[]", loaded by "org.eclipse.rcptt.launching" occupy 79.947.448 (19,38%) bytes.
Biggest instances:
•org.eclipse.rcptt.internal.launching.Executable[1] @ 0xf5af2340 - 5.314.344 (1,29%) bytes.
These instances are referenced from one instance of "java.util.HashMap$Node[]", loaded by "<system class loader>"
Keywords
org.eclipse.rcptt.internal.launching.Executable[]
java.util.HashMap$Node[]
org.eclipse.rcptt.launching
=============================================
Problem Suspect 3
18 instances of "org.eclipse.pde.internal.core.target.TargetDefinition", loaded by "org.eclipse.pde.core" occupy 62.344.368 (15,11%) bytes.
Biggest instances:
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe2cff6b0 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe4e47e50 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe52c0b88 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe573b488 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe5f5fb48 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe63aaac8 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe6836598 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe6cb9818 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe711cf60 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe75c0d00 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe7d2fbf8 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe81d29b0 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe8659b38 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe8c6b088 - 4.134.736 (1,00%) bytes.
•org.eclipse.pde.internal.core.target.TargetDefinition @ 0xe90e4d78 - 4.134.736 (1,00%) bytes.
These instances are referenced from one instance of "java.util.HashMap$Node[]", loaded by "<system class loader>"
Keywords
java.util.HashMap$Node[]
org.eclipse.pde.internal.core.target.TargetDefinition
org.eclipse.pde.core
================================
Of course increasing to 1g is possible. But maybe there is leak somewhere.
Thanks, Marcus
[Updated on: Fri, 04 November 2016 08:38] by Moderator
|
|
|
|
|
|
|
|
Re: java.lang.OutOfMemoryError: Java heap space in Runner [message #1751346 is a reply to message #1747204] |
Mon, 09 January 2017 04:33  |
Eclipse User |
|
|
|
Hi Angelo,
I'm on Runner 2.1.0 ever since.
I had increased runner xmx to 1g already and it worked almost every time. I further increased to 2g now. maxpermsize is n.a. for my java version.
Let's see how it works.
Nevertheless it memory consumption seems to grow per testcase. Maybe linearly, but it grows. So with more testcases we need to increase again at some point in time.
|
|
|
Powered by
FUDForum. Page generated in 0.07852 seconds