Bug 166479 - Performance slow or hangs when undo a large table content
Summary: Performance slow or hangs when undo a large table content
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
25.2.0.3 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2025-05-06 13:20 UTC by Jessica
Modified: 2025-05-07 08:20 UTC (History)
3 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 Jessica 2025-05-06 13:20:45 UTC
Description:
When deleting and undo a large table content the performance is slow or hangs.
Refer to attachment 165491 [details] (https://bugs.documentfoundation.org/attachment.cgi?id=165491) 

Steps to Reproduce:
1.Open attachment 165491 [details]
2.Delete table content
3.Click undo

Actual Results:
It takes about 60 sec to undo the table content


Expected Results:
Should be faster than 20 sec


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 25.2.3.2 (X86_64) / LibreOffice Community
Build ID: bbb074479178df812d175f709636b368952c2ce3
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 1 Jessica 2025-05-06 13:22:02 UTC
Attachment 165491 [details] refers to bug 136749
Comment 2 Jessica 2025-05-06 13:22:55 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.
Comment 3 Telesto 2025-05-06 13:35:10 UTC
Do you make use of assistive technology? It appears to be the case based on the  identified commit/commit message
Comment 4 Buovjaga 2025-05-06 13:47:19 UTC
To be exact, the delay is for the UI to become responsive. The table itself appears after a couple of seconds.

The commit says:

'However, `ImplInitAccessBridge` already only gets called
when either support for assistive technology has explicitly
been enabled in the settings (i.e. in "Tools" -> "Options" -> "LibreOfficeDev"
-> "Accessibility", the "Support assistive technology tools (restart
required" checkbox was checked) or...'

...but I don't have any such "Support assistive technology tools" option in master.
Comment 5 Michael Weghorn 2025-05-07 07:03:24 UTC
(In reply to Jessica from comment #2)
> 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.

That sounds like something on your system is requesting information via the accessibility API. Since the above commit, that will automatically enable accessibility in LibreOffice, while that was not the case previously.

I think that by itself is correct, and therefore it's not really a regression, but should have been the same with e.g. NVDA as an actual screen reader enabled earlier.

Can you please check whether explicitly disabling accessibility by setting environment variable SAL_ACCESSIBILITY_ENABLED=0 and restarting results in the additional delay disappearing again?

(In reply to Buovjaga from comment #4)
> The commit says:
> 
> 'However, `ImplInitAccessBridge` already only gets called
> when either support for assistive technology has explicitly
> been enabled in the settings (i.e. in "Tools" -> "Options" ->
> "LibreOfficeDev"
> -> "Accessibility", the "Support assistive technology tools (restart
> required" checkbox was checked) or...'
> 
> ...but I don't have any such "Support assistive technology tools" option in
> master.

That was dropped in 

    commit 069d2c079664cf44fc471216b1204cb71a6362cd
    Author: Michael Weghorn
    Date:   Mon Oct 28 21:12:48 2024 +0100

        win a11y: Drop "Enable AT Tool support" from options UI

, see the commit message for more details.
Comment 6 Buovjaga 2025-05-07 07:52:31 UTC
(In reply to Michael Weghorn from comment #5)
> Can you please check whether explicitly disabling accessibility by setting
> environment variable SAL_ACCESSIBILITY_ENABLED=0 and restarting results in
> the additional delay disappearing again?

In PowerShell you would do this with

pwsh -Command { $env:SAL_ACCESSIBILITY_ENABLED=0; ./instdir/program/soffice.exe }

per https://wiki.documentfoundation.org/Development/Environment_variables#How_to_use_environment_variables
Comment 7 Jessica 2025-05-07 08:20:23 UTC
(In reply to Michael Weghorn from comment #5)
> (In reply to Jessica from comment #2)
> > 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.
> 
> That sounds like something on your system is requesting information via the
> accessibility API. Since the above commit, that will automatically enable
> accessibility in LibreOffice, while that was not the case previously.
> 
> I think that by itself is correct, and therefore it's not really a
> regression, but should have been the same with e.g. NVDA as an actual screen
> reader enabled earlier.
> 
> Can you please check whether explicitly disabling accessibility by setting
> environment variable SAL_ACCESSIBILITY_ENABLED=0 and restarting results in
> the additional delay disappearing again?
> 
> (In reply to Buovjaga from comment #4)
> > The commit says:
> > 
> > 'However, `ImplInitAccessBridge` already only gets called
> > when either support for assistive technology has explicitly
> > been enabled in the settings (i.e. in "Tools" -> "Options" ->
> > "LibreOfficeDev"
> > -> "Accessibility", the "Support assistive technology tools (restart
> > required" checkbox was checked) or...'
> > 
> > ...but I don't have any such "Support assistive technology tools" option in
> > master.
> 
> That was dropped in 
> 
>     commit 069d2c079664cf44fc471216b1204cb71a6362cd
>     Author: Michael Weghorn
>     Date:   Mon Oct 28 21:12:48 2024 +0100
> 
>         win a11y: Drop "Enable AT Tool support" from options UI
> 
> , see the commit message for more details.

Yes, when using the command pwsh -Command { $env:SAL_ACCESSIBILITY_ENABLED=0; ./instdir/program/soffice.exe }, there is no more delay.