If you update to newest version of Java 1.6.0 update 21 and try to run Eclipse you surely seen on of this: - Unhandled event loop exception - PermGen space

So Eclipse started to become pretty unusable WTF. However for now there is simple workaround just edit your eclipse.ini like this:

-startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vmargs -XX:MaxPermSize=256m -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m

You have to add -XX:MaxPermSize=256m.

The most interesting thing about this is reason why this problem reappeared, an old problem actually.

The reason is because somebody at Eclipse team hard-coded to check jvm signature by checking the file jvm.dll if the company name is “Sun Microsystems”. And as we all know because of the Sun-Oracle merge, and end of Sun existence, the company name changed to “Oracle”, and also the jvm.dll signature changed. more about this read on link

What have we learned from this, never ever hard-code a string that can change in the future, even when it is not likely to change, maybe there is some kind of “Oracle” that will come and “buy your string”.

Ref: