#1 2018-02-21 20:35:13

tcarr
Member
Registered: 2018-02-08

BIRT Chart Runtime Error

Hello,

I'm getting a runtime error when running BIRT Charts, but they run fine in Eclipse. I checked the BIRT jar on the server and it does contain SVGRendererImpl. We're using version RS3.0.3-6002.

EDIT: I've resolved the issue by replacing OpenJDK with the official Oracle JDK.

net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException
     at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:218)
     at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:119)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exeucteReport(ReportExportServlet.java:535)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:416)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:346)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:339)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:168)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823.CGLIB$doGet$0()
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823$$FastClassByGuice$$f3d95432.invoke()
     at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
     at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
     at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66)
     at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
     at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)
     at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
     at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823.doGet()
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823.CGLIB$service$17()
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823$$FastClassByGuice$$f3d95432.invoke()
     at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
     at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
     at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)
     at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
     at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
     at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2fd6823.service()
     at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
     at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
     at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
     at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
     at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
     at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
     at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
     at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:616)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
     at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
     at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:877)
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2527)
     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2516)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     at java.lang.Thread.run(Thread.java:748)
Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException
     at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.executeReport(BirtReportEngine.java:81)
     at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.doExecute(BirtReportEngine.java:67)
     at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:150)
     at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:186) ... 58 more
Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorRuntimeException
     at net.datenwerke.rs.birt.service.reportengine.output.generator.BirtHTMLOutputGenerator.exportReport(BirtHTMLOutputGenerator.java:45)
     at net.datenwerke.rs.birt.service.reportengine.sandbox.BirtEngineEnvironment.call(BirtEngineEnvironment.java:178)
     at net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.executeReport(BirtReportEngine.java:79) ... 61 more
Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
     at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2392)
     at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)
     at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
     at net.datenwerke.rs.birt.service.reportengine.output.generator.BirtHTMLOutputGenerator.exportReport(BirtHTMLOutputGenerator.java:33) ... 63 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.birt.chart.device.svg.SVGRendererImpl
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:264)
     at org.eclipse.birt.core.framework.jar.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:46)
     at org.eclipse.birt.core.framework.eclipse.EclipseConfigurationElement.createExecutableExtension(EclipseConfigurationElement.java:35)
     at org.eclipse.birt.chart.util.PluginSettings.getPluginXmlObject(PluginSettings.java:1252)
     at org.eclipse.birt.chart.util.PluginSettings.getDevice(PluginSettings.java:632)
     at org.eclipse.birt.chart.api.ChartEngine.getRenderer(ChartEngine.java:119)
     at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.prepareDeviceRenderer(ChartReportItemPresentationBase.java:1222)
     at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.generateRenderObject(ChartReportItemPresentationBase.java:971)
     at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:904)
     at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:108)
     at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:1100)
     at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localizeForeign(LocalizedContentVisitor.java:602)
     at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:176)
     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:181) ... 65 more

Last edited by tcarr (2018-02-21 23:48:05)

Offline

#2 2018-02-22 07:49:38

eduardo
Administrator
Registered: 2016-11-01
Website

Re: BIRT Chart Runtime Error

Hi tcarr,

yes, there seems to be the issue with the jdk used, as I also read here: https://www.eclipse.org/forums/index.php/t/488566/
Were you using openjdk *jre* ? And are you using now the official oracle *jdk*? Or are you using now the official oracle *jre*?

I ask this since the solution in the link states:
"I need ton install openjdk-6-jdk, not only jre."

Regards,
Eduardo

Offline

#3 2018-02-22 16:18:01

tcarr
Member
Registered: 2018-02-08

Re: BIRT Chart Runtime Error

Hi Eduardo,

I saw that post before creating a thread here. I did try installing the openjdk alongside openjre(both version 8), but that didn't fix the issue. I'm using oracle-java8-installer now(I believe this includes both the JDK and JRE) which resolved the issue, but now Tomcat crashes after a while. I've yet to get into the logs to see whats up with it, but I'm hoping it's just a configuration issue.

Last edited by tcarr (2018-02-22 16:35:52)

Offline

Board footer

Powered by FluxBB