I have many application using fop 0.20.5 and work fine rendering on the fly PDF files in WEB application starting from XML data. Recently I upgrade to 0.94 and application don't work more. I try fop 0.93 too whit same bad result. 19-feb-2008 13.03.21 org.apache.fop.cli.Main startFOP GRAVE: Exception java.lang.IllegalStateException: subsequences exhausted in page-sequence-master 'all', cannot recover at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:168) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115) at org.apache.fop.cli.Main.startFOP(Main.java:166) at org.apache.fop.cli.Main.main(Main.java:197) --------- java.lang.IllegalStateException: subsequences exhausted in page-sequence-master 'all', cannot recover at org.apache.fop.layoutmgr.PageProvider.cacheNextPage(PageProvider.java:275) at org.apache.fop.layoutmgr.PageProvider.getPage(PageProvider.java:221) at org.apache.fop.layoutmgr.PageProvider.getPage(PageProvider.java:189) at org.apache.fop.layoutmgr.PageProvider.getAvailableBPD(PageProvider.java:135) at org.apache.fop.layoutmgr.PageBreakingAlgorithm.getLineWidth(PageBreakingAlgorithm.java:851) at org.apache.fop.layoutmgr.PageBreakingAlgorithm.computeDifference(PageBreakingAlgorithm.java:367) at org.apache.fop.layoutmgr.BreakingAlgorithm.considerLegalBreak(BreakingAlgorithm.java:696) at org.apache.fop.layoutmgr.PageBreakingAlgorithm.considerLegalBreak(PageBreakingAlgorithm.java:309) at org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints(BreakingAlgorithm.java:485) at org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints(BreakingAlgorithm.java:403) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:338) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:263) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:144) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:233) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:145) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:378) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:194) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:165) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115) at org.apache.fop.cli.Main.startFOP(Main.java:166) at org.apache.fop.cli.Main.main(Main.java:197)
Created attachment 21559 [details] explain and test bug this xml-fop file work fine on fop 0.20.5 and dont work on fop 0.94 use this to test the error
I would argue that 0.20.5 didn't behave correctly. Your only conditional-page-master-reference has a restriction on page-position="first" so it isn't eligible for anything but the first page. I don't think it would be correct to fallback to "any" page-master regardless of its conditions. If I were you I'd just remove the page-position property. I'd mark this issue as "invalid" but I'd like a second opinion from the team.
Created attachment 21561 [details] old fop render pdf this is the oldest PDF (fop 0.20.5) with the data XML attached
Created attachment 21562 [details] new fop render pdf this is the new PDF (fop 0.94)
ok removing page-position="first" the rendering process dont throw exception. But the result is very different from previus PDF. You can view the two attached PDF to see the difference. thanks
That the table is broken early is a known regression in 0.94. It does not happen in 0.93 or FOP Trunk. It will be fixed in 0.95 when it is released in about two weeks.
example FO does not specify adequate page sequence and also uses unsupported features (table-layout='auto')
batch transition resolved+invalid to closed+invalid