Description: Hang pressing Calc button in Start Center with Voice Over enabled (macOS) Steps to Reproduce: 1. Activate Accessibility -> Voice Over 2, Lauch LibreOffice 3. Click Calc button to launch calc Actual Results: Hang Expected Results: No freeze Reproducible: Always User Profile Reset: No Additional Info: Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 8635c9aa8c6f1078a9e220076d5a08daf30077e8 CPU threads: 8; OS: Mac OS X 12.3.1; UI render: Skia/Metal; VCL: osx Locale: nl-NL (nl_NL.UTF-8); UI: en-US Calc: threaded
Confirming. Version: 7.6.0.0.alpha0+ (AARCH64) / LibreOffice Community Build ID: 17a8cb1573c5b75e5b7a6c480e09c681edcc26c0 CPU threads: 8; OS: Mac OS X 13.0.1; UI render: Skia/Metal; VCL: osx Locale: fr-FR (fr_FR.UTF-8); UI: en-US Calc: threaded Enclosing Apple Trace. Looks very similar to previous aqua ally callbacks which caused crashing and which Patrick fixed elsewhere ?
Created attachment 184539 [details] Apple stack trace on hang.
(In reply to Alex Thurgood from comment #1) > Enclosing Apple Trace. > > Looks very similar to previous aqua ally callbacks which caused crashing and > which Patrick fixed elsewhere ? I can also reproduce this hang. Like in your stack trace, I see a hang in the following LibreOffice accessiblity function in the middle of the stack trace: -[AquaA11yTableWrapper rowsAttribute] Everything below that is adding an NSView to the window. A quick look at that code and it looks like it is adding a separate NSView to the window for every cell in a spreadsheet. Adding NSViews is slow so it looks like LibreOffice is working through a huge list of cells. I will have to look deeper at the code as there is a hardcoded 1000 cell limit which would slow, but eventually LibreOffice would unhang. Maybe that limit needs to be drastically lower. I'll post when I have some more data.
Created attachment 184549 [details] A spreadsheet with several thousand cells for testing VoiceOver I think that I have fixed the hang in @ Alex Thurgood's stack trace in the following patch: https://gerrit.libreoffice.org/c/core/+/145245 The patch still needs to be reviewed and tested before it appears in a nightly build, but the patch definitely eliminates the hang when opening a new, empty Calc document for me. Also, I have uploaded a simple Calc spreadsheet with several thousand cells that can be used as a stress test LibreOffice's accessibility code.
Patrick Luby committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/d96c98647511b6c1f1d1d9a969df39f859cc0696 tdf#152648 Handle overflow when multiplying rows and columns 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.
Patrick Luby committed a patch related to this issue. It has been pushed to "libreoffice-7-5": https://git.libreoffice.org/core/commit/7a7a831809fdcf8a25b907ab7f576cb5210d7b47 tdf#152648 Handle overflow when multiplying rows and columns It will be available in 7.5.0.2. 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.
Verified fixed in Version: 7.6.0.0.alpha0+ (AARCH64) / LibreOffice Community Build ID: d2a27ceece84998c686477ffd2073f3516b568a7 CPU threads: 8; OS: Mac OS X 13.0.1; UI render: Skia/Metal; VCL: osx Locale: fr-FR (fr_FR.UTF-8); UI: en-US Calc: threaded Thanks again Patrick !