Apache OpenOffice (AOO) Bugzilla – Issue 26892
wrapping footnote to next page causes OOo to freeze
Last modified: 2013-08-07 14:41:36 UTC
To reproduce: 1) open the attached document 2) press return after the test "press return!" 3) Open office should freeze and max out the cpu. Sometimes will not end with the term signal. To repreoduce (no crash) 1) remove the [1] footnote from the first page 2) can how hit return at "press return!" no problem. This is on Fedora Linux core 1.
Created attachment 14009 [details] Example file (warning - causes crash!)
1.1.1rc3 linux build Part #1 -------- >> 1) open the attached document >> 2) press return after the test "press return!" Place the cursor after "press return" on page 1 and hinter Enter 35 times. >>3) Open office should freeze and max out the cpu. confirmed, hangs with 75% CPU here Part #2 ---------- >> To repreoduce (no crash) >> 1) remove the [1] footnote from the first page >> 2) can how hit return at "press return!" no problem. confirmed, no crash or hang Noticed also strange document layout. See attached screenshot as PDF.
Created attachment 14011 [details] screenshot - strange document layout
adding crash keyword, target-milestone: not determined.
Reassigned to MRU
MRU->FME: Table containing a footnote wrapping to next column. This already works in current src680m3x build. Please have a look for possible risks of a 1.1.3 (pp4) fix.
FME: I did not find the time to analyse the problem yet. Nevertheless, I'll set target to OOo 1.1.3.
.
FME: Analysis: The last table row moves to the next column, therefore the footnote moves to the next column as well. This will invalidate the section on the first page, because the footnote frame vanishes. This in turn will invalidate the last lower of the section frame (ChgLowersProp) because the size of the column has increased. So the table frame will be calculated again, this time the last table row will move back to the first page, because there is still some space left and the footnotes are not considered in the ShouldMoveBwd() function -> loop. The attached patch will solve the problem, but I think we should not touch the code because it is too risky.
Created attachment 15657 [details] possible patch to resolve the problem
FME->MRU: I think this is too risky to fix for the 1.1 branch.
OK, deeper investigation resulted in the fact, that a fix for a patch in 1.1.x ould be too risky. Thus we leave it as fixed in OO 2.0.
Closed Works with 680m30 and newer.