Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
"java.io.IOException: unsupported hint version:9" while executing IRenderTask.render()
bognekadje
I have following log while rendering a report:
GRAVE: An error happened while running the report. Cause:
java.io.IOException: unsupported hint version:9
at org.eclipse.birt.report.engine.internal.document.v3.PageHintReaderV3.<init>(PageHintReaderV3.java:168)
at org.eclipse.birt.report.engine.internal.document.PageHintReader.<init>(PageHintReader.java:57)
at org.eclipse.birt.report.engine.api.impl.RenderTask.loadReportVariable(RenderTask.java:179)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:257)
at com.lemoinetechnologies.pulse.report.web.server.service.PulseWebReportingServiceImpl.createHtmlOutput(PulseWebReportingServiceImpl.java:273)
at com.lemoinetechnologies.pulse.report.web.server.service.PulseWebReportingServiceImpl.buildAllHtmlOutputPage(PulseWebReportingServiceImpl.java:762)
at com.lemoinetechnologies.pulse.report.web.server.service.PulseWebReportingServiceImpl.generateAllHtmlOutputPage(PulseWebReportingServiceImpl.java:715)
at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
i had a look in source code of PageHintReaderV3 class, i don't understand which version is unsupported and why?
Please can someone explain me?
Thanks for reply.
Find more posts tagged with
Comments
JasonW
What version of BIRT are you using to run and render the report?
Jason
bognekadje
Thanks for reply Jason,
Report has be design using Birt 2.6.1. But in my web application, i use last version Birt 3.7.1 to run first and render report. When this render fails, i have subsequently, an insufficient memory problem, because my application generate at regular interval of time a sequence of report.
bognekadje
Do you think that this can be due to a corrupt rptdocument file which was generate before?
JasonW
It looks like that may be the case. Can you try to regenerate the rptdocument. BTW make sure your deployed version is using the jvm argument: -XX:MaxPermSize=256m
Jason
bognekadje
Please Jason, i would have your advices.
My web application' goal is to make slideshow of report, so, it is possible to launch many slideshow either in one machine or in different machine, since this machine can acces to the server. Each slideshow has refresh time, this means that rptdocument was regenerated using same parameters values and also html render file which are displayed in the browser as slideshow. I take care, but i already have following message in Birt log file : "There is insufficient memory to execute this report." this message come after another message in my application log and also in Tomcat: "java.lang.OutOfMemoryError: Java heap space". Errors come always when i make IrenderTask.render() instruction
After try different possibility, i'am asking if there is not possible to run and render continously report. Or may be, i does not destroy well variables used.
I use Birt Report Engine API 3.7.1 and apache tomcat 5.5
Thanks.
JasonW
Can you post your code? Are you closing the rptdocument and task when you finish with a render operation?
Jason
bognekadje
Hi Jason,
I resolve my problem. In my applicaton, it was possible that two IRenderTask use same rptdocument file to render in same directory, render file with same name. This situation trigger an exception, and then a memory leak. What i can not explain is why memory is not garbage collected when I close IRenderTask and rptdocument.
If someone has explication, this can be useful forme to understand the working of BIRT.
Nevertheless, i see that memory use by Tomcat increase very slowly, but still increase. it is normal.
Thanks for reply.
JasonW
I believe the GC only runs periodically. Give it some time and see if it cleans up.
Jason