[ https://issues.apache.org/jira/browse/FOP-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15227645#comment-15227645 ]
Sam Barker commented on FOP-2364: --------------------------------- I've just tried to upgrade from FOP 1.1 to to FOP2.1 and am tripping up on what I believe to be this issue. We are getting this stack trace: {code} Caused by:java.lang.IllegalArgumentException:Illegal value for breakClass:75 at org.apache.fop.util.BreakUtil.getBreakClassPriority(BreakUtil.java:39) at org.apache.fop.util.BreakUtil.compareBreakClasses(BreakUtil.java:58) at org.apache.fop.layoutmgr.list.ListItemLayoutManager.getCombinedKnuthElementsForListItem(ListItemLayoutManager.java:413) at org.apache.fop.layoutmgr.list.ListItemLayoutManager.getNextKnuthElements(ListItemLayoutManager.java:326) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:239) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:498) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:289) at org.apache.fop.layoutmgr.list.ListBlockLayoutManager.getNextKnuthElements(ListBlockLayoutManager.java:103) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:239) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:289) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:289) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:289) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141) at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:289) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113) at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105) at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223) at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:147) at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116) at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69) at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:254) at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:752) at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:180) at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:160) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:388) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:114) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:138) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:130) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:360) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190) 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) {code} Which after a bit of debugging I think stems from a missmatch in which {{breakClasses}} are supported. [BreakUtil|https://github.com/apache/fop/blob/73eea615f89cea80354362fdee08c1186d5a70c4/fop-core/src/main/java/org/apache/fop/util/BreakUtil.java#L34-L40] and [KnuthPenalty|https://github.com/apache/fop/blob/73eea615f89cea80354362fdee08c1186d5a70c4/fop-core/src/main/java/org/apache/fop/layoutmgr/KnuthPenalty.java#L74-L79] support the same set of break classes. However [BreakElement|https://github.com/apache/fop/blob/73eea615f89cea80354362fdee08c1186d5a70c4/fop-core/src/main/java/org/apache/fop/layoutmgr/BreakElement.java#L153-L165] supports a super set, it adds {{EN_LINE}}. This appears to have been part of the fix for: Bugzilla #53598. However at this point I'm really not clear the correct fix is. I suspect changing {{BreakElement}} to reject {{EN_LINE}} will just push the exception else where, and I don't have a clue what adding {{EN_LINE}} to {{BreakUtil}} & {{KnuthPenalty}} will do. > Keep-with-next integer value: Illegal value for breakClass: 75 > -------------------------------------------------------------- > > Key: FOP-2364 > URL: https://issues.apache.org/jira/browse/FOP-2364 > Project: FOP > Issue Type: Bug > Components: layout/unqualified > Affects Versions: trunk > Reporter: Matthias Reischenbacher > Attachments: illegal_break_class_75.xml > > > The attached sample FO file causes an IllegalArgumentException: Illegal value > for breakClass: 75. > It seems to be related to the integer value within the keep-with-next > property. -- This message was sent by Atlassian JIRA (v6.3.4#6332)