You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2005/12/27 15:12:28 UTC

DO NOT REPLY [Bug 38053] New: - FOP SVN TRUNK crashes at inline page manager and Knuth inline box.

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38053>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38053

           Summary: FOP SVN TRUNK crashes at inline page manager and Knuth
                    inline box.
           Product: Fop
           Version: 1.0dev
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: page-master/layout
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: ono@java.pl


I'm attaching 2docs... 1st crashes FOP with:
java.lang.ClassCastException: org.apache.fop.layoutmgr.inline.KnuthInlineBox
cannot be cast to org.apache.fop.layoutmgr.KnuthGlue
        at
org.apache.fop.layoutmgr.InlineKnuthSequence.addALetterSpace(InlineKnuthSequence.java:124)
        at
org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:727)
        at
org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:630)
        at
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:272)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:104)
        at
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:272)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:104)
        at
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:272)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:104)
        at
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:272)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:104)
        at
org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:272)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:104)
        at
org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:98)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.getNextKnuthElements(PageSequenceLayoutManager.java:223)
        at
org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:488)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.getNextBlockList(PageSequenceLayoutManager.java:215)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:252)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:220)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:147)
        at
org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:305)
        at
org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:156)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:324)
        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:141)
        at org.apache.fop.cli.InputHandler.render(InputHandler.java:101)
        at org.apache.fop.cli.Main.startFOP(Main.java:167)
        at org.apache.fop.cli.Main.main(Main.java:200)

Second is pushed trough xml tidy and crashed FOP with:
java.lang.NullPointerException
        at
org.apache.fop.layoutmgr.AbstractLayoutManager.isLast(AbstractLayoutManager.java:369)
        at
org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:426)
        at
org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1769)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:381)
        at
org.apache.fop.layoutmgr.list.ListItemContentLayoutManager.addAreas(ListItemContentLayoutManager.java:164)
        at
org.apache.fop.layoutmgr.list.ListItemLayoutManager.addAreas(ListItemLayoutManager.java:479)
        at
org.apache.fop.layoutmgr.list.ListBlockLayoutManager.addAreas(ListBlockLayoutManager.java:192)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:381)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:381)
        at
org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:108)
        at
org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:289)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.addAreas(PageSequenceLayoutManager.java:306)
        at
org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:441)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager$PageBreaker.doPhase3(PageSequenceLayoutManager.java:366)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:296)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:220)
        at
org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:147)
        at
org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:305)
        at
org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:156)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:324)
        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:141)
        at org.apache.fop.cli.InputHandler.render(InputHandler.java:101)
        at org.apache.fop.cli.Main.startFOP(Main.java:167)
        at org.apache.fop.cli.Main.main(Main.java:200)

Sorry attached files are quite big... however I had no time to seek for certain
part of FO document that causes the crash.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Re: DO NOT REPLY [Bug 38053] - FOP SVN TRUNK crashes at inline page manager and Knuth inline box.

Posted by Simon Pepping <sp...@leverkruid.nl>.
On Wed, Dec 28, 2005 at 05:17:03AM +0100, bugzilla@apache.org wrote:
> For the NPE fix see http://svn.apache.org/viewcvs?rev=359383&view=rev
> 
> I didn't manage to construct a small test case for the NPE. Any attempts to cut 
> down the large param-tidy.fo to a reasonable size but still exhibiting the 
> problem failed. I must be missing something. Any help / suggestions appreciated.

The test file linearea_nonempty_1.xml reproduces the NPE (without
Manuel's fix).

lastPos being null means that in InlineLM.addAreas, the iterator
parentIter passed to it did not contain any area-generating
positions. In this case, the paragraph is:

Object [0]= LineLayoutManager$Paragraph  (id=96)
    Object [0]= KnuthGlue  (id=104)
    Object [1]= KnuthPenalty  (id=108)
    Object [2]= KnuthGlue  (id=110)
    Object [3]= KnuthInlineBox  (id=111)
    Object [4]= KnuthPenalty  (id=114)
    Object [5]= KnuthGlue  (id=115)
    Object [6]= KnuthPenalty  (id=116)

There are two lines: from 0 to 1, and from 2 to 6.

Line 1 is the problem. In LineLM.addInlineArea (a new method, which I
recently extracted from LineLM.addAreas) non-boxes are skipped, so
that iStartElement becomes 3, resulting in an empty iterator.

I do not understand how the line breaking algorithm can produce a line
consisting of only a glue and a penalty.

Regards, Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl


DO NOT REPLY [Bug 38053] - FOP SVN TRUNK crashes at inline page manager and Knuth inline box.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38053>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38053





------- Additional Comments From ono@java.pl  2005-12-27 15:14 -------
Created an attachment (id=17285)
 --> (http://issues.apache.org/bugzilla/attachment.cgi?id=17285&action=view)
Bug testcase... 2 FO files crashing FOP.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

DO NOT REPLY [Bug 38053] - FOP SVN TRUNK crashes at inline page manager and Knuth inline box.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38053>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38053


manuel@apache.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED




------- Additional Comments From manuel@apache.org  2005-12-28 03:36 -------
The first problem: CastClassException is already documented in bug #37743.

The second problem: NullPointerException is a new issue.

I'll have a go a fixing both of them (but it won't be pretty...).

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

DO NOT REPLY [Bug 38053] - FOP SVN TRUNK crashes at inline page manager and Knuth inline box.

Posted by bu...@apache.org.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38053>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38053


manuel@apache.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED




------- Additional Comments From manuel@apache.org  2005-12-28 05:17 -------
The ClassCastException has been fixed as part of Bug #37743.

For the NPE fix see http://svn.apache.org/viewcvs?rev=359383&view=rev

I didn't manage to construct a small test case for the NPE. Any attempts to cut 
down the large param-tidy.fo to a reasonable size but still exhibiting the 
problem failed. I must be missing something. Any help / suggestions appreciated.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.