https://issues.apache.org/bugzilla/show_bug.cgi?id=37579
--- Comment #31 from Andreas L. Delmelle <[EMAIL PROTECTED]> 2008-05-13
09:35:50 PST ---
Just had another look, and it seems to have been a fluke... :(
The infinite loop remains. Debugging it, I can almost 'see' what's going wrong,
but any attempt to bypass it so far, have failed. If not for this case, then
for the unit-tests for split footnotes.
The story goes:
-> after the page-breaking loop completes, the first page is finished, and its
footnotes added as much as possible (4 footnotes in this case)
-> after that, we see there's still one footnote left which has its citation on
that page (PBA.finish(): (node.totalFootnotes < PBA.totalFootnotesLength))
-> so createFootnotePages() is called, which starts at the last footnote that
was added to the previous page; could be a split footnote
=> We hang indefinitely in:
...
while (insertedFootnotesLength < totalFootnotesLength) {
tmpLength = ((Integer)lengthList.get(footnoteListIndex)).intValue();
// try adding some more content
if ((tmpLength - insertedFootnotesLength) <= availableBPD) {
// add a whole footnote
availableBPD -= tmpLength - insertedFootnotesLength;
insertedFootnotesLength = tmpLength;
footnoteElementIndex
= ((LinkedList)footnotesList.get(footnoteListIndex)).size() -
1;
...
...
}
insertedFootnotesLength never changes, availableBPD always remains the same
(tmpLength == insertedFootnotesLength), so the condition to break the
while-loop is never reached.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.