Bug 136749 - Undo deleting a large table slow
Summary: Undo deleting a large table slow
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.6.0
Keywords: bibisectRequest, haveBacktrace, perf, regression
Depends on:
Blocks: Undo-Redo
  Show dependency treegraph
 
Reported: 2020-09-14 12:05 UTC by Telesto
Modified: 2025-05-07 07:50 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Example file (206.93 KB, application/vnd.oasis.opendocument.text)
2020-09-14 12:06 UTC, Telesto
Details
my CPU 100% 4 cores (173.04 KB, image/png)
2021-08-29 16:05 UTC, BogdanB
Details
Perf flamegraph (221.25 KB, image/svg+xml)
2021-08-29 16:46 UTC, Buovjaga
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2020-09-14 12:05:56 UTC
Description:
Undo deleting a large table slow. See also bug 136748

Steps to Reproduce:
1. open the attached file (see also bug 136748; same file)

Actual Results:
40 seconds

Expected Results:
15-20 seconds


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.1.0.0.alpha0+ (x64)
Build ID: ed4f610f4a3de12016f8308a17b6ad4f86e9d67a
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL
Comment 1 Telesto 2020-09-14 12:06:11 UTC
Created attachment 165491 [details]
Example file
Comment 2 Telesto 2020-09-14 12:07:47 UTC
Pretty decent with
Versie: 4.4.7.2 
Build ID: f3153a8b245191196a4b6b9abd1d0da16eead600
Locale: nl_NL

-> 15 seconds
Comment 3 Telesto 2020-09-14 12:10:34 UTC
16 seconds with 
6.0
Comment 4 BogdanB 2020-09-14 18:15:07 UTC
30 seconds in
Version: 7.1.0.0.alpha0+
Build ID: 3a22f5a589e822e7ca8bbb00e38a3aff93ed7ba5
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 5 BogdanB 2020-09-14 18:15:52 UTC
Confirmed with
Version: 7.1.0.0.alpha0+
Build ID: 3a22f5a589e822e7ca8bbb00e38a3aff93ed7ba5
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 6 Buovjaga 2021-08-28 12:38:05 UTC
Can you re-test? It is rather instant for me

Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: 58a5bd793a2ed57077fc598281cc74e16373b877
CPU threads: 8; OS: Linux 5.13; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Comment 7 BogdanB 2021-08-29 16:03:20 UTC
My system is freezing for 30 seconds.
After that I have a window with

"LibreOfficeDev 7.3 Document Recovery.
Due to an error LibreOfficeDev crashed."
Comment 8 BogdanB 2021-08-29 16:05:49 UTC
Created attachment 174612 [details]
my CPU 100% 4 cores

you can see in the image 1 of the 4 cores is at 100% and after I click don't recover is going down again.
Comment 9 BogdanB 2021-08-29 16:06:04 UTC
Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: fbe183bbb05220a4ccc51952445b1797bb498403
CPU threads: 4; OS: Linux 5.11; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 10 Buovjaga 2021-08-29 16:46:08 UTC
Created attachment 174613 [details]
Perf flamegraph

Hmm, it was not so instant for me after all - even though the table reappears, the UI is blocked for some 5 secs.

Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: 567c6c123094bf58c14ddac94e962cc62bc839b3
CPU threads: 8; OS: Linux 5.13; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Comment 11 Commit Notification 2023-04-26 18:56:22 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/af8cb1039fd0cce86d771f4765c7d73c9f39b5a7

tdf#136749 std::map -> unordered_map

It will be available in 7.6.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 12 Commit Notification 2023-04-27 06:15:18 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/59036776b92c0f4ad2edd1bafd332f7a4ee87cdc

tdf#136749 no need to use maMutex in SwAccessibleMap

It will be available in 7.6.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 QA Administrators 2025-04-27 03:15:29 UTC Comment hidden (obsolete)
Comment 14 Jessica 2025-04-30 09:07:31 UTC
12 sec
Version: 24.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 798b43c4ef433d9f2cbfa431ebdf9ec35c3b8a39
CPU threads: 16; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: en-US
Calc: threaded

over 60 sec
Version: 25.2.2.2 (X86_64) / LibreOffice Community
Build ID: 7370d4be9e3cf6031a51beef54ff3bda878e3fac
CPU threads: 16; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Vulkan; VCL: win
Locale: de-DE (de_DE); UI: en-GB
Calc: threaded
Comment 15 Jessica 2025-04-30 09:10:44 UTC
bisected with win64-25.2

commit 1021f3e47ab2827d1b7872f641a21b84efcc2c91
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Sat Oct 19 00:10:17 2024 -0700

    source bfbaeb8192447265bdd78d1be4990947d135eb6e

    source bfbaeb8192447265bdd78d1be4990947d135eb6e

 instdir/program/setup.ini         |   2 +-
 instdir/program/vcllo.dll         | Bin 13686784 -> 13686272 bytes
 instdir/program/vclplug_winlo.dll | Bin 2587648 -> 2587648 bytes
 instdir/program/version.ini       |   2 +-
 4 files changed, 2 insertions(+), 2 deletions(-)

Results under 20 sec is good, more than 20sec bad.

Adding Cc: to <nthiebaud@gmail.com>
Comment 16 Buovjaga 2025-04-30 09:16:23 UTC
(In reply to Jessica from comment #15)
> bisected with win64-25.2
> 
> commit 1021f3e47ab2827d1b7872f641a21b84efcc2c91
> Author: Norbert Thiebaud <nthiebaud@gmail.com>
> Date:   Sat Oct 19 00:10:17 2024 -0700
> 
>     source bfbaeb8192447265bdd78d1be4990947d135eb6e
> 
>     source bfbaeb8192447265bdd78d1be4990947d135eb6e
> 
>  instdir/program/setup.ini         |   2 +-
>  instdir/program/vcllo.dll         | Bin 13686784 -> 13686272 bytes
>  instdir/program/vclplug_winlo.dll | Bin 2587648 -> 2587648 bytes
>  instdir/program/version.ini       |   2 +-
>  4 files changed, 2 insertions(+), 2 deletions(-)
> 
> Results under 20 sec is good, more than 20sec bad.
> 
> Adding Cc: to <nthiebaud@gmail.com>

The name you see in "Author" in the binary commits is the name under which the binaries were built. Actually in this case, I believe the name is a historical remnant as Xisco does the builds now.

Please see the paragraph starting with "After the final step in the bibisecting process, you are presented with the first bad commit" in https://wiki.documentfoundation.org/QA/Bibisect#General_Instructions

This report is from 2020, referencing 7.1 as the earliest known bad version. Thus, your finding concerning a 2024 regression would be more appropriate as a new report.
Comment 17 Buovjaga 2025-05-07 07:50:59 UTC
The bibisect above was moved to bug 166479 and it might be a feature, not a bug.