Go Back   SmartClient Forums > Installation
Wiki Register Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread
  #1  
Old 13th Dec 2011, 13:35
azuniga azuniga is offline
Registered Developer
 
Join Date: Jun 2011
Posts: 130
Default SmartClient out of memory

I am running gwt 2.3 and smartgwt power 2.5 nightly on RedHat 5. I am launching my app in dev mode using eclipse. My eclipse startup command is eclipse -vmargs -XX:PermSize=64M -XX:MaxPermSize=3072M& and my debug configurations for the plugin I have -Xmx3072m under VM arguments in eclipse. I get the error java.lang.OutOfMemoryError: PermGen space
[ERROR] Out of memory; to increase the amount of memory, use the -Xmx flag at startup (java -Xmx128M ...)
What can I do to get rid of this error?
Reply With Quote
  #2  
Old 13th Dec 2011, 13:38
Isomorphic Isomorphic is offline
Administrator
 
Join Date: May 2006
Posts: 38,316
Default

Are you doing something that would eat up a huge amount of memory? If not, maybe your arguments are subtly mis-formatted such that they are not taking effect.
Reply With Quote
  #3  
Old 14th Dec 2011, 04:48
azuniga azuniga is offline
Registered Developer
 
Join Date: Jun 2011
Posts: 130
Default

Yes, the project is creating a BIRT report on the server side and is using gwt code generation. Whenever the birt code to generate the report is called, after a while the error is thrown.
Reply With Quote
  #4  
Old 14th Dec 2011, 07:51
azuniga azuniga is offline
Registered Developer
 
Join Date: Jun 2011
Posts: 130
Default

Code:
=== 2011-12-14 16:45:35,681 [l0-0] DEBUG RPCDMI - Invocation threw exception
java.lang.OutOfMemoryError: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:367)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
	at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.computeCommon(PlotWith2DAxes.java:958)
	at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.compute(PlotWith2DAxes.java:846)
	at org.eclipse.birt.chart.factory.Generator.build(Generator.java:1108)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.buildChart(ChartReportItemPresentationBase.java:1019)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.generateRenderObject(ChartReportItemPresentationBase.java:904)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:867)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1022)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:578)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at my.package.MyServerDMI.createReport(MyServerDMI.java:354)
	at my.package.MyServerDMI.createAndDisplayGraph(MyServerDMI.java:187)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
=== 2011-12-14 16:45:35,682 [l0-0] ERROR IDACall - Top-level servlet error: 
java.lang.OutOfMemoryError: PermGen space
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:367)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)
	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
	at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.computeCommon(PlotWith2DAxes.java:958)
	at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.compute(PlotWith2DAxes.java:846)
	at org.eclipse.birt.chart.factory.Generator.build(Generator.java:1108)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.buildChart(ChartReportItemPresentationBase.java:1019)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.generateRenderObject(ChartReportItemPresentationBase.java:904)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:867)
	at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1022)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:578)
	at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
	at my.package.MyServerDMI.createReport(MyServerDMI.java:354)
	at my.package.MyServerDMI.createAndDisplayGraph(MyServerDMI.java:187)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[WARN] EXCEPTION 
java.io.IOException: File name too long
	at java.io.UnixFileSystem.canonicalize0(Native Method)
	at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:157)
	at java.io.File.getCanonicalPath(File.java:559)
	at org.mortbay.resource.FileResource.getAlias(FileResource.java:189)
	at org.mortbay.jetty.servlet.DefaultServlet.getResource(DefaultServlet.java:286)
	at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:356)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
[WARN] EXCEPTION 
java.io.IOException: File name too long
	at java.io.UnixFileSystem.canonicalize0(Native Method)
	at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:157)
	at java.io.File.getCanonicalPath(File.java:559)
	at org.mortbay.resource.FileResource.getAlias(FileResource.java:189)
	at org.mortbay.jetty.servlet.DefaultServlet.getResource(DefaultServlet.java:286)
	at org.mortbay.jetty.ResourceCache.lookup(ResourceCache.java:155)
	at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:384)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
[WARN] EXCEPTION 
java.io.IOException: File name too long
	at java.io.UnixFileSystem.canonicalize0(Native Method)
	at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:157)
	at java.io.File.getCanonicalPath(File.java:559)
	at org.mortbay.resource.FileResource.getAlias(FileResource.java:189)
	at org.mortbay.jetty.servlet.DefaultServlet.getResource(DefaultServlet.java:286)
	at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:389)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
[WARN] 404 - GET /images/%3CBR%3Ecom.isomorphic.servlet.IDACall%20top-level%20exception%3CBR%3E%3CPRE%3Ejava.lang.OutOfMemoryError:%20PermGen%20spaceat%20java.lang.ClassLoader.defineClass1(Native%20Method)at%20java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)at%20java.lang.ClassLoader.defineClass(ClassLoader.java:616)at%20java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)at%20java.net.URLClassLoader.defineClass(URLClassLoader.java:283)at%20java.net.URLClassLoader.access$000(URLClassLoader.java:58)at%20java.net.URLClassLoader$1.run(URLClassLoader.java:197)at%20java.security.AccessController.doPrivileged(Native%20Method)at%20java.net.URLClassLoader.findClass(URLClassLoader.java:190)at%20com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:367)at%20org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366)at%20org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)at%20org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.computeCommon(PlotWith2DAxes.java:958)at%20org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.compute(PlotWith2DAxes.java:846)at%20org.eclipse.birt.chart.factory.Generator.build(Generator.java:1108)at%20org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.buildChart(ChartReportItemPresentationBase.java:1019)at%20org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.generateRenderObject(ChartReportItemPresentationBase.java:904)at%20org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:867)at%20org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)at%20org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1022)at%20org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:578)at%20org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:163)at%20org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:37)at%20org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)at%20org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)at%20org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)at%20org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)at%20org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)at%20my.package.MyServerDMI.createReport(MyServerDMI.java:354)at%20my.package.MyServerDMI.createAndDisplayGraph(MyServerDMI.java:187)at%20sun.reflect.NativeMethodAccessorImpl.invoke0(Native%20Method)at%20sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)%3C/PRE%3E (127.0.0.1) 4492 bytes
   Request headers
      Host: 127.0.0.1:8887
      User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:7.0) Gecko/20100101 Firefox/7.0
      Accept: image/png,image/*;q=0.8,*/*;q=0.5
      Accept-Language: en-us,en;q=0.5
      Accept-Encoding: gzip, deflate
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
      Connection: keep-alive
      Cookie: 
      Referer: http://127.0.0.1:8887/MyProject.html?gwt.codesvr=127.0.0.1:9996
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 4492
Reply With Quote
  #5  
Old 14th Dec 2011, 11:10
Isomorphic Isomorphic is offline
Administrator
 
Join Date: May 2006
Posts: 38,316
Default

We'd recommend first finding a tool or approach that will let you tell whether the VM is actually growing to 3GB+ and exceeding even your high memory allocation. It might be enough to just run the JVM with verbose logging.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search


Similar Threads
Thread Thread Starter Forum Replies Last Post
xmlHttpRequest related issue - SmartClient with Elgg gauravd Technical Q&A 0 16th Oct 2011 22:22
Memory Management Clarification echg88 Smart GWT Technical Q&A 1 13th Aug 2010 09:16
Memory usage of SmartClient applications gli Technical Q&A 3 5th Jan 2010 11:13
First experience with SmartClient cody-somerville Technical Q&A 5 7th Sep 2009 14:03
SmartClient 6.5.1 Addendum: Support for setTabIcon() / setTabProperties() Isomorphic Addendums 0 8th Aug 2008 08:13

© 2010,2011 Isomorphic Software. All Rights Reserved