OutOfMemory when rendering a crosstab report in WebViewer [message #720995] |
Wed, 31 August 2011 16:18 |
Jean-Baptiste Guillois Messages: 33 Registered: August 2011 |
Member |
|
|
Hello,
I am desperately trying to configure the WebViewer demo web application (based on BIRT 3.7) to render reports that includes crosstabs.
My CrossTab Report is correctly and quickly rendering in the Designer but i got some OutOfMemory and other exceptions in the WebViewer. I did try to change the max memory allocated to the VM as well as the MaxPermGenSpace but still stuck!v
I did try to render a basic report, .i.e with simple table and graph, and it works perfectly in designer AND in the WebViewer...
Is the WebViewer missing some dependencies preventing it from rendering properly crosstabs? do crosstabs need a very specific amount of RAM?
If anybody has any experience wit crosstabs with the demo WebViewer, it would be warmly welcome!
Regards,
Jean-Baptiste
PS: Here are the stack strace:
When running the report (JDK 1.6_26, Ubuntu 10, Tomcat 6), i got in catalina.out :
org.eclipse.birt.data.engine.core.DataException: A report document error occurred when getting the save stream.
The archive file has been closed.
at org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:359)
at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.saveNamingRelation(DataEngineSession.java:415)
at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.dataEngineShutdown(DataEngineSession.java:395)
at org.eclipse.birt.data.engine.impl.DataEngineImpl.shutdown(DataEngineImpl.java:565)
at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.shutdown(DataRequestSessionImpl.java:509)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.shutdown(AbstractDataEngine.java:348)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.shutdown(DataGenerationEngine.java:151)
at org.eclipse.birt.report.engine.executor.ExecutionContext.close(ExecutionContext.java:480)
at org.eclipse.birt.report.engine.api.impl.EngineTask.close(EngineTask.java:1540)
at org.eclipse.birt.report.engine.api.impl.RunTask.close(RunTask.java:309)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1337)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
at org.apache.jsp.viewreport_jsp._jspService(viewreport_jsp.java:110)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: The archive file has been closed.
at org.eclipse.birt.core.archive.compound.ArchiveFile.createEntry(ArchiveFile.java:423)
at org.eclipse.birt.core.archive.compound.ArchiveWriter.openRandomAccessStream(ArchiveWriter.java:75)
at org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:350)
... 69 more
And in BIRT logs i got:
Aug 31, 2011 2:51:18 AM org.eclipse.birt.report.engine.api.impl.RunTask doRun
SEVERE: There is insufficient memory to execute this report.
|
|
|
Re: OutOfMemory when rendering a crosstab report in WebViewer [message #721116 is a reply to message #720995] |
Wed, 31 August 2011 22:31 |
|
Can you try the attached report and post the results?
Jason
On 8/31/2011 12:18 PM, jeanbaptiste.guillois wrote:
> Hello,
>
> I am desperately trying to configure the WebViewer demo web application
> (based on BIRT 3.7) to render reports that includes crosstabs.
>
> My CrossTab Report is correctly and quickly rendering in the Designer
> but i got some OutOfMemory and other exceptions in the WebViewer. I did
> try to change the max memory allocated to the VM as well as the
> MaxPermGenSpace but still stuck!v :(
>
> I did try to render a basic report, .i.e with simple table and graph,
> and it works perfectly in designer AND in the WebViewer...
>
> Is the WebViewer missing some dependencies preventing it from rendering
> properly crosstabs? do crosstabs need a very specific amount of RAM?
>
> If anybody has any experience wit crosstabs with the demo WebViewer, it
> would be warmly welcome!
>
> Regards,
>
> Jean-Baptiste
>
> PS: Here are the stack strace:
> When running the report (JDK 1.6_26, Ubuntu 10, Tomcat 6), i got in
> catalina.out :
> org.eclipse.birt.data.engine.core.DataException: A report document error
> occurred when getting the save stream.
> The archive file has been closed.
> at
> org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:359)
>
> at
> org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.saveNamingRelation(DataEngineSession.java:415)
>
> at
> org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.dataEngineShutdown(DataEngineSession.java:395)
>
> at
> org.eclipse.birt.data.engine.impl.DataEngineImpl.shutdown(DataEngineImpl.java:565)
>
> at
> org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.shutdown(DataRequestSessionImpl.java:509)
>
> at
> org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.shutdown(AbstractDataEngine.java:348)
>
> at
> org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.shutdown(DataGenerationEngine.java:151)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.close(ExecutionContext.java:480)
>
> at
> org.eclipse.birt.report.engine.api.impl.EngineTask.close(EngineTask.java:1540)
>
> at org.eclipse.birt.report.engine.api.impl.RunTask.close(RunTask.java:309)
> at
> org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1337)
>
> at
> org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
>
> at
> org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)
>
> at
> org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
>
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
>
> at
> org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
>
> at
> org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
>
> at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
>
> at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
> at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
> at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>
> at
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
>
> at
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
> at org.apache.jsp.viewreport_jsp._jspService(viewreport_jsp.java:110)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.io.IOException: The archive file has been closed.
> at
> org.eclipse.birt.core.archive.compound.ArchiveFile.createEntry(ArchiveFile.java:423)
>
> at
> org.eclipse.birt.core.archive.compound.ArchiveWriter.openRandomAccessStream(ArchiveWriter.java:75)
>
> at
> org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:350)
>
> ... 69 more
>
> And in BIRT logs i got:
> Aug 31, 2011 2:51:18 AM org.eclipse.birt.report.engine.api.impl.RunTask
> doRun
> SEVERE: There is insufficient memory to execute this report.
>
>
>
>
|
|
|
|
Re: OutOfMemory when rendering a crosstab report in WebViewer [message #721393 is a reply to message #721225] |
Thu, 01 September 2011 16:13 |
|
Other than the open office emitters, why do you have all the other
emitter jars in your web-inf/lib. If you download the 3.7 run time and
look at the WebViewer/web0inf/lib you will see only one birt jar. The
open office emitter jars do need to be there but not the others. Also I
wanted to see page three of the report, to verify the jvm parameters.
How are you setting them?
Jason
On 9/1/2011 4:23 AM, jeanbaptiste.guillois wrote:
> Thank you so much Jason for replying to my email! :)
>
> I have deployed your report in my reportviewer and got some exceptions as well as a nearly blank page, both attached to this message. ScreenShotInViewer is the report rendered by my ReportViewer. ScreenShotInDesigner is the report rendered by the BIRT ReportViewer started by the BIRT 3.7 ReportDesigner.
>
> I have also added (deps.txt) the listing of the WEB-INF/lib directory of my ReportViewer, just in case of...
>
> When launched from within my ReportViewer, It seems that the report contains script that can not be executed... am I missing some dependencies..?
>
> Would you be kind enough to dig further in my problem?
>
> Thank you very much for your help,
>
> Best Regards
>
> Jean-Baptiste
|
|
|
|
Re: OutOfMemory when rendering a crosstab report in WebViewer [message #722771 is a reply to message #722756] |
Tue, 06 September 2011 16:47 |
|
I am not really sure what is happening here. If you run a report does
anything get created in the documents folder under the viewer? I wonder
if there is a permission error.
Jason
On 9/6/2011 12:07 PM, jeanbaptiste.guillois wrote:
> Hello Jason,
>
> Sorry for the delay, i was not available beginning of this week.
>
> I did try to remove the "other" emitters jars as you said but not better.
>
> My JVM is started through TOMCAT with the following options:
> JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:MaxPermSize=512m"
>
> I attached the newly list of dependencies in WEB-INF/lib.
>
> I really don't understand why even your report does not execute properly in my webapp. It seems that it can not run JavaScript or something of this kind...
>
> Thank you for your help,
>
> Best Regards
|
|
|
|
Re: OutOfMemory when rendering a crosstab report in WebViewer [message #722797 is a reply to message #722775] |
Tue, 06 September 2011 18:07 |
|
Is there any chance you open a bugzilla entry for this and attach the
stack trace?
Jason
On 9/6/2011 1:07 PM, jeanbaptiste.guillois wrote:
> Thank you for your reply.
>
> Yep, documents are properly created for my other reports that contain
> tables, pies...
> Isn't the exception and stack trace in the logs with the report you
> provided me usefull?
> Should i put BIRT logger into finer level of details?
>
> Thx for your help
>
> Regards
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05357 seconds