Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1825

java.lang.ArrayIndexOutOfBoundsException in LineBreakUtils

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Cannot Reproduce
    • 2.5
    • None
    • layout/unqualified
    • None
    • Operating System: Windows NT
      Platform: PC
    • 49636

    Description

      The FO file contains a \u089A character in the text following the XML tag:
      <fo:basic-link external-destination="url(http://www.xml.com)">

      FOP produces:
      java.lang.ArrayIndexOutOfBoundsException: -1
      at org.apache.fop.text.linebreak.LineBreakUtils.getLineBreakPairProperty(LineBreakUtils.java:744)
      at org.apache.fop.text.linebreak.LineBreakStatus.nextChar(LineBreakStatus.java:178)
      at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:641)
      at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:310)
      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.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.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.list.ListItemLayoutManager.getNextKnuthElements(ListItemLayoutManager.java:235)
      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.list.ListBlockLayoutManager.getNextKnuthElements(ListBlockLayoutManager.java:120)
      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 net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:401)
      at net.sf.saxon.event.NamespaceReducer.endElement(NamespaceReducer.java:213)
      at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:447)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.xinclude.XIncludeHandler.endElement(XIncludeHandler.java:1045)
      at org.apache.xerces.impl.XMLNSDocumentScannerImplXerces.scanEndElement(XMLNSDocumentScannerImplXerces.java:673)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:355)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1645)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
      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 net.sf.saxon.event.Sender.sendSAXSource(Sender.java:397)
      at net.sf.saxon.event.Sender.send(Sender.java:156)
      at net.sf.saxon.IdentityTransformer.transform(IdentityTransformer.java:32)
      at org.apache.fop.cli.InputHandlerFOP.transformTo(InputHandlerFOP.java:299)
      at org.apache.fop.cli.InputHandlerFOP.renderTo(InputHandlerFOP.java:130)
      at org.apache.fop.cli.Main.startFOP(Main.java:174)
      at org.apache.fop.cli.Main.main(Main.java:205)

      Attachments

        1. testMinimal.fo
          0.6 kB
          Radu Coravu
        2. bold.fo
          10 kB
          Radu Coravu

        Issue Links

          Activity

            People

              fop-dev@xmlgraphics.apache.org fop-dev
              radu_coravu Radu Coravu
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: