Issue 119034

Summary: Spreadsheet freezes on attempted insert->names->define->delete
Product: Calc Reporter: Edwin.Wiles
Component: editingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Normal    
Priority: P3 CC: oliver.brinzing
Version: OOo 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Linux, all   
See Also: https://issues.apache.org/ooo/show_bug.cgi?id=102344
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description Edwin.Wiles 2012-03-08 04:00:50 UTC
Spreadsheet had a number of names defined.  All but two were deletable.  Attempting to delete either of the remaining two results in a program freeze, requiring a kill.  Problem spreadsheet attached.  Problem is consistent through multiple recoveries and attempts.

Actions to duplicate:

1) Open attached spreadsheet.
2) Select menu Insert->Names->Define
3) Select either of the two remaining names.
4) Click on Delete.
5) Click on OK.
6) => OOo Calc is frozen.
Comment 1 Edwin.Wiles 2012-03-08 04:24:09 UTC
Unfortunately, the example spreadsheet is slightly more than 3MiB, so it can't be uploaded, and when I cut the size down by deleting two of the sheets, the problem went away.  So... Here's a link that I _hope_ will work.  I've never used it before, so I don't know if it will or not.

http://www.box.com/s/s1slug4s70ugioih8nd3

I'll try to handle collaboration requests in a timely manner.
Comment 2 Edwin.Wiles 2012-03-08 04:31:56 UTC
Okay, that didn't work out too well, let's try this one.

http://www.freedrive.com/file/1587861,masterunicode.ods

Or

http://www.freedrive.com/folder/324087

And look for the MasterUnicode.ods file.  It's the only one there for now.
Comment 3 Oliver Brinzing 2012-03-08 06:34:07 UTC
confirming with aoo4.3 rev 1296433

i am pretty sure the root cause are the 65535 formula's
which have to be recalculated after deleting the named ranges:
=LOOKUP(A2;UCDDECIMAL;UCDNAME)

What you can do is to use matrix formula's:
{=LOOKUP(A2:A65535;UCDDECIMAL;UCDNAME)}

to reduce the file size, try to use matrix formula's
for other columns too ;-)
Comment 4 Edwin.Wiles 2012-03-09 02:44:56 UTC
@brinzing:  Many thanks!  I hadn't been aware of the matrix formulas.  Still, after switching things over to the matrix formula method, I'm still running into problems. Different ones, so I won't cover them here.  I suspect I'm just driving Calc way beyond it's limits.  I have a tendency to do things like that.  Honestly, with 65537 rows, it's really time to start thinking database, I just didn't want to do that.  Again, Thanks!
Comment 5 Oliver Brinzing 2012-03-09 05:52:45 UTC
you will find some additional information at:

http://wiki.services.openoffice.org/wiki/Calc/Performance/ALL
http://wiki.services.openoffice.org/wiki/Calc/Performance/VLOOKUP

>I suspect I'm just driving Calc way beyond it's limits

if you find bottlenecks feel free to open an issue ;-)
Comment 6 Marcus 2012-03-09 19:43:55 UTC
Then I think we can close this issue as solved, right?
Comment 7 Oliver Brinzing 2012-03-10 15:07:08 UTC
> Then I think we can close this issue as solved, right?

imho it would be a good idea to find out
why oo will freeze.
Comment 8 Edwin.Wiles 2012-03-12 19:53:30 UTC
@Marcus & @brinzing:  Having thought it through some more, I suspect that it isn't actually 'frozen'.  It might complete if one were patient enough; but since there's no indication of progress at all, and no reaction to user input, one is most likely to assume 'frozen' and kill the process.

Perhaps this should be re-typed to 'enhancement' and request that (a) some sort of real progress indicator be added, and/or (b) that there be a way to cancel an operation that's taking far too long, and/or (c) a warning up-front that the task is going to take a very long time.

I remember a possibly related report, 102344, that requested a count of the number of times a defined name was used.  If that count were available, it would certainly make a real progress indicator and/or time warning possible.