Project: Birt
Bug 260680 Failed to preview Chart when deploying in Oracle Application Server
Reported: 2009-01-12 04:34:25 | Status: closed fixed

Description: Deploy birt runtime in Oracle Application Server(10.1.3.1.0). NPE occurs when previewing a report which has Chart. I have tried other reports, they were working well. Build number: 2.3.2.v20090112 & 2.5.0 v20090112 builds Steps to reproduce: 1, download birt.war and copy commons-logging-api.jar into WEB-INF/lib folder 2, deploy it in Oracle Application Server 3, run the report which has a simple chart Expected result: The chart can be previewed well. Actual result: NPE occrus when preview Chart in Oracle Application Server Error log: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1059) at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1261) at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:155) 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:585) 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:585) 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:763) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448) at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595) Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:234) at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:78) at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1252) ... 44 more Caused by: java.lang.NullPointerException at org.eclipse.birt.chart.reportitem.ChartReportItemUtil.isBaseGroupingDefined(ChartReportItemUtil.java:499) at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.createBaseGroupingDefinition(AbstractChartBaseQueryGenerator.java:685) at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.initCategoryGrouping(AbstractChartBaseQueryGenerator.java:496) at org.eclipse.birt.chart.reportitem.AbstractChartBaseQueryGenerator.generateGroupBindings(AbstractChartBaseQueryGenerator.java:322) at org.eclipse.birt.chart.reportitem.ChartBaseQueryHelper.createBaseQuery(ChartBaseQueryHelper.java:109) at org.eclipse.birt.chart.reportitem.ChartReportItemQueryImpl.createQuery(ChartReportItemQueryImpl.java:133) at org.eclipse.birt.chart.reportitem.ChartReportItemQueryImpl.createReportQueries(ChartReportItemQueryImpl.java:98) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitExtendedItem(ReportQueryBuilder.java:665) at org.eclipse.birt.report.engine.ir.ExtendedItemDesign.accept(ExtendedItemDesign.java:45) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:264) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitCell(ReportQueryBuilder.java:1229) at org.eclipse.birt.report.engine.ir.CellDesign.accept(CellDesign.java:156) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:264) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitRow(ReportQueryBuilder.java:1195) at org.eclipse.birt.report.engine.ir.RowDesign.accept(RowDesign.java:100) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:264) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.handleListingBand(ReportQueryBuilder.java:1055) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.handleListingGroup(ReportQueryBuilder.java:1114) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder$QueryBuilderVisitor.visitTableItem(ReportQueryBuilder.java:916) at org.eclipse.birt.report.engine.ir.TableItemDesign.accept(TableItemDesign.java:50) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:264) at org.eclipse.birt.report.engine.data.dte.ReportQueryBuilder.build(ReportQueryBuilder.java:246) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.prepare(AbstractDataEngine.java:165) at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:119) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60) at org.eclipse.birt.report.engine.internal.executor.emitter.ReportEmitterExecutor.execute(ReportEmitterExecutor.java:77) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplciateReportExecutor.execute(SuppressDuplciateReportExecutor.java:52) at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:210) at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:225) ... 46 more

Files changed in fix:
chart/org.eclipse.birt.chart.engine/src/org/eclipse/birt/chart/model/impl/SerializerImpl.java