Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors in reports when upgrading BIRT Runtime from 4.10 to 4.15 #1711

Closed
LeonardoIPM opened this issue May 29, 2024 · 2 comments
Closed

Errors in reports when upgrading BIRT Runtime from 4.10 to 4.15 #1711

LeonardoIPM opened this issue May 29, 2024 · 2 comments
Labels

Comments

@LeonardoIPM
Copy link

LeonardoIPM commented May 29, 2024

We are updating our application to use birt_runtime 4.15, but our reports are getting lots of errors:

For example:

Duplicate aggregation name: DECIMALLAST.

org.eclipse.birt.report.engine.api.EngineException: Duplicate aggregation name: DECIMALLAST.
	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1062)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1047)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:83)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:60)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:41)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:62)
	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:97)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:145)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:69)
	at br.com.ipm.report.servlet.ServletBirt.sendReportDirect(ServletBirt.java:199)
	at br.com.ipm.report.servlet.WebReport.doPost(WebReport.java:144)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.eclipse.birt.data.engine.core.DataException: Duplicate aggregation name: DECIMALLAST.
Invalid Javascript expression: dataSetRow["tipoPessoa"].
Invalid Javascript expression: dataSetRow["tipoPessoa"].

org.eclipse.birt.report.engine.api.EngineException: Invalid Javascript expression: dataSetRow["tipoPessoa"].
Invalid Javascript expression: dataSetRow["tipoPessoa"].
	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1060)
	at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1045)
	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:83)
	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:60)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:41)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:62)
	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:97)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:145)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:69)
	at br.com.ipm.report.servlet.ServletBirt.sendReportDirect(ServletBirt.java:199)
	at br.com.ipm.report.servlet.WebReport.doPost(WebReport.java:144)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.eclipse.birt.data.engine.core.DataException: Invalid Javascript expression: dataSetRow["tipoPessoa"].
Invalid Javascript expression: dataSetRow["tipoPessoa"].
	at org.eclipse.birt.data.engine.expression.AbstractExpressionCompiler.compileExpression(AbstractExpressionCompiler.java:130)
	at org.eclipse.birt.data.engine.expression.ExpressionCompiler.compile(ExpressionCompiler.java:65)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.prepareExpression(PreparedQuery.java:292)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.prepareExpressions(PreparedQuery.java:268)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.prepareGroup(PreparedQuery.java:228)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.prepare(PreparedQuery.java:182)
	at org.eclipse.birt.data.engine.impl.PreparedQuery.init(PreparedQuery.java:118)
	at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.init(PreparedDataSourceQuery.java:66)
	at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.init(PreparedOdaDSQuery.java:75)
	at org.eclipse.birt.data.engine.impl.PreparedQueryUtil.newInstance(PreparedQueryUtil.java:186)
	at org.eclipse.birt.data.engine.impl.DataEngineImpl.prepare(DataEngineImpl.java:378)
	at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.prepare(DataRequestSessionImpl.java:451)
	at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.prepare(DataRequestSessionImpl.java:623)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.doPrepareQuery(AbstractDataEngine.java:214)
	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doPrepareQuery(DteDataEngine.java:225)
	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.prepare(AbstractDataEngine.java:177)
	at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:115)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:55)
	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:43)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:55)
	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportExecutor.execute(LocalizedReportExecutor.java:58)
	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:143)
	... 31 more
Caused by: org.eclipse.birt.data.engine.core.DataException: Invalid Javascript expression: dataSetRow["tipoPessoa"].

All of our reports just stopped working, If we only switch the runtime lib to 4.10, the reports run perfectly. How can we handle these errors?

@speckyspooky
Copy link
Contributor

I took a look into the stacktrace and on the source code.
But I can only see that the query of your report was started and then an error occur according to your messages here:

grafik

For further analysis we would need an example report without external data sources and libraries
but with the same logic and with the according error situation. Then we can try tu debug your report and verify your situation.

@LeonardoIPM
Copy link
Author

LeonardoIPM commented Jun 3, 2024

I can't provide a report, but I found the issue. Actually it was just dependency conflict with the news libraries.
The "duplicate aggregation" was caused by Birt Aggreggation lib.
The Javascript one was caused by Mozzila.javascript v1.7.10 lib.

There are a lot of jars and it's difficult to say which one was updated because of name changes. Do you know a way to remove old version jars/unused jars? We are not using Maven.

(We migrated from birt 4.4 to 4.10 to 4.15, there are a lot of lib changes).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants