Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » "Oomph Setup UI" seems to cause OOM at startup of Neon(vanilla Neon download caused OOM despite heap increases. Disabling Oomph Setup UI plugin changed that.)
"Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774192] Wed, 11 October 2017 13:48 Go to next message
Mikhail Ramendik is currently offline Mikhail RamendikFriend
Messages: 10
Registered: November 2012
Junior Member
Eclipse Neon was freshly unzipped. A blank directory was given to it for workspace. And an Out of memory error gets displayed right after the workspace path query. The details mention "Setup Check".

In eclipse.ini we now have

-Xms1024m
-Xmx4096m

But this does not resolve the issue.

Then we tried to disable plugins through Preferences>General>Startup. It seems that disabling Oomph Setup UI causes the OOM to go away.

I am honestly not sure what Oomph does. The environment is for modifying and building a Java/Maven project that is stored in Github (EGit is to be installed). So I wonder if things will be much worse without this plugin. But more importantly might there be a way to fix this? It does not happen on other machines...

IBM JDK 1.8 is used.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774202 is a reply to message #1774192] Wed, 11 October 2017 15:43 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 29653
Registered: July 2009
Senior Member
Given no stack trace or other technical details I can't comment on what might be going on. Mostly I've only seen OOME resulting from p2's loading of the installation profile, but without a stack trace, I can't know what specifically is going on? Other than profile loading, (which generally happens eventually anyway), Oomph has no significant additional memory requirements.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774225 is a reply to message #1774202] Wed, 11 October 2017 20:05 Go to previous messageGo to next message
Mikhail Ramendik is currently offline Mikhail RamendikFriend
Messages: 10
Registered: November 2012
Junior Member
Could you please tell me how to get a stack trace? No *.log files are present. Core dump files are present but I would not know how to extract one from these.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774238 is a reply to message #1774225] Thu, 12 October 2017 04:56 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 29653
Registered: July 2009
Senior Member
The Error Log view shows the logged errors; that view show the contents of <workspace>/.metadata/.log.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774310 is a reply to message #1774238] Thu, 12 October 2017 14:38 Go to previous messageGo to next message
Mikhail Ramendik is currently offline Mikhail RamendikFriend
Messages: 10
Registered: November 2012
Junior Member
Thanks! Here is the stack trace of the OOM.

!SESSION 2017-10-11 10:11:54.322 -----------------------------------------------
eclipse.buildId=4.6.3.M20170301-0400
java.fullversion=8.0.5.0 - pwa6480sr5-20170905_01(SR5)
JRE 1.8.0 IBM J9 2.9 Windows 7 amd64-64 Compressed References 20170901_363591 (JIT enabled, AOT enabled)
J9VM - d56eb84
JIT - tr.open_20170901_140853_d56eb84
OMR - b033a01
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.egit.ui 2 0 2017-10-11 10:12:23.046
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\IBM_ADMIN'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

!ENTRY org.eclipse.oomph.setup.ui 4 0 2017-10-11 10:12:31.974
!MESSAGE Java heap space
!STACK 0
java.lang.OutOfMemoryError: Java heap space
at java.util.ArrayList.<init>(ArrayList.java:163)
at java.lang.String.split(String.java:3444)
at org.eclipse.oomph.base.util.BaseResourceImpl$2$1.setFeatureValue(BaseResourceImpl.java:152)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.endElement(XMLHandler.java:1606)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:175)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:261)
at org.eclipse.oomph.base.util.BaseResourceImpl.doLoad(BaseResourceImpl.java:100)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1297)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$ResourceLocator.demandLoadHelper(ResourceSetImpl.java:804)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$MappedResourceLocator.getResource(ResourceSetImpl.java:1204)
at org.eclipse.oomph.setup.internal.core.util.SetupCoreUtil$1.getResource(SetupCoreUtil.java:336)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:352)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:220)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:199)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:259)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1477)
at org.eclipse.emf.ecore.util.EcoreEList.resolveProxy(EcoreEList.java:206)
at org.eclipse.emf.ecore.util.EcoreEList.resolve(EcoreEList.java:161)
at org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList$Resolving.resolve(EObjectContainmentWithInverseEList.java:105)
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:348)
at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:705)
at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:692)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$6.copyAll(SetupTaskPerformer.java:3583)
at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:595)
at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:490)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$6.copyAll(SetupTaskPerformer.java:3586)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.copySetup(SetupTaskPerformer.java:3607)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initTriggeredSetupTasks(SetupTaskPerformer.java:619)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initTriggeredSetupTasks(SetupTaskPerformer.java:288)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.<init>(SetupTaskPerformer.java:258)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.create(SetupTaskPerformer.java:3889)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.createForIDE(SetupTaskPerformer.java:3858)
at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:634)
at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:414)
at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:253)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.core.jobs 4 2 2017-10-11 10:12:33.409
!MESSAGE An internal error occurred during: "Setup check".
!STACK 0
java.lang.OutOfMemoryError: Java heap space
at java.util.ArrayList.<init>(ArrayList.java:163)
at java.lang.String.split(String.java:3444)
at org.eclipse.oomph.base.util.BaseResourceImpl$2$1.setFeatureValue(BaseResourceImpl.java:152)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.endElement(XMLHandler.java:1606)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:175)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:261)
at org.eclipse.oomph.base.util.BaseResourceImpl.doLoad(BaseResourceImpl.java:100)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1297)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.loadIndices(IndexManager.java:388)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.access$0(IndexManager.java:381)
at org.eclipse.oomph.setup.internal.core.util.IndexManager$1.run(IndexManager.java:368)
at org.eclipse.oomph.base.util.BaseUtil.execute(BaseUtil.java:279)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.getAnnotation(IndexManager.java:364)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.addIndex(IndexManager.java:94)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.addIndex(IndexManager.java:91)
at org.eclipse.oomph.setup.internal.core.util.IndexManager.addIndex(IndexManager.java:84)
at org.eclipse.oomph.setup.internal.core.SetupContext.createSelf(SetupContext.java:246)
at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:662)
at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:414)
at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:253)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774344 is a reply to message #1774310] Fri, 13 October 2017 06:24 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 29653
Registered: July 2009
Senior Member
Here it's just loading the contents of the resources in http://www.eclipse.org/setups/setups.zip which is not large, but the line of code involved is like this:

String stringValue = value.toString();
String[] lines = stringValue.split("\n", Integer.MAX_VALUE);

And I get the impression that you have a JDK implementation of java.lang.String.split(String, int) that uses the "limit" argument to allocate an array list, and clearly allocating and array list of Integer.MAX_VALUE would be bad.

What JDK/JRE implementation are you using and in particular what's the java.lang.String.split(String, int) method doing with its second argument?
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774403 is a reply to message #1774344] Fri, 13 October 2017 17:09 Go to previous messageGo to next message
Mikhail Ramendik is currently offline Mikhail RamendikFriend
Messages: 10
Registered: November 2012
Junior Member
That machine has the latest IBM JDK 1.8, which is 8.0.5.0. So this is a potential error in the JVM? I can see if I can repeat this on another machine after installing that particular JVM/JDK.

Could you clarify what the bug report should be, if the JVM problem is confirmed on another machine?

BTW the problem remains with Oxygen.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774418 is a reply to message #1774403] Fri, 13 October 2017 20:55 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 29653
Registered: July 2009
Senior Member
Can you see the source for java.lang.String.split(String, int)? Is it using the limit argument to allocate a list's initial size?
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1774836 is a reply to message #1774192] Fri, 20 October 2017 12:07 Go to previous messageGo to next message
Benjamin Wende is currently offline Benjamin WendeFriend
Messages: 1
Registered: October 2017
Junior Member
Hi, I had the same issue and is caused by aIBM JDK bug (Google: IJ00421).

You can downgrade to JDK 8.0.4.11 to work around that issue.
Re: "Oomph Setup UI" seems to cause OOM at startup of Neon [message #1776818 is a reply to message #1774836] Tue, 21 November 2017 22:19 Go to previous message
Bill Carpenter is currently offline Bill CarpenterFriend
Messages: 3
Registered: October 2015
Junior Member
IBM Java 8.0.5.5, released on 20 November 2017, cured this for me.
Previous Topic:Advance mode cannot see the permanent location dialog
Next Topic:How to force the installer to unpack itself
Goto Forum:
  


Current Time: Sat Nov 17 10:46:29 GMT 2018

Powered by FUDForum. Page generated in 0.02411 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top