title: Eclipse crashes
body: <p>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. </p>
  
  <p>I'm running Eclipse 64 3.7.1 on RHEL5 AMD64;</p>
  
  <pre><code>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" 
  </code></pre>
  
  <p>I have tried increasing the memory int he eclipse.ini file. Here are some more errors on crash:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Here is my Eclipse.ini file:</p>
  
  <pre><code>-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
  </code></pre>
  
  <p>I asked this question again here: <a href="https://stackoverflow.com/questions/9072656/setting-jvm-maxperm-size-outside-of-eclipse-ini/9072780#9072780">Setting JVM maxperm size outside of Eclipse.ini</a> and received a good answer for anyone else with this problem.</p>