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 2009/12/17 13:19:29 UTC

DO NOT REPLY [Bug 48397] [PATCH] infinite loop in footnotes (see also #47424)

https://issues.apache.org/bugzilla/show_bug.cgi?id=48397

--- Comment #1 from Vincent Hennebert <vh...@gmail.com> 2009-12-17 04:19:26 UTC ---
Hi Heidi,

Thanks for your patch. Although I'm afraid it's more of a workaround than an
actual fix for the issue. Not that it's useless, it may actually help people
who run into this issue and need a quick temporary solution. But I'm not sure
we want it to be integrated into the code.

I acknowledge that page breaking is not the simplest piece of code, but it
would be good to identify the origin of the error. From a quick debugging
session that I made some time ago, I noticed errors in the
PageBreakingAlgorithm.restartFrom method: some footnote-related variables are
not properly reset, which means that when getFootnoteSplit is called it's
believed to be more footnote content than there actually is. The problem may
lie there.

Creating a simple test case is key to help the debugging. I would try to create
an FO file that is just a few lines high, with no side region (region-before,
-after, etc.) and specify every dimension in points (to have more 'even' values
in the debugger). Then, define the page height such that the content doesn't
exactly fit (for example, 105pt high with lines of 10pt), which will trigger
the call to the restartFrom method, and start debugging from there. The second
attachment to bug 47424 may actually be a good start.

ATM I don't have much time to look into this issue in more detail
unfortunately. I hope those few notes will help you get started if you want to
have a go at it. Meanwhile, your patch will be helpful to people in urgent need
for a workaround.


Thanks,
Vincent


(In reply to comment #0)
> Created an attachment (id=24712)
 --> (https://issues.apache.org/bugzilla/attachment.cgi?id=24712) [details]
> Patch for #47424
> 
> This patch solves the problem of an infinite loop in footnotes as reported in
> bug 47424.
> 
> The infinite loop occurred in
> org.apache.fop.layoutmgr.PageBreakingAlgorithm.getFootnoteSplit(int, int, int,
> int, boolean).
> 
> This patch does not solve the problem of another infinite loop in footnotes as
> reported in bugs 48063 and 48162. This infinite loop occurs in
> org.apache.fop.layoutmgr.PageBreakingAlgorithm.createFootnotePages(KnuthPageNode).
> The test attached to 48063 is converted to a testcase and added to the list of
> disabled testcases.

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