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 "Andreas L. Delmelle (JIRA)" <ji...@apache.org> on 2015/05/26 21:48:18 UTC

[jira] [Updated] (FOP-2276) currentFObj is not updated if Throwable is thrown

     [ https://issues.apache.org/jira/browse/FOP-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas L. Delmelle updated FOP-2276:
-------------------------------------
    Attachment: FOP-2276.patch

Attached a small patch proposal.

Problem is, I currently do not immediately have an idea how to test whether this would really solve the issue... 
I would have to create a test case that somehow simulates this behaviour, i.e. forced throwing of a SAXException and attempt to continue processing. If anyone has ideas, even if very vague, feel free to speak up.

> currentFObj is not updated if Throwable is thrown
> -------------------------------------------------
>
>                 Key: FOP-2276
>                 URL: https://issues.apache.org/jira/browse/FOP-2276
>             Project: FOP
>          Issue Type: Bug
>          Components: fo/unqualified
>    Affects Versions: 1.1
>            Reporter: Daniel Dracott
>            Assignee: Andreas L. Delmelle
>         Attachments: FOP-2276.patch
>
>
> If an exception is thrown during org.apache.fop.fo.FOTreeBuilder.MainFOHandler.endElement(String, String, String), then the line "currentFObj = currentFObj.getParent();" does not get executed. If the SAX event source decides to store the exception and continue, then subsequent endElement calls can generate SAXExceptions of the form:
> Caused by: org.xml.sax.SAXException: Mismatch: page-sequence (http://www.w3.org/1999/XSL/Format) vs. root (http://www.w3.org/1999/XSL/Format)
> 	at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:338)
> 	at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:181)
> 	...
> Some implementations of javax.xml.transform.Transformer that we have used will attempt to perform further endElement calls in this way and the SAXException can hide the original Throwable, making diagnosis of problems difficult.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)