Eclipse frequently crashing with out of memory errors [message #248576] |
Wed, 10 October 2007 13:44  |
Eclipse User |
|
|
|
I am having the problem of Eclipse 3.3.0 crashing two or three times an
hour due to an out of memory error. I am running on a Windows XP machine
with 2GB of memory and when this error occurs the Windows Task Manager
shows plenty of memory available and the Eclipse process taking up about
400MB of memory.
I am using the below in my eclipse.ini file:
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384M
-vmargs
-Xms256m
-Xmx786m
I am using the following plugins:
Jetty Launcher
Subclipse
Maven2
Checkstyle
Below is a typical entry in the .metadata/.log file:
!ENTRY org.eclipse.core.jobs 4 2 2007-10-10 10:50:14.443
!MESSAGE An internal error occurred during: "Processing Dirty Regions".
!STACK 0
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:161)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:501)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:471)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:430)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:413)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:189)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:340)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl assInternal(BundleLoader.java:408)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:369)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:357)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:161)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:501)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:471)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:430)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:413)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:189)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:340)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl assInternal(BundleLoader.java:408)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:369)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:357)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at
org.eclipse.wst.validation.internal.ValidationRegistryReader .initializeValidator(ValidationRegistryReader.java:1376)
at
org.eclipse.wst.validation.internal.ValidationRegistryReader .readExtension(ValidationRegistryReader.java:1489)
Below is the first section from the Configuration Details page:
*** Date: Wednesday, October 10, 2007 10:56:03 AM MT
*** Platform Details:
*** System properties:
awt.toolkit=sun.awt.windows.WToolkit
eclipse.buildId=I20070625-1500
eclipse.commands=-os
win32
-ws
win32
-arch
x86
-showsplash
C:\home\tools\eclipse\\plugins\org.eclipse.platform_3.3.1.M2 0070725\splash.bmp
-launcher
C:\home\tools\eclipse\eclipse.exe
-name
Eclipse
--launcher.library
C:\home\tools\eclipse\plugins\org.eclipse.equinox.launcher.w in32.win32.x86_1.0.1.R33x_v20070828\eclipse_1020.dll
-startup
C:\home\tools\eclipse\plugins\org.eclipse.equinox.launcher_1 .0.1.R33x_v20070828.jar
-vm
C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dll
eclipse.ee.install.verify=false
eclipse.product=org.eclipse.platform.ide
eclipse.startTime=1192035318396
eclipse.vm=C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dll
eclipse.vmargs=-Xms256m
-Xmx786m
-Djava.class.path=C:\home\tools\eclipse\plugins\org.eclipse. equinox.launcher_1.0.1.R33x_v20070828.jar
eof=eof
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.separator=\
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=C:\home\tools\eclipse\plugins\org.eclipse.eq uinox.launcher_1.0.1.R33x_v20070828.jar
java.class.version=50.0
java.endorsed.dirs=C:\Program Files\Java\jre1.6.0_02\lib\endorsed
java.ext.dirs=C:\Program
Files\Java\jre1.6.0_02\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.home=C:\Program Files\Java\jre1.6.0_02
java.io.tmpdir=C:\TEMP\
java.library.path=C:\home\tools\eclipse;.;C:\WINDOWS\Sun\Jav a\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program
Files\Java\jre1.6.0_02\bin\client;C:\Program
Files\Java\jre1.6.0_02\bin;C:\WINDOWS\system32;C:\WINDOWS;C: \WINDOWS\System32\Wbem;C:\PROGRA~1\CA\SHARED~1\SCANEN~1;C:\P ROGRA~1\CA\ETRUST~1;C:\Program
Files\Vantive32;C:\Program Files\QuickTime\QTSystem\;C:\Program
Files\ZipGenius
6\;C:\home\tools\mule-1.3.3\bin;C:\home\tools\maven-2.0.7\bi n;C:\home\tools\svn-win32-1.4.5\bin
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_02-b06
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_02
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=1.6.0_02-b06
Any suggestions as to what I can do to stop this from happening will be
very much appreciated, thanks in advance.
--James
|
|
|
|
|
|
|
Re: Eclipse frequently crashing with out of memory errors [message #248816 is a reply to message #248811] |
Tue, 16 October 2007 13:52  |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
James,
I think because it's an extended option not a standard option that all
JVMs must accept, though that doesn't explain the "=".
James Adams wrote:
> Walter Harley wrote:
>
>> "James Adams" <monocongo@gmail.com> wrote in message
>> news:dbe86e58ca1ecf39b8e416ead29370c7$1@www.eclipse.org...
>>> I am having the problem of Eclipse 3.3.0 crashing two or three times
>>> an hour due to an out of memory error. I am running on a Windows XP
>>> machine with 2GB of memory and when this error occurs the Windows
>>> Task Manager shows plenty of memory available and the Eclipse
>>> process taking up about 400MB of memory.
>>> I am using the below in my eclipse.ini file:
>>>
>>> -showsplash
>>> org.eclipse.platform
>>> --launcher.XXMaxPermSize
>>> 384M
>>> -vmargs
>>> -Xms256m
>>> -Xmx786m
>
>> This is an Eclipse bug; if you search Bugzilla for
>> --launcher.XXMaxPermSize you'll find it. The workaround appears to
>> be to specify -XXMaxPerSize in the vmargs, rather than to the launcher.
>
> Thanks Walter. I've done two things which seem to have gotten me past
> my out of memory problem: 1) I uninstalled Java 1.6 and went back to
> using the latest Java 1.5, and 2) I added a MaxPermSize VM argument
> into my eclipse.ini file, which is shown below.
>
> -showsplash
> org.eclipse.platform
> -vmargs
> -Xms40m
> -Xmx786m
> -XX:MaxPermSize=160m
>
> One thing which took a little figuring out was the correct way to
> specify the MaxPermSize argument -- I'm not sure why but it's
> different from the other memory arguments in that you need a colon and
> equals.
>
> --James
>
|
|
|
Powered by
FUDForum. Page generated in 0.02535 seconds