Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 366783

Summary: Nullpointer Exception in ObjectWriter.write
Product: z_Archived Reporter: manu077
Component: BIRTAssignee: Birt-Data-inbox <Birt-Data-inbox>
Status: CLOSED WONTFIX QA Contact: Sissi Zhu <szhu>
Severity: major    
Priority: P3 CC: bluesoldier, hao.zhou
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:

Description manu077 CLA 2011-12-15 03:18:21 EST
Build Identifier: 2.5.2

When I try to launch a report with report viewer or the application using birt, I get a nullpointerexception.

I have 2 data source for the report, I made modification and test with one data source and when I change it the error is thrown


org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
   at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1096)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1316)
   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.GeneratedMethodAccessor484.invoke(Unknown Source)
   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.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at com.a2a.movalys.intervention.reporting.birt.MIBirtFilter.doFilter(MIBirtFilter.java:159)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
   at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
   at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
   at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
   at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
   at java.lang.Thread.run(Thread.java:619)
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:261)
   at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
   at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1307)
... 52 more
Caused by: java.lang.NullPointerException
   at org.eclipse.birt.data.engine.olap.data.util.ObjectWriter.write(ObjectWriter.java:45)
   at org.eclipse.birt.data.engine.olap.data.util.StructureDiskArray.writeObject(StructureDiskArray.java:61)
   at org.eclipse.birt.data.engine.olap.data.util.BaseDiskArray.add(BaseDiskArray.java:76)
   at org.eclipse.birt.data.engine.olap.data.util.BufferedStructureArray.add(BufferedStructureArray.java:62)
   at org.eclipse.birt.data.engine.executor.cache.disk.DiskCache.next(DiskCache.java:171)
   at org.eclipse.birt.data.engine.executor.cache.disk.DiskCache.moveTo(DiskCache.java:229)
   at org.eclipse.birt.data.engine.executor.cache.SmartCache.moveTo(SmartCache.java:171)
   at org.eclipse.birt.data.engine.executor.cache.SmartRowResultSet.next(SmartRowResultSet.java:61)
   at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:311)
   at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:260)
   at org.eclipse.birt.data.engine.executor.cache.SmartCache.(SmartCache.java:109)
   at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetCache(ResultSetPopulator.java:232)
   at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetSmartCacheUsingOrderingInfo(ResultSetPopulator.java:209)
   at org.eclipse.birt.data.engine.executor.transform.group.GroupInstanceSorter.doGroupSorting(GroupInstanceSorter.java:73)
   at org.eclipse.birt.data.engine.executor.transform.group.GroupProcessorManager.doGroupSorting(GroupProcessorManager.java:99)
   at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doGroupSorting(ResultSetProcessUtil.java:273)
   at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.populateResultSet(ResultSetProcessUtil.java:122)
   at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doPopulate(ResultSetProcessUtil.java:85)
   at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.doPopulation(PassManager.java:308)
   at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.doMultiPass(PassManager.java:230)
   at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:97)
   at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
   at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:196)
   at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.(CachedResultSet.java:90)
   at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:848)
   at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:399)
   at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1045)
   at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232)
   at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:158)
   at org.eclipse.birt.report.engine.data.dte.QueryResultSet.(QueryResultSet.java:98)
   at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
   at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:74)
   at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265)
   at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1875)
   at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
   at org.eclipse.birt.report.engine.executor.ListItemExecutor.execute(ListItemExecutor.java:66)
   at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
   at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
   at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
   at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
   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:65)
   at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
   at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
   at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:252)
... 54 more

Reproducible: Always
Comment 1 Hao Zhou CLA 2011-12-28 02:51:42 EST
I can't reproduce this issue with latest birt.
Could you provide more detail information about how to reproduce it or a sample report I can test with?
Comment 2 manu077 CLA 2011-12-29 02:04:31 EST
I made a second time my change and I doesn't have any problem.