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.

Reply via email to