Selection buffer tracking causes high CPU usage
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
LibreOffice |
Invalid
|
Medium
|
|||
kupfer |
New
|
Undecided
|
Unassigned |
Bug Description
The selection buffer tracking feature (ctrl-T) can cause high CPU usage and non-responsiveness in both Kupfer and the application owning the selection buffer if the buffer is large and/or repeatedly updated.
Easiest way to reproduce is to open up a blank spreadsheet in OpenOffice/
Disconnecting the callback (line 41, gobject_
Ideally, since the source is only accessible by hotkey, the selection should only be queried when requested.
Changed in libreoffice: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
affects: | libreoffice → df-libreoffice |
Changed in df-libreoffice: | |
status: | Confirmed → Incomplete |
Changed in df-libreoffice: | |
status: | Incomplete → Invalid |
Created attachment 45239
example spreadsheet
Selecting a large number of columns in Calc consumes enormous amount of memory.
Attached file 'test.ods' has 40 rows and about 240 columns, all cells are just numbers (it is artificial but similar to a file that I am working on). All columns except the first one and the last one are hidden, so only two are visible.
When this file is loaded into Calc, it uses about 100 Mb of memory, mainly from shared libraries. Selecting the two visible columns (by dragging with a mouse, so that the hidden ones get selected too) has a weird effect: the program stops responding for a while and consumes more than 800 Mb of memory before it can work again.
I understand that inserting 10,000 cells to the clipboard requires some space, but 70 kilobytes per cell(!) is a little bit too high.
Un-selecting the columns brings the program back into its normal 100 Mb size.
Selecting the columns when they are un-hidden has the same effect (I just made made them hidden for the test case, because it is easier to select them).
I first observed this bug on a 32-bit Linux system with openoffice.org-3.2. Then reproduced it on x86-64 with libreoffice-3.3.2 installed from Ubuntu PPA packages. The program version screen says:
LibreOffice 3.3.2 3.3.2.2, Ubuntu package 1:3.3.2- 1ubuntu2~ maverick1
OOO330m19 (Build:202)
tag libreoffice-
The rest of the system is Kubuntu 10.10 with KDE 4.6.1. Installing or un-installing the 'libreoffice-kde' add-on package does not make any difference.