MyEclipse

Bugs - Very Disapointing "Out of Memory Exceptions" [Clos

mrasmussen - Aug 17, 2004 - 07:00 PM
Post subject: Very Disapointing "Out of Memory Exceptions" [Clos
I downloaded 3.8GA today very excited about the new features in the release. Unfortunately Eclipse is crashing on me ~ every 5 minutes.


Here is a copy of the afternoon's error log.

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:05.743
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\css_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:05.883
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\forms_lists_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:05.963
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\htmlform_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.54
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\html_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.144
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\javascript_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.204
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\jsf_f_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.364
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\jsf_h_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.404
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\struts_bean_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.444
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\struts_html_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.504
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\struts_logic_snippets.xml

!ENTRY com.genuitec.eclipse.wizards 1 1 Aug 17, 2004 11:24:06.534
!MESSAGE Installed snippet library: c:\MICHAEL\eclipse\plugins\com.genuitec.eclipse.wizards_3.8.0\snippets\struts_tiles_snippets.xml

!ENTRY org.eclipse.ui 4 4 Aug 17, 2004 12:24:18.37
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.core.runtime 4 2 Aug 17, 2004 12:24:18.87
!MESSAGE An internal error occurred during: "Update JSP Index".
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 0 Aug 17, 2004 12:24:18.87
!MESSAGE java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.jdt.core 4 4 Aug 17, 2004 12:24:49.62
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui.ide 4 4 Aug 17, 2004 12:49:28.59
!MESSAGE Exception in org.eclipse.ui.actions.RefreshAction. run: java.lang.OutOfMemoryError

!ENTRY com.objfac.xmleditor 4 4 Aug 17, 2004 12:49:29.331
!MESSAGE Internal Error
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui.ide 4 4 Aug 17, 2004 12:49:29.331
!MESSAGE Exception in org.eclipse.ui.actions.RefreshAction. run: java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.jdt.core 4 4 Aug 17, 2004 12:49:30.112
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.core.runtime 4 2 Aug 17, 2004 12:49:42.800
!MESSAGE An internal error occurred during: "Update JSP Index".
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 4 Aug 17, 2004 12:51:02.294
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.core.runtime 4 2 Aug 17, 2004 12:51:02.905
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 0 Aug 17, 2004 12:51:02.905
!MESSAGE java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 4 Aug 17, 2004 12:51:02.935
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 Aug 17, 2004 12:51:02.945
!MESSAGE java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 4 Aug 17, 2004 12:52:12.565
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 Aug 17, 2004 12:52:12.565
!MESSAGE java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.ui 4 4 Aug 17, 2004 12:52:17.612
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 Aug 17, 2004 12:52:17.612
!MESSAGE java.lang.OutOfMemoryError
!STACK 0
java.lang.OutOfMemoryError

!ENTRY org.eclipse.osgi Aug 17, 2004 12:52:25.934
!MESSAGE Application error
!STACK 1
java.lang.OutOfMemoryError

!ENTRY org.eclipse.osgi Aug 17, 2004 12:52:29.580
!MESSAGE The class "com.ibm.wtp.common.ui.UITesterImpl" cannot be loaded because the system is shutting down and the plug-in "com.ibm.wtp.common.ui" has already been stopped.
!STACK 0
java.lang.ClassNotFoundException: The class "com.ibm.wtp.common.ui.UITesterImpl" cannot be loaded because the system is shutting down and the plug-in "com.ibm.wtp.common.ui" has already been stopped.
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor(EclipseClassLoader.java:147)
at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass(EclipseClassLoader.java:62)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:371)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
at java.lang.Thread.run(Thread.java:536)

!ENTRY org.eclipse.core.runtime 4 1 Aug 17, 2004 12:52:29.590
!MESSAGE Plug-in com.ibm.wtp.common.ui was unable to load class com.ibm.wtp.common.ui.UITesterImpl.
!STACK 0
java.lang.ClassNotFoundException: com.ibm.wtp.common.ui.UITesterImpl
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:404)
at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:307)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:336)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1313)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:131)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:124)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:113)
at com.ibm.wtp.common.UIContextDetermination$UITesterRegistryReader.readElement(UIContextDetermination.java:153)
at com.ibm.wtp.common.RegistryReader.internalReadElement(RegistryReader.java:61)
at com.ibm.wtp.common.RegistryReader.readRegistry(RegistryReader.java:99)
at com.ibm.wtp.common.UIContextDetermination.getCurrentContext(UIContextDetermination.java:69)
at com.ibm.etools.validate.internal.EventManager.isHeadless(EventManager.java:431)
at com.ibm.etools.validate.internal.EventManager.shutdown(EventManager.java:323)
at com.ibm.etools.validate.plugin.ValidationPlugin.shutdown(ValidationPlugin.java:137)
at org.eclipse.core.internal.compatibility.PluginActivator.stop(PluginActivator.java:74)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437)
at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:75)
at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62)
at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457)
at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182)
at java.lang.Thread.run(Thread.java:536)


Sorry for posting all of that. I am using WinXP and eclipse 3.0 with 3.8 GA. The problem seems most prevalent when I am using the tomcat project deployer.

Any help here would be appreciated
support-rkalla - Aug 17, 2004 - 08:22 PM
Post subject:
Have you tried giving Eclipse more memory? Try adding:
-vmargs -Xms128m -Xmx256m

to the command line or shortcut used to launch Eclipse. Eclipse 3.0 requires about 2x as much memory as Eclipse 2.1 and too boot ME is a collection of over 100 plugins installed ontop of that... that entire recipe == lots of memory. I think more people are noticing it with ME 3.8 GA because the new editors provide a lot more functionality but also require more resources to run.
mrasmussen - Aug 17, 2004 - 09:12 PM
Post subject: Look at it later
Thanks for the idea. I unfortunately already uninstalled 3.8 until I had more time to play with it. Pretty busy and I don't have time to debug new releases. Thats why I buy this subscription.But I will look at it later.
Michael
goetterwind - Aug 18, 2004 - 03:30 PM
Post subject:
had something similiar like Michael
with 3.8 Beta2, (and i gave eclipse about 300-350MB)
until now it didn't reappear after GA upgrade :)
support-rkalla - Aug 18, 2004 - 03:34 PM
Post subject:
Hey guys we also read in the JDT newsgroup that the indexer that is part of Eclipse (that the Java and JSP editor make use of for indexing the source files) can leak memory like a bandit. One user got an OOM with -Xmx768m and running the indexer on a project of 200 JSPs... just a heads up incase you run into some more OOM exceptions while the indexer is running.
mrasmussen - Aug 18, 2004 - 07:30 PM
Post subject:
That makes so much sense as I get seemingly unused memory building up in page files to the tune of 700-800M. Is there a patch on the way from Eclipse? Interesting though is that I don't get this error while using 3.8b2. I only get the error while deploying a project to tomcat using the deployer.
support-rkalla - Aug 18, 2004 - 08:35 PM
Post subject:
I think the reason you don't get this with Beta2 is that our old Editor didn't use the indexer but the new WTP editors do. This bug report originated from the WTP forums and they traced it back to the JDT's indexer...

I know that we are aware of it and that we hope to fix it soon, I just don't know the details of what we are going to do just yet.
mrasmussen - Aug 18, 2004 - 10:00 PM
Post subject:
Can you tell me where I can monitor this discussion so I know when the bug is fixed?
support-rkalla - Aug 18, 2004 - 10:04 PM
Post subject:
Off hand I don't know it, that information came from one of the devs. Although searching might lead somewhere:
https://bugs.eclipse.org/bugs/query.cgi

If the dev gets back to me I'll post more info for you.
maslovsky - Aug 27, 2004 - 07:02 AM
Post subject:
support-rkalla wrote:
Have you tried giving Eclipse more memory? Try adding:
-vmargs -Xms128m -Xmx256m

to the command line or shortcut used to launch Eclipse. Eclipse 3.0 requires about 2x as much memory as Eclipse 2.1 and too boot ME is a collection of over 100 plugins installed ontop of that... that entire recipe == lots of memory. I think more people are noticing it with ME 3.8 GA because the new editors provide a lot more functionality but also require more resources to run.


How about you setup these parameters in myeclipse shortcut automaticaly when installing the program?
jnermut - Aug 27, 2004 - 08:20 AM
Post subject:
While you guys are looking at memory and performance, you might want to look at the keep resident plugin:
http://suif.stanford.edu/pub/keepresident/
It does some hacky windows API calls to keep windows swapping out eclipse to disk all the time. If you are profiling performance I would be very interested to find out what if any difference this plugin makes. My developers report very positive improvements in performance times and stopping eclipse hanging when doing a gc, but it is a bit subjective without real metrics.

Cheers,

Jon
support-scott - Aug 27, 2004 - 02:26 PM
Post subject:
Jon,

Thanks for the pointers. We're activley looking at the resource utilization issues now and expect to have a fix in 3.8.2. Just so you have some scope on the difficulty of the issue, JSP validation is now performed by Jasper 2 (which uses Ant) and this is a big change from Beta 2. Unfortunately, while we now have JSP 2.0 level validation, we don't have the performance we once had, yet. We now need to determine where the resource utilization issues are, whether in Eclipse, our code, IBM's, Jasper, or Ant, and get them fixed. The only way to do that reliably is with detailed profiling, which we're beginning now. By the way, if any of you have successfully used specific tools for profiling a runtime workbench and find them useful, please pass them along, as Jon did. All help appreciated.
support-rkalla - Aug 27, 2004 - 03:26 PM
Post subject:
Quote:
How about you setup these parameters in myeclipse shortcut automaticaly when installing the program?

I don't know that we can detect the amount of ram a user has from the InstallShield installer... but that's not a bad idea at all. Thanks for the suggestion!
arjan.tijms - Sep 01, 2004 - 03:27 PM
Post subject:
Just wondering, what is the default maximum memory setting for Eclipse? I looked around for this information, but could not find it.
support-rkalla - Sep 01, 2004 - 03:36 PM
Post subject:
Its actually the default heap for the VM you are using to Run and I believe its 64mb for Sun's.
mrasmussen - Sep 01, 2004 - 08:59 PM
Post subject:
This thread has been marked closed, is it actually fixed now or did it just get stale?
support-rkalla - Sep 01, 2004 - 09:33 PM
Post subject:
As a temporary fix in 3.8.1 we disabled the indexer so it shouldn't be consuming memory like it was. However we are still working on fixing it and seeing if we can get it into a later release, but I'm not sure when.
mrasmussen - Sep 01, 2004 - 10:39 PM
Post subject:
Just to clarify...if I download 3.8.1 I will not have this problem? I don't really have time to install and find it again and then uninstall
mrasmussen - Sep 01, 2004 - 10:47 PM
Post subject:
Sorry that sounded a little demanding... I didn't mean it to be
support-rkalla - Sep 01, 2004 - 11:54 PM
Post subject:
Quote:
Just to clarify...if I download 3.8.1 I will not have this problem?

We encourage our users, when developing in a critical environment, to have side-by-side installations so if a feature does not work out, or breaks something rolling back their install is not a hassle. While we *did* disable the indexer in 3.8.1, I cannot say that you might not run into OTHER problems and honestly I would feel bad if I said "sure no problem, have at it" and then you just ran into another problem.

If you are working successfully with your install now, please stay with it until we can stabalize ME and all the new features a bit more (we replaced/rewrote almost 60% of our code base... it might take af ew months). Our 3.8.2 goals are performance, our 3.8.3 goals are bugfixes and missing features and 3.9 is purely features and bugfixes.
mrasmussen - Sep 02, 2004 - 12:02 AM
Post subject:
So wait until 3.8.3 to pick up 3.8 then?
support-rkalla - Sep 02, 2004 - 12:10 AM
Post subject:
Yes if you don't want to do a side-by-side test setup.

We will be doing beta and RC releases for our upcomming releases now, so you might find 3.8.2 works fine for you when we start testing it, or you may want to wait until 3.8.3. I would just personally suggest to hold off atleast until the next release as 3.8.1 still has a few kinks to iron out.
snpe - Sep 02, 2004 - 12:49 AM
Post subject:
Try this options : -vmargs -Xms32m -Xmx200m -Xss32m

ms - initial JVM memory - if you set this too big then start another JVM will be slow
mx - maximum java memory - if you can > 512M set this in 400m or more
ss - memory stack for c - eclipse use this

This is setting for 512 m ram.If You can more increase value

Advice 2: increase page swap (swap on linux, page swap or like on windows) Swap will not help with speed,
but help for out of memory

regards
mrasmussen - Sep 02, 2004 - 03:41 PM
Post subject:
I know how to set thses options from command line, but myeclipse is launched with an icon in windows, how do I set these in windows?
support-rkalla - Sep 02, 2004 - 03:49 PM
Post subject:
mrasmussen,
You can right click on the icon (which is actually a shortcut in windows), then select Properties, and then in the "Target" box, add the arguments to the end of the line, so you may end up with something like this in the ENTIRE box:
Code:

C:\Java\eclipse-3.0\eclipse.exe -vmargs -Xms32m -Xmx200m -Xss32m


Or this if your path has spaces in it:
Code:

"C:\Program Files\eclipse-3.0\eclipse.exe" -vmargs -Xms32m -Xmx200m -Xss32m

All times are GMT - 6 Hours
Powered by PNphpBB2 © 2003-2004 The PNphpBB Group
Credits