java util concurrent ExecutionException java lang OutOfMemoryError PermGen space Eclipse tomcat
java util concurrent ExecutionException java lang OutOfMemoryError PermGen space Eclipse tomcat

java util concurrent ExecutionException java lang OutOfMemoryError PermGen space Eclipse tomcat

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError PermGen space – If you see this exception while using eclipse with TOMCAT it means your application is taking more memory what you have allocated or if you have not allocated any memory then taking default assigned memory.

Exception details:

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:188)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1119)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.OutOfMemoryError: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3196)
	at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1373)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1861)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)

Confusion: Many people thinks to resolve this issue setting memory in eclipse.ini but it will not work.

Solution: You will have to set XX:MaxPermSize in your tomcat server VM argument as below:

Based on your memory on your local system you could modify:

-XX:MaxPermSize=2048m

Reference: Eclipse documentation

Leave a Reply

Your email address will not be published. Required fields are marked *