Szőts Ákos created FOP-2887: ------------------------------- Summary: java.lang.NullPointerException with "<fo:float>" at org.apache.fop.layoutmgr.PageBreaker.redoLayout(PageBreaker.java:453) Key: FOP-2887 URL: https://issues.apache.org/jira/browse/FOP-2887 Project: FOP Issue Type: Bug Affects Versions: 2.4 Environment: openSUSE Tumbleweed x64 Reporter: Szőts Ákos Attachments: topic.fo
The following code snippet (also attached) causes FOP 2.4 to throw a NullPointerException during page layouting. I tried to create a minimal reproducible example so anything you'd remove semantically correctly will cause the snippet to compile properly. {code:xml} <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="body-odd"> <fo:region-body/> </fo:simple-page-master> <fo:simple-page-master master-name="body-last"> <fo:region-body/> </fo:simple-page-master> <fo:page-sequence-master master-name="body-sequence"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="body-last" page-position="last"/> <fo:conditional-page-master-reference master-reference="body-odd"/> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </fo:layout-master-set> <fo:page-sequence master-reference="body-sequence"> <fo:flow flow-name="xsl-region-body"> <fo:block> <fo:float> <fo:block/> </fo:float> </fo:block> <fo:block/> </fo:flow> </fo:page-sequence> </fo:root> {code} Exception thrown: {code:java} SEVERE: Exception org.apache.fop.apps.FOPException: java.lang.NullPointerException java.lang.NullPointerException at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:296) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:116) at org.apache.fop.cli.Main.startFOP(Main.java:183) at org.apache.fop.cli.Main.main(Main.java:214) Caused by: java.lang.NullPointerException at org.apache.fop.layoutmgr.PageBreaker.redoLayout(PageBreaker.java:453) at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:333) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:458) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:112) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.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.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:293) ... 3 more --------- java.lang.NullPointerException at org.apache.fop.layoutmgr.PageBreaker.redoLayout(PageBreaker.java:453) at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:333) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:458) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:112) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.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.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:293) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:116) at org.apache.fop.cli.Main.startFOP(Main.java:183) at org.apache.fop.cli.Main.main(Main.java:214) {code} Command line I used to compile: {{fop-2.4/fop/fop <snippet above.fo> <output.pdf>}} -- This message was sent by Atlassian Jira (v8.3.4#803005)