Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    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?

    #2
    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.

    Comment


      #3
      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.

      Comment


        #4
        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

        Comment


          #5
          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.

          Comment

          Working...
          X