Bug 49837

Summary: Regression: soft hyphen character gives IllegalArgumentException
Product: Fop - Now in Jira Reporter: Lukas Theussl <ltheussl>
Component: pdfAssignee: fop-dev
Status: CLOSED FIXED    
Severity: normal CC: mathieu.malaterre, Thomas.Krebs
Priority: P2    
Version: 1.0   
Target Milestone: ---   
Hardware: PC   
OS: All   
Attachments: fo file demonstrating the bug

Description Lukas Theussl 2010-08-28 08:31:38 UTC
Created attachment 25955 [details]
fo file demonstrating the bug

This has been reported on the mailing list [1] but I haven found a bug report for it. The attached fo file works with fop 0.95 but using latest 1.0 gives the stack trace below.

[1] http://old.nabble.com/Use-of-soft-hyphen-causes-IllegalArgumentException-in-some-cases-td27868957.html



SEVERE: Exception
java.lang.IllegalArgumentException: factor < 0; was: -1
	at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
	at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
	at org.apache.fop.cli.Main.startFOP(Main.java:174)
	at org.apache.fop.cli.Main.main(Main.java:205)
Caused by: java.lang.IllegalArgumentException: factor < 0; was: -1
	at org.apache.fop.traits.MinOptMax.mult(MinOptMax.java:251)
	at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:825)
	at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:710)
	at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:639)
	at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:579)
	at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:571)
	at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:552)
	at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:280)
	at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:123)
	at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:115)
	at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:199)
	at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:140)
	at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:129)
	at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:70)
	at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:216)
	at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:692)
	at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:149)
	at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:132)
	at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:337)
	at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85)
	at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
	at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
	at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
	at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
	at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
	at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
	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:484)
	at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299)
	... 3 more
Comment 1 Simon Pepping 2010-12-04 03:32:20 UTC
Fixed in revision 1042115
Comment 2 Simon Pepping 2010-12-30 05:24:04 UTC
*** Bug 50524 has been marked as a duplicate of this bug. ***
Comment 3 rthunbo 2011-08-15 12:33:50 UTC
Just of curiousity, will this fix be part of release 1.1 and when will 1.1 be released.
Comment 4 Mathieu Malaterre 2012-01-03 10:02:33 UTC
*** Bug 52413 has been marked as a duplicate of this bug. ***
Comment 5 Glenn Adams 2012-04-01 06:18:31 UTC
batch transition to closed; if someone wishes to restore one of these to resolved in order to perform a verification step, then feel free to do so