Apache OpenOffice (AOO) Bugzilla – Issue 108064
crash: when updating two xls files with cross-linked cells
Last modified: 2017-05-20 10:33:44 UTC
Openoffice/Calc hangs and infinitly allocates all available memory (finally crashs) when doing this: To reproduce: (1) Create two spreadsheets. (2) Enter arbitrary number in each file in cell A1. (3) Create a link from cell B1 in the first file to A1 of the other file AND VICE VERSA. Do this e.g. by entering '=' in cell B1 and then selecting A1 of the other file. Note: This is not a circular dep since A1 of the first file references B1 of the other, and A1 of the other file references B1 of the first file. (4) Save both files as xls (tested with excel 97 format). (5) Open one of the files. When asked if you want to update the content with the content of the other file, say YES. Result: Openoffice hangs and eats up all memory. Same misbehaviour found on: Linux, Windows 2000, Openoffice 3.1, 3.1.1, 3.2-rc1. Correct behaviour with Openoffice 3.0, 3.0.1 or, if ods file format is used instead of xls.
Same problems with RC4
Same problem with openoffice 3.2.0
Confirmed, the problem was already introduced in OO 3.1x. Definitive a real show blocker.
Can someone post two xls files that demonstrate this?
Created attachment 68025 [details] Testcase for 108064 - crash on updating file1.xls/file2.xls
Thanks a lot. A couple of remarks. I confirmed this problem using DEV300_m71, however, the OOO320 line may already have a fix for this. At least this won't happen using go-oo 3.2 whose external reference behavior should be identical to upstream's. I'm currently re-working external reference handling in the koheiextref01 cws. I'll take care of this there.
Grabbing the issue.
accepting this.
Added this to the task list of the koheiextref01 cws.
Ah, (as I suspected) adjusting the row heights after loading the xls document causes the hang. While it's easy to disable this when the document is an external doc cache, I'd like to also add additional safeguard to prevent re-calculation of external references in external doc cache.
fixed: http://hg.services.openoffice.org/hg/cws/koheiextref01/rev/fd5e87885338 by disabling unnecessary things in external document cache, such as the row height adjustment (meaningless since the cache is never visible on screen), undo, and the external link execution.
Re-assigning to oc for verification.
Re-assigning to Yi Fan for verification.
Verified on SLED 11 sp1 and Windows xp sp3.