Home » Archived » BIRT » NPE in ObjectWriter.write using BIRT 2.6(NPE in ObjectWriter.write using BIRT 2.6)
NPE in ObjectWriter.write using BIRT 2.6 [message #882435] |
Wed, 06 June 2012 09:07  |
Eclipse User |
|
|
|
Hello, All,
I'm running into a Null Pointer Exception in ObjectWriter.write with a larger report and I hope some of you might be able to help me with it. The symptoms are very similar to problems reported a few years back in bugs such as 304030, 308438 and 336586. All these issues were fixed moving in to the 2.6.x versions of BIRT. We are using 2.6.0, however I have tested this using 2.6.2 and the problem still happens. I've tried the workarounds described in these bugs with no success.
My report is bound to a script dataset and the report works fine for smaller result sets of a few thousand rows. The dataset contains several standard database types and a few Java object fields. When run against a larger set of about 7000 rows the error occurs consistently. I can break the 7000 rows down into smaller chunks and the report completes successfully for all the data. It definitely only happens when the report is large enough for the Disk Cache to kick in.
The report design contains some confidential data, so I cannot attach the production versions here, however I am hoping some of you might be able to give me some guidance regarding either how to diagnose the source of the issue, or perhaps work around it. I'll be happy to answer any detailed implementation questions, and all advice is very welcome.
Boyd
I've included an example stack trace of the error:
22:00:35,859 SEVERE [ReportEngine] An error happened while running the report. Cause:
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.<init>(SmartCache.java:109)
at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetCache(ResultSetPopulator.java:242)
at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetSmartCacheUsingOrderingInfo(ResultSetPopulator.java:219)
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:276)
at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.populateResultSet(ResultSetProcessUtil.java:125)
at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doPopulate(ResultSetProcessUtil.java:85)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareQueryResultSet(PassManager.java:111)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:129)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:77)
at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:198)
at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:188)
at org.eclipse.birt.data.engine.executor.CandidateQuery.execute(CandidateQuery.java:106)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223)
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:159)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(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.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:258)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:252)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1307)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 net.executime.businesslogic.context.filter.ExecuTimeContextFilter.doFilterInternal(ExecuTimeContextFilter.java:61)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
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:235)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:722)
22:00:35,869 ERROR [STDERR] org.eclipse.birt.data.engine.core.DataException: A report document error occurred when getting the save stream.
Can not create entry named /DataEngine/NamingRelationbecause the archive file has been closed. System ID: null
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:339)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.saveNamingRelation(DataEngineSession.java:430)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.dataEngineShutdown(DataEngineSession.java:410)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.data.engine.impl.DataEngineImpl.shutdown(DataEngineImpl.java:568)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.shutdown(DataRequestSessionImpl.java:497)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.shutdown(AbstractDataEngine.java:348)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.shutdown(DataGenerationEngine.java:145)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.engine.executor.ExecutionContext.close(ExecutionContext.java:470)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.engine.api.impl.EngineTask.close(EngineTask.java:1461)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.engine.api.impl.RunTask.close(RunTask.java:300)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1327)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
22:00:35,869 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
22:00:35,869 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
22:00:35,869 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
22:00:35,869 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
22:00:35,869 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
22:00:35,869 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
22:00:35,869 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
22:00:35,869 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
22:00:35,869 ERROR [STDERR] at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
22:00:35,869 ERROR [STDERR] at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
22:00:35,869 ERROR [STDERR] at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
22:00:35,869 ERROR [STDERR] at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
22:00:35,869 ERROR [STDERR] at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
22:00:35,869 ERROR [STDERR] at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
22:00:35,869 ERROR [STDERR] at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
22:00:35,869 ERROR [STDERR] at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
22:00:35,869 ERROR [STDERR] at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
22:00:35,869 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
22:00:35,869 ERROR [STDERR] at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
22:00:35,869 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22:00:35,869 ERROR [STDERR] at net.executime.businesslogic.context.filter.ExecuTimeContextFilter.doFilterInternal(ExecuTimeContextFilter.java:61)
22:00:35,869 ERROR [STDERR] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
22:00:35,869 ERROR [STDERR] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
22:00:35,869 ERROR [STDERR] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22:00:35,869 ERROR [STDERR] at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
22:00:35,869 ERROR [STDERR] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
22:00:35,869 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
22:00:35,869 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
22:00:35,869 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
22:00:35,869 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
22:00:35,869 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
22:00:35,869 ERROR [STDERR] at java.lang.Thread.run(Thread.java:722)
22:00:35,869 ERROR [STDERR] Caused by: java.io.IOException: Can not create entry named /DataEngine/NamingRelationbecause the archive file has been closed. System ID: null
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.core.archive.compound.ArchiveFile.createEntry(ArchiveFile.java:379)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.core.archive.compound.ArchiveWriter.openRandomAccessStream(ArchiveWriter.java:74)
22:00:35,869 ERROR [STDERR] at org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:330)
22:00:35,869 ERROR [STDERR] ... 77 more
|
|
|
Re: NPE in ObjectWriter.write using BIRT 2.6 [message #882656 is a reply to message #882435] |
Wed, 06 June 2012 19:33   |
Eclipse User |
|
|
|
Boyd,
Are the Java Object types serializable?
Jason
On 6/6/2012 9:07 AM, Boyd Nolan wrote:
> Hello, All,
> I'm running into a Null Pointer Exception in ObjectWriter.write with a
> larger report and I hope some of you might be able to help me with it.
> The symptoms are very similar to problems reported a few years back in
> bugs such as 304030, 308438 and 336586. All these issues were fixed
> moving in to the 2.6.x versions of BIRT. We are using 2.6.0, however I
> have tested this using 2.6.2 and the problem still happens. I've tried
> the workarounds described in these bugs with no success.
>
> My report is bound to a script dataset and the report works fine for
> smaller result sets of a few thousand rows. The dataset contains several
> standard database types and a few Java object fields. When run against a
> larger set of about 7000 rows the error occurs consistently. I can break
> the 7000 rows down into smaller chunks and the report completes
> successfully for all the data. It definitely only happens when the
> report is large enough for the Disk Cache to kick in.
>
> The report design contains some confidential data, so I cannot attach
> the production versions here, however I am hoping some of you might be
> able to give me some guidance regarding either how to diagnose the
> source of the issue, or perhaps work around it. I'll be happy to answer
> any detailed implementation questions, and all advice is very welcome.
>
> Boyd
>
>
>
> I've included an example stack trace of the error:
>
> 22:00:35,859 SEVERE [ReportEngine] An error happened while running the
> report. Cause:
> 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.<init>(SmartCache.java:109)
>
> at
> org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetCache(ResultSetPopulator.java:242)
>
> at
> org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.reSetSmartCacheUsingOrderingInfo(ResultSetPopulator.java:219)
>
> 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:276)
>
> at
> org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.populateResultSet(ResultSetProcessUtil.java:125)
>
> at
> org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doPopulate(ResultSetProcessUtil.java:85)
>
> at
> org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareQueryResultSet(PassManager.java:111)
>
> at
> org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:129)
>
> at
> org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:77)
>
> at
> org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:198)
>
> at
> org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:188)
>
> at
> org.eclipse.birt.data.engine.executor.CandidateQuery.execute(CandidateQuery.java:106)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223)
>
> 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:159)
>
> at
> org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(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.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:258)
>
> at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:252)
> at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
> at
> org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1307)
>
> 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:57)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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:57)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:601)
> 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
> net.executime.businesslogic.context.filter.ExecuTimeContextFilter.doFilterInternal(ExecuTimeContextFilter.java:61)
>
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>
> 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:235)
>
> at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
>
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
>
> at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
>
> at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
>
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:722)
> 22:00:35,869 ERROR [STDERR]
> org.eclipse.birt.data.engine.core.DataException: A report document error
> occurred when getting the save stream.
> Can not create entry named /DataEngine/NamingRelationbecause the archive
> file has been closed. System ID: null
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:339)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.saveNamingRelation(DataEngineSession.java:430)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.data.engine.impl.DataEngineSession$ReportDocumentShutdownListener.dataEngineShutdown(DataEngineSession.java:410)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.data.engine.impl.DataEngineImpl.shutdown(DataEngineImpl.java:568)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.shutdown(DataRequestSessionImpl.java:497)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.shutdown(AbstractDataEngine.java:348)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.shutdown(DataGenerationEngine.java:145)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.engine.executor.ExecutionContext.close(ExecutionContext.java:470)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.engine.api.impl.EngineTask.close(EngineTask.java:1461)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.engine.api.impl.RunTask.close(RunTask.java:300)
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1327)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.actionhandler.BirtChangeParameterActionHandler.runReport(BirtChangeParameterActionHandler.java:58)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.actionhandler.AbstractChangeParameterActionHandler.__execute(AbstractChangeParameterActionHandler.java:53)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleChangeParameter(BirtDocumentProcessor.java:100)
>
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> 22:00:35,869 ERROR [STDERR] at
> java.lang.reflect.Method.invoke(Method.java:601)
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
>
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> 22:00:35,869 ERROR [STDERR] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> 22:00:35,869 ERROR [STDERR] at
> java.lang.reflect.Method.invoke(Method.java:601)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
>
> 22:00:35,869 ERROR [STDERR] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>
> 22:00:35,869 ERROR [STDERR] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> 22:00:35,869 ERROR [STDERR] at
> net.executime.businesslogic.context.filter.ExecuTimeContextFilter.doFilterInternal(ExecuTimeContextFilter.java:61)
>
> 22:00:35,869 ERROR [STDERR] at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
> 22:00:35,869 ERROR [STDERR] at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>
> 22:00:35,869 ERROR [STDERR] at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> 22:00:35,869 ERROR [STDERR] at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>
> 22:00:35,869 ERROR [STDERR] at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>
> 22:00:35,869 ERROR [STDERR] at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
> 22:00:35,869 ERROR [STDERR] at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
>
> 22:00:35,869 ERROR [STDERR] at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 22:00:35,869 ERROR [STDERR] at java.lang.Thread.run(Thread.java:722)
> 22:00:35,869 ERROR [STDERR] Caused by: java.io.IOException: Can not
> create entry named /DataEngine/NamingRelationbecause the archive file
> has been closed. System ID: null
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.core.archive.compound.ArchiveFile.createEntry(ArchiveFile.java:379)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.core.archive.compound.ArchiveWriter.openRandomAccessStream(ArchiveWriter.java:74)
>
> 22:00:35,869 ERROR [STDERR] at
> org.eclipse.birt.data.engine.api.DataEngineContext.getOutputStream(DataEngineContext.java:330)
>
> 22:00:35,869 ERROR [STDERR] ... 77 more
>
|
|
| | | | | | | | | |
Re: NPE in ObjectWriter.write using BIRT 2.6 [message #884834 is a reply to message #884804] |
Mon, 11 June 2012 19:20   |
Eclipse User |
|
|
|
Boyd,
Do you have a way of reproducing the error in the designer?
Jason
On 6/11/2012 5:38 PM, Boyd Nolan wrote:
> I'm likely not understanding how this is supposed to work, but I don't
> see how the serialization settings on the class would allow this
> particular part of the code in the disk caching to work.
> ObjectWriter.write calls IOUtil.getRandomWriter, which only recognizes
> these data types:
>
> case DataType.BOOLEAN_TYPE :
> case DataType.INTEGER_TYPE :
> case DataType.BYTES_TYPE:
> case DataType.DOUBLE_TYPE :
> case DataType.STRING_TYPE :
> case DataType.DATE_TYPE :
> case DataType.BLOB_TYPE :
> case DataType.BIGDECIMAL_TYPE :
> case DataType.SQL_DATE_TYPE :
> case DataType.SQL_TIME_TYPE :
>
> When anything outside of these datatypes is passed in (in particular the
> data type unknown, -1, value), a null is returned for the writer, which
> then triggers the NPE when this statement is called in ObjectWriter.write:
>
> writer.write( file, obj );
>
> I don't see how this part of the disk caching logic could ever work with
> data types outside the list shown above. This is all coming from the
> StructureDiskArray class when it persists the cachedobjects.
>
> I'm hoping there is something obvious I am missing...is this a
> limitation in BIRT, or am I missing something really obvious?
>
> Boyd
>
>
|
|
| |
Re: NPE in ObjectWriter.write using BIRT 2.6 [message #885153 is a reply to message #885088] |
Tue, 12 June 2012 10:37   |
Eclipse User |
|
|
|
Boyd,
Can you try to put something like the following in the beforeFactory of
the report?
reportContext.getAppContext().put("org.eclipse.birt.data.cache.memory",
new Integer(-1))
You also may want to experiment with setting:
"org.eclipse.birt.data.query.ResultBufferSize" to 0 first and then some
high value( integer which represents megabytes).
here is a bit of explanation on the caching:
Caching only occurs when multiple passes of the data are required or
datasets are used multiple times
If you set this value below, to some value and your data set execeeds it
the data will start to write to disk.
/**
* Indicate the size of data cached for each result set.We only accept
non-negative integer as input,
* the unit of which would be MB.
* If this setting is 0, all temporary rows will be cached in memory
during query processing.
*/
public static String MEMORY_BUFFER_SIZE =
"org.eclipse.birt.data.query.ResultBufferSize";
This happens for grouping and aggregations and will create the files in
the temp directory under DataEngine_code/BirtDataTempcode where code is
unique. You set the value in MB.
By default if you re-use a data set a different cache is created of the
processed results in the directory:
DataEngine_code/DataSetCacheObject_code/multiple files
This operation is written to disk. If you set
reportContext.getAppContext().put("org.eclipse.birt.data.cache.memory",
new Integer(-1)) All of the rows will be wriitten to memory instead of
the above files and nothing will get written to
DataEngine_code/DataSetCacheObject_code
public static String MEMORY_DATA_SET_CACHE =
"org.eclipse.birt.data.cache.memory";
0 value will just write to disk, postive value will only write that
number of rows to memory.
Jason
On 6/12/2012 8:49 AM, Boyd Nolan wrote:
> I've not figured out any way to get the report to run/preview in the
> designer, since it relies on a script dataset that is generated /
> populated at run time of the application. Even the presentation of the
> parameters is dependent on run-time information based on user
> authentication.
>
> Is there any way you are aware of to completely disable this disk
> caching activity in BIRT?
> Boyd
|
|
| | | | | | |
Re: NPE in ObjectWriter.write using BIRT 2.6 [message #886332 is a reply to message #886204] |
Thu, 14 June 2012 14:41  |
Eclipse User |
|
|
|
Thanks for the information. If you get to try it on 3.7 let us know.
Jason
On 6/14/2012 8:38 AM, Boyd Nolan wrote:
> Jason,
> I need to revert my previous statement about testing BIRT 3.7. We tried
> to get it working, but the upgrade to Indigo was too big of a change in
> our current environment and we never fully got it working. So, I cannot
> say for certain if the same problem exists in the current release or not.
>
> Boyd
|
|
|
Goto Forum:
Current Time: Tue Jul 08 20:03:01 EDT 2025
Powered by FUDForum. Page generated in 0.06553 seconds
|