<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog &#124; BenHollis.net &#187; PermGen</title>
	<atom:link href="http://benhollis.net/blog/tags/permgen/feed/" rel="self" type="application/rss+xml" />
	<link>http://benhollis.net/blog</link>
	<description>News about BenHollis.net and articles about Ben&#039;s interests</description>
	<lastBuildDate>Fri, 04 Jun 2010 05:39:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Eclipse NoClassDefFoundError near installFont on startup</title>
		<link>http://benhollis.net/blog/2007/10/08/eclipse-error/</link>
		<comments>http://benhollis.net/blog/2007/10/08/eclipse-error/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 07:26:31 +0000</pubDate>
		<dc:creator>Ben Hollis</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Perforce]]></category>
		<category><![CDATA[PermGen]]></category>

		<guid isPermaLink="false">http://brh.numbera.com/blog/index.php/2007/10/08/eclipse-error/</guid>
		<description><![CDATA[At work and at home I use Eclipse as my IDE of choice for Java development, along with Eclipse-in-disguise Aptana for web development. I&#8217;ve never had a problem with Eclipse on Windows or on my Mac, but on my Linux machine (and many of my co-workers&#8217; machines) Eclipse tends to crash rather violently. I suspect [...]]]></description>
			<content:encoded><![CDATA[<p>At work and at home I use <a href="http://eclipse.org/">Eclipse</a> as my IDE of choice for Java development, along with Eclipse-in-disguise <a href="http://aptana.org">Aptana</a> for web development. I&#8217;ve never had a problem with Eclipse on Windows or on my Mac, but on my Linux machine (and many of my co-workers&#8217; machines) Eclipse tends to crash rather violently. I suspect that it isn&#8217;t Eclipse at all, but the primitive <a href="http://www.perforce.com/perforce/products/p4wsad.html">P4WSAD</a> Perforce plugin. I don&#8217;t use Perforce at home, so that might be the difference. Anyway, what happens is that in the middle of doing something Eclipse will run out of PermGen memory, throw up some errors, and die in the least pleasant way possible. When you try to start it back up, you get something like this:</p>
<pre>
 !SUBENTRY 1 org.eclipse.team.core 4 0 2007-08-20 16:58:25.979
 !MESSAGE Could not instantiate provider com.perforce.team.core.PerforceTeamProvider for project SampleProject.
 Exception in thread "Thread-1" java.lang.NoClassDefFoundError
         at org.eclipse.ui.internal.themes.ThemeElementHelper.installFont(ThemeElementHelper.java:101)
         at org.eclipse.ui.internal.themes.ThemeElementHelper.populateRegistry(ThemeElementHelper.java:57)
         at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1426)
         at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
         at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
         at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
         at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
         at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2309)
         at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
         at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
         at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
         at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
         at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
         at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
         at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
         at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
         at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
         at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
         at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
         at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
</pre>
<p>Further digging reveals that the culprit is definitely the Perforce plugin. To fix it, you need to go to where Eclipse is installed, and move the <tt>plugins/com.perforce.*</tt> files away. Then start Eclipse, which will start but complain about the missing plugin. Then shut down Eclipse, move the plugins back, and start up again. You&#8217;ll need to reconfigure any Perforce windows you had open, but at least Eclipse will start.</p>
<p>This seems to be caused by Eclipse crashing after running out of PermGen memory. To prevent future crashes, edit <tt>eclipse.ini</tt> in your Eclipse install directory. It should look something like this:</p>
<pre>-showsplash&#010;org.eclipse.platform&#010;--launcher.XXMaxPermSize&#010;256m&#010;-vmargs&#010;-Xms40m&#010;-Xmx512m&#010; -XX:MaxPermSize=256m&#010;-Dosgi.bundlefile.limit=100</pre>
<p>The <tt>-XX:MaxPermSize</tt> is especially important for preventing Eclipse crashes. The other option, <tt>--launcher.XXMaxPermSize</tt> only works in Windows.</p>
]]></content:encoded>
			<wfw:commentRss>http://benhollis.net/blog/2007/10/08/eclipse-error/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
