Issue 108064 - crash: when updating two xls files with cross-linked cells
Summary: crash: when updating two xls files with cross-linked cells
Status: CLOSED FIXED
Alias: None
Product: Calc
Classification: Application
Component: ui (show other issues)
Version: OOo 3.2
Hardware: All All
: P3 Trivial with 2 votes (vote)
Target Milestone: ---
Assignee: yfjiang
QA Contact: issues@sc
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-04 14:00 UTC by fkater
Modified: 2017-05-20 10:33 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Testcase for 108064 - crash on updating file1.xls/file2.xls (13.56 KB, application/x-compressed)
2010-02-25 17:01 UTC, stefanux
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description fkater 2010-01-04 14:00:55 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.
Comment 1 fkater 2010-02-01 10:05:51 UTC
Same problems with RC4
Comment 2 fkater 2010-02-22 07:48:26 UTC
Same problem with openoffice 3.2.0
Comment 3 stefanux 2010-02-25 16:28:37 UTC
Confirmed, the problem was already introduced in OO 3.1x. Definitive a real show
blocker.
Comment 4 kyoshida 2010-02-25 16:39:37 UTC
Can someone post two xls files that demonstrate this?
Comment 5 stefanux 2010-02-25 17:01:09 UTC
Created attachment 68025 [details]
Testcase for 108064 - crash on updating file1.xls/file2.xls
Comment 6 kyoshida 2010-02-25 17:31:37 UTC
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.
Comment 7 kyoshida 2010-02-25 17:32:33 UTC
Grabbing the issue.
Comment 8 kyoshida 2010-02-25 17:33:41 UTC
accepting this.
Comment 9 kyoshida 2010-03-08 22:31:17 UTC
Added this to the task list of the koheiextref01 cws.
Comment 10 kyoshida 2010-03-08 23:01:22 UTC
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.
Comment 11 kyoshida 2010-03-08 23:32:54 UTC
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.
Comment 12 kyoshida 2010-04-29 03:24:46 UTC
Re-assigning to oc for verification.
Comment 13 kyoshida 2010-05-26 16:31:17 UTC
Re-assigning to Yi Fan for verification.
Comment 14 yfjiang 2010-05-31 03:30:16 UTC
Verified on SLED 11 sp1 and Windows xp sp3.