When executing a java desktop application I get a java.lang.OutOfMemoryError: PermGen space.
I have tried increasing java heap size, passing this argument to the VM:
-Xmx1g
But it keeps failing. It doesn't fail if any other colleague runs it in their computers...
What could be causing this?
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: PermGen space
at org.eclipse.jdt.internal.compiler.Compiler.initializeParser(Compiler.java:485)
at org.eclipse.jdt.internal.compiler.Compiler.<init>(Compiler.java:112)
at net.sf.jasperreports.engine.design.JRJdtCompiler.compileUnits(JRJdtCompiler.java:200)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:201)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:240)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:173)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
at de.mycompany.jasperReportgenerator.JasperReportDatenGenerator.generateReport(JasperReportDatenGenerator.java:567)
at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.generiereReport(IFrmReportsController.java:92)
at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.handleAction(IFrmReportsController.java:43)
at de.mycompany.myapp.admintool.util.AdminkonsoleIFrameController.handleActionWithExceptionHandling(AdminkonsoleIFrameController.java:107)
at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.mouseClicked(IFrmReportsController.java:62)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6300)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6062)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4245)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
As Marko Topolnik said,
-XX:MaxPermSize
was the answer.
-XX:MaxPermSize=1g
did the trick.