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

Bug 355507

Summary: Engine Exception occurs when table using table groups is split on two pages
Product: z_Archived Reporter: janwawrosz
Component: BIRTAssignee: Birt-Data-inbox <Birt-Data-inbox>
Status: NEW --- QA Contact: Sissi Zhu <szhu>
Severity: normal    
Priority: P3 CC: bluesoldier, jouyang
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
my report none

Description janwawrosz CLA 2011-08-23 09:57:52 EDT
Build Identifier: 20100917-0705

If the table using table grouping is not displayed at once, error message is raised (Only in Report Viewer). Table values are used also by bar chart located above the table. Chart is displayed correctly, but table values are displayed only till page break and then on the next page, error described below is displayed. 

Possible workaround: 
When following setting is applied on the table group, then everything's working fine:
Page Break -> Before -> Avoid
Page Break -> Inside -> Avoid

Table is displayed on the next page than chart location is, but error is not raised.

The following items have errors:

Table faults GA +6:
- Invalid row index value: 16.

Invalid row index value: 16. ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: Invalid row index value: 16.
	at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor.hasNextChild(ContainerExecutor.java:117)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:62)
	at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
	at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
	at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
	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.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:662)
	at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:284)
	at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1537)
	at org.eclipse.birt.report.service.BirtViewerReportService.getPage(BirtViewerReportService.java:204)
	at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.doExecution(AbstractGetPageActionHandler.java:238)
	at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:105)
	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.handleGetPage(BirtDocumentProcessor.java:87)
	at sun.reflect.GeneratedMethodAccessor994.invoke(Unknown Source)
	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.GeneratedMethodAccessor972.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.ericsson.mh.web.filter.UserSession.doFilter(UserSession.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.ericsson.mh.web.security.filter.MHWebLogin.doFilter(MHWebLogin.java:139)
	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.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.eclipse.birt.data.engine.core.DataException: Invalid row index value: 16.
	at org.eclipse.birt.data.engine.impl.document.ResultIterator2.moveTo(ResultIterator2.java:173)
	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.skipTo(QueryResultSet.java:223)
	at org.eclipse.birt.report.engine.internal.document.v4.ListingElementExecutor.doSkipToExecutor(ListingElementExecutor.java:90)
	at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor.prepareChildExecutor(ContainerExecutor.java:214)
	at org.eclipse.birt.report.engine.internal.document.v4.ContainerExecutor.hasNextChild(ContainerExecutor.java:110)
	... 62 more

					



Reproducible: Always

Steps to Reproduce:
Used Birt Engine v 2.6.1 

Faulty situation:

Table with 3 colums is created. 

Table is grouped by integer value in column A. No special setting is applied in group details.

Column A: Integer 
Column B: Integer - Aggregation used on created table group using SUM function
Column C: Float - Used MOVINGAVE function on Column B

Preview function is working without any problem.
If the table is displayed at once on a page then no error is raised. If the table is split in the middle on two pages, then error is raised.

The index value displayed in error message has relationship with one of column value contained in table.

Page 1:
Column A | Column B | Column C
0            16          16

Page 2:
Invalid row index value: 16.

Not displayed rows should look like this:
Column A | Column B | Column C
1            25          20.5
2            2           14.333
Comment 1 Xiaoying Gu CLA 2011-10-25 22:47:57 EDT
Hi there,

I just can not reproduce your problem. Please attached your report. I have attached the report I created according to your description.
Comment 2 Xiaoying Gu CLA 2011-10-25 22:48:47 EDT
Created attachment 205961 [details]
my report