I’ve been having problems running eclipse. This is the exception that was thrown after the crash today. I don’t understand why I can’t run the standard eclipse on my Linux machine. Does anyone have any idea what the problem could be? I’ve tried changing the JVM a hundred times. Messed with the eclipse.ini nothing seems to work.
I’m running Eclipse 64 3.7.1 on RHEL5 AMD64;
Exception in thread "Worker-4"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Worker-4"
Exception in thread "Keep-Alive-Timer"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Keep-Alive-Timer"
Exception in thread "Worker-2"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Worker-2"
Exception in thread "Worker-6"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Worker-6"
Error while logging event loop exception:
Exception in thread "Worker-3"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Worker-3"
Exception in thread "Worker-7"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "Worker-7"
Exception in thread "[Timer] - Main Queue Handler"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler i n thread "[Timer] - Main Queue Handler"
Exception in thread "Worker-5"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-5"
Exception in thread "Worker-8"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-8"
Exception in thread "Worker-10"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Worker-10"
Exception in thread "Worker-9"
I have tried increasing the memory int he eclipse.ini file. Here are some more errors on crash:
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.
getInnerIterator(CollectionFilter.java:106)
at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.
evaluate(CollectionFilter.java:56)
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openInternalQues
tionDialog(IDEWorkbenchErrorHandler.java:225)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.openQuestionDial
og(IDEWorkbenchErrorHandler.java:194)
Fatal error happened during workbench emergency close.
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(
DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(Clas
spathManager.java:601)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(Cl
asspathManager.java:567)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassIm
pl(ClasspathManager.java:490)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_L
ockClassName(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(C
lasspathManager.java:456)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalCla
ss(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLo
ader.java:400)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(Bundl
eLoader.java:476)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.
java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(De
faultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:1277)
at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose(WorkbenchC
onfigurer.java:165)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.closeWorkbench(I
DEWorkbenchErrorHandler.java:253)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handleException(
IDEWorkbenchErrorHandler.java:155)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.access$0(IDEWork
benchErrorHandler.java:146)
at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler$1.runInUIThread(
IDEWorkbenchErrorHandler.java:121)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.ja va:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja va:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:667)
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space
Logging exception:
java.lang.OutOfMemoryError: PermGen space
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space
Logging exception:
java.lang.OutOfMemoryError: PermGen space
Error while logging event loop exception:
java.lang.OutOfMemoryError: PermGen space
Here is my Eclipse.ini file:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms1024m
-Xmx1800m
I asked this question again here: Setting JVM maxperm size outside of Eclipse.ini and received a good answer for anyone else with this problem.
There may be many underlying problems responsible for your eclipse crashing with
java.lang.OutOfMemoryError.Check whether you machine is not low on memory. You can do this with the
freecommand. Running low on memory would most likely not manifest this way, though, unless you’ve disabled overcommit.Check your per process virtual memory size limits using the
ulimit -vcommand.Allow the JVM to grab a larger heap using the
-Xmxflag.Your eclipse may be loading a lot of plugins. Each plugin contains a number of classes and all these classes are stored in the permanent generation of the heap. Try to disable some plugins or increase permanent generation size with the
-XX:MaxPermSizeJVM flag.EDIT: Now that the question has been extended with a full stack trace and exception message string, it is apparent that permanent generation size is inadequate. Thus, as suggested above, increase its size with the
-XX:MaxPermSizeor try to disable some plugins. Perhaps you’ve recently added a plugin which includes a lot of classes?