Bug 76754 - FILESAVE: Saving ODS files can take forever, freezing the UI and forcing to kill the LibO process
Summary: FILESAVE: Saving ODS files can take forever, freezing the UI and forcing to k...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
4.2.3.2 rc
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Tobias Lippert
URL:
Whiteboard: target:4.4.0
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-28 18:29 UTC by sergio.callegari
Modified: 2014-08-16 10:51 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sergio.callegari 2014-03-28 18:29:59 UTC
Problem description:

Now that the import of large xlsx files has been fixed (see 30770), it is easier to get to work with really large spreadsheets.

The sad fact is that they cannot be saved!

Steps to reproduce:
1. Open http://www.elsevier.com/__data/assets/excel_doc/0003/148548/title_list.xlsx
2. Try saving as ods
3. See UI freezing
4. Wait
5. Note how cpu usage goes up to 100%
6. Wait
7. Wait
8. Listen how the fan of your laptop reaches full speed
9. Wait
10. Wait
11. Really, wait
...
1003. Give up and kill the process
Comment 1 Julien Nabet 2014-03-28 20:09:59 UTC
On which env (Windows, Linux, MacOs) and version?
What's the LO version?
Comment 2 sergio.callegari 2014-03-29 14:48:18 UTC
I see this on linux, specifically

Kubuntu 13.10 64 bit
Libreoffice as distributed by libreoffice.org (not the ubuntu provided builds)
On LibO 4.2.3 RC 2
Comment 3 Tobias Lippert 2014-06-05 19:33:04 UTC
In this specific file (title_list.xlsx) is a super large sheet1.xml which contains about 2.5 million xml elements (opening and closing).

I will check how that is going to be converted when writing .ods files.
Comment 4 Commit Notification 2014-07-22 06:27:53 UTC
Tobias Lippert committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=798379313dca8de97e431ef2fe68129aaa1dcf04

fdo#76754 Speed up registration of new listeners to SfxBroadcaster



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 5 Tobias Lippert 2014-07-22 07:21:37 UTC
There are two more outstanding commits which have to be reviewed first.
The time to save the provided file will be reduced to about 40s when they are integrated. I update the ticket when the changes are included.
Comment 6 Commit Notification 2014-07-23 11:08:56 UTC
Tobias Lippert committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=8f8ee6fd2c50572c44363a6d5d23bd9d192fe08d

fdo#76754 Add Positions by StyleSheetFamily to IndexedStyleSheets



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 7 Commit Notification 2014-07-23 11:34:19 UTC
Tobias Lippert committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9782ba7f1b7f4d6cc11045b6c953deb6f17f321d

fdo#76754 Add return first to IndexedStyleSheets to speed up ods writing



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 8 Tobias Lippert 2014-07-24 19:53:33 UTC
Hello Sergio,
the changes are available in the current master branch. You can check whether they work for you. (check the previous comment for instructions)
I am working on speeding the saving up even further, but at least you will be able to save the file now.
Comment 9 Tobias Lippert 2014-08-16 10:16:42 UTC
I can save the file in the current master branch of LibreOffice in under a minute.
Comment 10 Julien Nabet 2014-08-16 10:42:09 UTC
Tobias: do you plan some backport for 4.3 and perhaps 4.2 branches?
Comment 11 Tobias Lippert 2014-08-16 10:47:49 UTC
I did not have any plans to do it yet. But if you think it is an issue that is worth the backport, I can check whether it is feasible and do it.

I work on LO in my free time, so it might take a month or so to do it. Is that ok?
Comment 12 Julien Nabet 2014-08-16 10:51:42 UTC
Just saw the patches. I'm not an expert (I'd say rather the opposite :-)) but indeed, it could be time consuming to backport. I let you judge.
Anyway, thank you for the quick feedback! :-)