Bug 147742 - Assert hit when using UnoControlGrid with screen reader
Summary: Assert hit when using UnoControlGrid with screen reader
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.4.0.0 alpha0+
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.4.0
Keywords:
Depends on:
Blocks: a11y, Accessibility
  Show dependency treegraph
 
Reported: 2022-03-03 10:34 UTC by Michael Weghorn
Modified: 2022-03-09 16:48 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Sample document (11.34 KB, application/vnd.oasis.opendocument.text)
2022-03-03 10:34 UTC, Michael Weghorn
Details
GDB backtrace with first two fixes in place (16.57 KB, text/plain)
2022-03-03 13:46 UTC, Michael Weghorn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Weghorn 2022-03-03 10:34:03 UTC
Created attachment 178634 [details]
Sample document

Steps to reproduce with a debug build of LO master:

0) decrease macro security to e.g. "Medium", so LO asks whether or not to allow macro executation
1) start Orca screen reader on Linux
2) start LO with the gtk3 VCL plugin
3) open attached document "UnoControlGrid.odt" (originally from https://bz.apache.org/ooo/show_bug.cgi?id=125322 )
4) click on "Run the macro"

Result: LO crashes with an assert:

soffice.bin: .../libreoffice/vcl/source/app/dbggui.cxx:35: void ImplDbgTestSolarMutex(): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed.

This is on Debian testing with orca 41.2-1 and

Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: 5b03e07dd21b56e99d6b6b60edec1ed2f388bfc2
CPU threads: 12; OS: Linux 5.16; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: threaded
Comment 1 Michael Weghorn 2022-03-03 10:35:15 UTC
I ran into this while working on something other a11y-related, plan to fix this along the way.
Comment 2 Michael Weghorn 2022-03-03 13:46:16 UTC
Created attachment 178641 [details]
GDB backtrace with first two fixes in place

The initially described issue is fixed with these pending changes:
https://gerrit.libreoffice.org/c/core/+/130924
https://gerrit.libreoffice.org/c/core/+/130925

However, LO still crashes, now showing 

> [Thread 0x7fffe333b640 (LWP 592530) exited]
> warn:legacy.osl:592396:592396:svtools/source/uno/unocontroltablemodel.cxx:159: DefaultTableModel::getColumnModel: invalid index!
> --Type <RET> for more, q to quit, c to continue without paging--
> 
> Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault.

GDB backtrace attached.
Comment 3 Commit Notification 2022-03-04 07:05:09 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/1ccb6dc5bd2aa67f151d590b1aad20cecefaa28c

tdf#147742 a11y: AccessibleGridControlHeader needs SolarMutex

It will be available in 7.4.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 4 Commit Notification 2022-03-04 07:06:17 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#147742 a11y: AccessibleGridControlTable needs SolarMutex

It will be available in 7.4.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 5 Commit Notification 2022-03-04 07:06:25 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/83419f869c33d550a61d260b1b3aef6a00cefc45

tdf#147742 a11y: AccessibleGridControl...: get accessible name on demand

It will be available in 7.4.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 6 Commit Notification 2022-03-04 07:06:33 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#147742 a11y: AccessibleGridControlBase: get accessible desc on demand

It will be available in 7.4.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 7 Commit Notification 2022-03-09 16:48:13 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4e641d9240a981216d6724141b9b7a9e4c63c82a

Related: tdf#147742 a11y: Dispose table cells as well

It will be available in 7.4.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.