This is only reproducible when Orca actually announces what's in the UI with the qt6 VCL plugin, which is currently not always the case (s. step 3)... Steps to reproduce: 1) start the Orca screen reader 2) start Writer 3) perform actions until Orca starts announcing what's there in the UI (clicking around etc. often helps, or pressing F1 without local help being installed to open a dialog box asking whether to go to the online help) 4) press F6 until the formatting toolbar is focused 5) press Tab until the Font Color toolbox item is focused 6) press Space key to open the toolbar popup 7) press Tab twice to move to the list of colors, then move around using the arrow keys 8) press Tab again to move to the recent color list, more around there 9) press Esc to close the toolbar popup 10) close Writer Note: Make sure that Orca announces the colors in steps 7/8. Result: LO crashes with the below backtrace Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 19b8bac2aa59d02968c33ac6f83c66907d5ab94c CPU threads: 12; OS: Linux 6.4; UI render: default; VCL: qt6 (cairo+xcb) Locale: en-GB (en_GB.UTF-8); UI: en-US Calc: threaded > 1 __pthread_kill_implementation pthread_kill.c 44 0x7fe2a2ea80fc > 2 __pthread_kill_internal pthread_kill.c 78 0x7fe2a2ea815f > 3 __GI_raise raise.c 26 0x7fe2a2e5a472 > 4 __GI_abort abort.c 79 0x7fe2a2e444b2 > 5 __assert_fail_base assert.c 92 0x7fe2a2e443d5 > 6 __assert_fail assert.c 101 0x7fe2a2e533a2 > 7 (anonymous namespace)::implLookupClient accessibleeventnotifier.cxx 140 0x7fe2a21138a4 > 8 comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing accessibleeventnotifier.cxx 185 0x7fe2a2113bb8 > 9 VCLXAccessibleListItem::disposing vclxaccessiblelistitem.cxx 164 0x7fe26870cb58 > 10 cppu::WeakAggComponentImplHelperBase::dispose implbase.cxx 230 0x7fe2a1c755e3 > 11 cppu::WeakAggComponentImplHelperBase::release implbase.cxx 204 0x7fe2a1c75312 > 12 cppu::WeakAggComponentImplHelper6<com::sun::star::accessibility::XAccessible, com::sun::star::accessibility::XAccessibleContext, com::sun::star::accessibility::XAccessibleComponent, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleText, com::sun::star::lang::XServiceInfo>::release compbase6.hxx 142 0x7fe26870fc0c > 13 com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>::~Reference Reference.hxx 114 0x7fe28f2428a7 > 14 QtAccessibleWidget::~QtAccessibleWidget QtAccessibleWidget.hxx 39 0x7fe28f262cf9 > 15 QtAccessibleWidget::~QtAccessibleWidget QtAccessibleWidget.hxx 39 0x7fe28f262dd0 > 16 QAccessibleCache::deleteInterface qaccessiblecache.cpp 173 0x7fe28e0c8e4b > 17 QAccessibleCache::~QAccessibleCache qaccessiblecache.cpp 31 0x7fe28e0c845c > 18 QAccessibleCache::~QAccessibleCache qaccessiblecache.cpp 32 0x7fe28e0c84e2 > 19 cleanupAccessibleCache qaccessiblecache.cpp 24 0x7fe28e0c83c8 > 20 qt_call_post_routines qcoreapplication.cpp 327 0x7fe28e9a4593 > 21 QApplication::~QApplication qapplication.cpp 663 0x7fe28cf9dff6 > 22 QApplication::~QApplication qapplication.cpp 717 0x7fe28cf9e2f4 > 23 std::default_delete<QApplication>::operator() unique_ptr.h 99 0x7fe28f2cf3ae > 24 std::__uniq_ptr_impl<QApplication, std::default_delete<QApplication>>::reset unique_ptr.h 211 0x7fe28f2cf7f6 > 25 std::unique_ptr<QApplication, std::default_delete<QApplication>>::reset unique_ptr.h 509 0x7fe28f2cd72d > 26 QtInstance::~QtInstance QtInstance.cxx 273 0x7fe28f2c614f > 27 QtInstance::~QtInstance QtInstance.cxx 274 0x7fe28f2c6226 > 28 DestroySalInstance salplug.cxx 389 0x7fe299a62611 > 29 DeInitVCL svmain.cxx 600 0x7fe299b41226 > 30 ImplSVMain svmain.cxx 229 0x7fe299b3f9f7 > 31 SVMain svmain.cxx 236 0x7fe299b3fa53 > 32 soffice_main sofficemain.cxx 94 0x7fe2a30a1b5d > 33 sal_main main.c 51 0x55c86565c9d4 > 34 main main.c 49 0x55c86565c9ba
Backtrace is similar to the one in tdf#156683, root cause also (a11y objects not haven't been disposed).
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/bfa9d01920e7e042a83627d7fa4e78c70bc7ece5 tdf#157088 a11y: No need to use WeakReference for list children It will be available in 24.2.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/51de048ae97cbd371457dbc07120e30db9ee4187 tdf#157088 a11y: Dispose list items with list It will be available in 24.2.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "libreoffice-7-6": https://git.libreoffice.org/core/commit/f1df57c29aacdd7f56ecd33976c8a6bf6858b918 tdf#157088 a11y: No need to use WeakReference for list children It will be available in 7.6.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "libreoffice-7-6": https://git.libreoffice.org/core/commit/5587c422fa0f8f93849cb2eabbf5594e11819b50 tdf#157088 a11y: Dispose list items with list It will be available in 7.6.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.