-
-
Notifications
You must be signed in to change notification settings - Fork 729
Replaced include guards with #pragma once in header files #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thank you for your contribution. We use GitHub as a read-only mirror, so please submit your patch into our own code review system: https://wiki.documentfoundation.org/Development/GetInvolved |
tdf-gerrit
pushed a commit
that referenced
this pull request
Apr 15, 2025
seen on jenkins, where it looks like things are destructing that need to be destructed while the solar mutex is held. Thread 1 (Thread 0x7f41c94fc700 (LWP 2563514)): ^#0 0x00007f41e7b771cb in SfxItemPool::IsInRange(unsigned short) const (this=0x9999999999999999, nWhich=1077) at include/svl/itempool.hxx:332 ^#1 0x00007f41e7b6cd84 in SfxItemPool::getTargetPool(unsigned short) const (this=0x9999999999999999, nWhich=1077) at svl/source/items/itempool.cxx:452 ^#2 0x00007f41e7b6cdd7 in SfxItemPool::getTargetPool(unsigned short) const (this=0x53e0740, nWhich=1077) at svl/source/items/itempool.cxx:455 ^#3 0x00007f41e7b6ce27 in SfxItemPool::CheckItemInfoFlag(unsigned short, unsigned short) const (this=0x53e0740, nWhich=1077, nMask=1) at svl/source/items/itempool.cxx:461 pTarget = 0x7f41c94f7eb0 ^#4 0x00007f41e7bd18a5 in SfxItemPool::NeedsSurrogateSupport(unsigned short) const (this=0x53e0740, nWhich=1077) at include/svl/itempool.hxx:344 ^#5 0x00007f41e7bc407a in SfxItemSet::checkRemovePoolRegistration(SfxPoolItem const*) (this=0x6253bf0, pItem=0x6253dd0) at svl/source/items/itemset.cxx:382 ^#6 0x00007f41e7bc3fc7 in SfxItemSet::ClearSingleItem_PrepareRemove(SfxPoolItem const*) (this=0x6253bf0, pItem=0x6253dd0) at svl/source/items/itemset.cxx:362 ^#7 0x00007f41e7bc3bc0 in SfxItemSet::ClearAllItemsImpl() (this=0x6253bf0) at svl/source/items/itemset.cxx:441 rCandidate = {first = 1077, second = 0x6253dd0} __range1 = std::__debug::unordered_map with 3 elements = {[1077] = 0x6253dd0, [4037] = 0x60b2e30, [1082] = 0x6253d70} __begin1 = {<std::__detail::_Node_iterator_base<std::pair<unsigned short const, SfxPoolItem const*>, false>> = {_M_cur = 0x6253e00}, <No data fields>} __end1 = {<std::__detail::_Node_iterator_base<std::pair<unsigned short const, SfxPoolItem const*>, false>> = {_M_cur = 0x0}, <No data fields>} nRetval = 0 ^#8 0x00007f41e7bc389b in SfxItemSet::~SfxItemSet() (this=0x6253bf0) at svl/source/items/itemset.cxx:316 ^#9 0x00007f41e5ff6ccc in std::_Optional_payload_base<SfxItemSet>::_M_destroy() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:287 ^#10 0x00007f41e5ff6caa in std::_Optional_payload_base<SfxItemSet>::_M_reset() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:318 ^#11 0x00007f41e5ff6db9 in std::_Optional_payload<SfxItemSet, false, false, false>::~_Optional_payload() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:439 ^#12 0x00007f41e5ff6d95 in std::_Optional_base<SfxItemSet, false, false>::~_Optional_base() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:510 ^#13 0x00007f41e5ff4025 in std::optional<SfxItemSet>::~optional() (this=0x6253bf0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/optional:705 ^#14 0x00007f41e62467eb in sdr::properties::DefaultProperties::~DefaultProperties() (this=0x6253be0) at svx/source/sdr/properties/defaultproperties.cxx:92 ^#15 0x00007f41e625061d in sdr::properties::AttributeProperties::~AttributeProperties() (this=0x6253be0) at svx/source/sdr/properties/attributeproperties.cxx:219 ^#16 0x00007f41e624a225 in sdr::properties::TextProperties::~TextProperties() (this=0x6253be0) at svx/source/sdr/properties/textproperties.cxx:78 ^#17 0x00007f41e6241525 in sdr::properties::RectangleProperties::~RectangleProperties() (this=0x6253be0) at svx/source/sdr/properties/rectangleproperties.cxx:38 ^#18 0x00007f41e6241569 in sdr::properties::RectangleProperties::~RectangleProperties() (this=0x6253be0) at svx/source/sdr/properties/rectangleproperties.cxx:37 ^#19 0x00007f41e6429a1c in std::default_delete<sdr::properties::BaseProperties>::operator()(sdr::properties::BaseProperties*) const (this=0x6217e58, __ptr=0x6253be0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:95 ^#20 0x00007f41e642995c in std::__uniq_ptr_impl<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties> >::reset(sdr::properties::BaseProperties*) (this=0x6217e58, __p=0x0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:203 __old_p = 0x6253be0 ^#21 0x00007f41e642612a in std::unique_ptr<sdr::properties::BaseProperties, std::default_delete<sdr::properties::BaseProperties> >::reset(sdr::properties::BaseProperties*) (this=0x6217e58, __p=0x0) at /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unique_ptr.h:501 ^#22 0x00007f41e6414094 in SdrObject::~SdrObject() (this=0x6217d00) at svx/source/svdraw/svdobj.cxx:461 aList = std::__debug::vector of length 0, capacity 1 ^#23 0x00007f41e64121d5 in SdrAttrObj::~SdrAttrObj() (this=0x6217d00) at svx/source/svdraw/svdoattr.cxx:42 ^#24 0x00007f41e64bb91b in SdrTextObj::~SdrTextObj() (this=0x6217d00) at svx/source/svdraw/svdotext.cxx:203 ^#25 0x00007f41e64b6c2f in SdrRectObj::~SdrRectObj() (this=0x6217d00) at svx/source/svdraw/svdorect.cxx:99 ^#26 0x00007f41e6511024 in SdrUnoObj::~SdrUnoObj() (this=0x6217d00) at svx/source/svdraw/svdouno m_xShapeAgg.clear(); .cxx:223 ^#27 0x00007f41e5f56988 in FmFormObj::~FmFormObj() (this=0x6217d00) at svx/source/form/fmobj.cxx:119 ^#28 0x00007f41e5f569d9 in FmFormObj::~FmFormObj() (this=0x6217d00) at svx/source/form/fmobj.cxx:112 ^#29 0x00007f41e64145c6 in SdrObject::release() (this=0x6217d00) at svx/source/svdraw/svdobj.cxx:484 x = 0 ^#30 0x00007f41e62baf29 in rtl::Reference<SdrObject>::clear() (this=0x60e3e78) at include/rtl/ref.hxx:193 pOld = 0x6217d00 ^#31 0x00007f41e683ba73 in SvxShape::~SvxShape() (this=0x60e3ca8) at svx/source/unodraw/unoshape.cxx:197 aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x1502140}, <No data fields>} ^#32 0x00007f41e685637a in SvxShapeText::~SvxShapeText() (this=0x60e3ca8) at svx/source/unodraw/unoshape.cxx:3852 ^#33 0x00007f41e681ac5d in SvxShapeControl::~SvxShapeControl() (this=0x60e3ca0) at svx/source/unodraw/unoshap2.cxx:479 ^#34 0x00007f41e681ace9 in SvxShapeControl::~SvxShapeControl() (this=0x60e3ca0) at svx/source/unodraw/unoshap2.cxx:478 ^#35 0x00007f41ea9f7110 in cppu::OWeakObject::release() (this=0x60e3ca8) at cppuhelper/source/weak.cxx:230 ^#36 0x00007f41ea9f7835 in cppu::OWeakAggObject::release() (this=0x60e3ca8) at cppuhelper/source/weak.cxx:292 x = empty uno::Reference ^#37 0x00007f41e6731dd5 in cppu::WeakAggImplHelper12<com::sun::star::drawing::XShape, com::sun::star::lang::XComponent, com::sun::star::beans::XPropertySet, com::sun::star::beans::XMultiPropertySet, com::sun::star::beans::XPropertyState, com::sun::star::lang::XUnoTunnel, com::sun::star::container::XNamed, com::sun::star::drawing::XGluePointsSupplier, com::sun::star::container::XChild, com::sun::star::lang::XServiceInfo, com::sun::star::document::XActionLockable, com::sun::star::beans::XMultiPropertyStates>::release() (this=0x60e3ca8) at include/cppuhelper/implbase12.hxx:166 ^#38 0x00007f41e6827885 in SvxShapeText::release() (this=0x60e3ca8) at include/svx/unoshape.hxx:358 ^#39 0x00007f41e68270c9 in SvxShapeControl::release() (this=0x60e3ca0) at include/svx/unoshape.hxx:533 ^#40 0x00007f41cbdb121e in com::sun::star::uno::Reference<com::sun::star::uno::XAggregation>::~Reference() (this=0x60b39a0) at include/com/sun/star/uno/Reference.hxx:114 ^#41 0x00007f41cbd9f601 in SwXShape::~SwXShape() (this=0x60b3940) at sw/source/core/unocore/unodraw.cxx:974 aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x1502140}, <No data fields>} ^#42 0x00007f41cbd9f699 in SwXShape::~SwXShape() (this=0x60b3940) at sw/source/core/unocore/unodraw.cxx:963 ^#43 0x00007f41ea9f7110 in cppu::OWeakObject::release() (this=0x60b3940) at cppuhelper/source/weak.cxx:230 ^#44 0x00007f41cbdb3485 in cppu::WeakImplHelper<com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertyState, com::sun::star::text::XTextContent, com::sun::star::lang::XServiceInfo, com::sun::star::lang::XUnoTunnel, com::sun::star::drawing::XShape>::release() (this=0x60b3940) at include/cppuhelper/implbase.hxx:115 ^#45 0x00007f41d2748b6d in bridges::cpp_uno::shared::freeUnoInterfaceProxy(uno_ExtEnvironment*, void*) (pEnv=0x26d0dc0, pProxy=0x610fed0) at bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:42 Change-Id: Id129278ad720095d2ed77271ac2d47ba82ec32c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184199 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
No doubt a prime example of complete and utter incompetence |
tdf-gerrit
pushed a commit
that referenced
this pull request
May 2, 2025
QWidgets may only be created in the GUI/main thread, and that is what happens when processing the .ui file. Therefore, ensure this is always run in the main thread. One case observed where this was not the case was the crash recovery dialog getting created after Impress had crashed due to an assert being hit somewhere in the QtMultimedia library in a non-main thread. Backtrace: (gdb) bt #0 __GI_abort () at ./stdlib/abort.c:91 #1 0x00007fe93850641d in qAbort () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:46 #2 0x00007fe93854dd9a in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2140 #3 0x00007fe938547004 in qt_message (msgType=QtFatalMsg, context=..., msg=0x7fe938ca8ed3 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fe8e27d6f30) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:412 #4 0x00007fe93854934d in QMessageLogger::fatal (this=0x7fe8e27d70d0, msg=0x7fe938ca8ed3 "ASSERT failure in %s: \"%s\", file %s, line %d") at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:901 #5 0x00007fe9385064d3 in qt_assert_x (where=0x7fe936e5576a "QWidget", what=0x7fe936e5580b "Widgets must be created in the GUI thread.", file=0x7fe936e556b4 "/home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp", line=945) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:115 #6 0x00007fe93668477d in QWidgetPrivate::init (this=0x7fe88c19c3f0, parentWidget=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:944 #7 0x00007fe9366845e6 in QWidget::QWidget (this=0x7fe88c003370, dd=..., parent=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:862 #8 0x00007fe936a92cb5 in QDialog::QDialog (this=0x7fe88c003370, parent=0x0, f=...) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:375 #9 0x00007fe93955ed73 in QtBuilder::makeObject (this=0x7fe88c0049f0, pParent=0x0, sName=u"GtkDialog", sType="", sID="DocRecoverySaveDialog", rMap=std::__debug::map with 7 elements = {...}) at vcl/qt6/../qt5/QtBuilder.cxx:213 #10 0x00007fe93955e1a4 in QtBuilder::insertObject (this=0x7fe88c0049f0, pParent=0x0, rClass="GtkDialog", sType="", rID="DocRecoverySaveDialog", rProps=std::__debug::map with 7 elements = {...}) at vcl/qt6/../qt5/QtBuilder.cxx:109 #11 0x00007fe9395742e5 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::handleObject (this=0x7fe88c0049f0, pParent=0x0, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:234 #12 0x00007fe939572c16 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::handleChild (this=0x7fe88c0049f0, pParent=0x0, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #13 0x00007fe939566468 in WidgetBuilder<QObject, QObject*, QMenu, QMenu*>::processUIFile (this=0x7fe88c0049f0, pParent=0x0) at include/vcl/widgetbuilder.hxx:70 #14 0x00007fe93955da70 in QtBuilder::QtBuilder (this=0x7fe88c0049f0, pParent=0x0, sUIRoot=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui") at vcl/qt6/../qt5/QtBuilder.cxx:66 #15 0x00007fe9396117a7 in std::make_unique<QtBuilder, QWidget*&, std::basic_string_view<char16_t, std::char_traits<char16_t> >&, rtl::OUString const&> (__args=@0x7fe8e27d91a0: 0x0, __args=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", __args="svx/ui/docrecoverysavedialog.ui") at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 #16 0x00007fe93960ed69 in QtInstanceBuilder::QtInstanceBuilder (this=0x7fe88c0db2d0, pParent=0x0, sUIRoot=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui") at vcl/qt6/../qt5/QtInstanceBuilder.cxx:52 #17 0x00007fe9395f55a8 in std::make_unique<QtInstanceBuilder, QWidget*&, rtl::OUString const&, rtl::OUString const&> (__args=@0x7fe8e27d92a0: 0x0, __args="file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", __args="svx/ui/docrecoverysavedialog.ui") at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 #18 0x00007fe9395ef490 in QtInstance::CreateBuilder (this=0x56149a5271a0, pParent=0x0, rUIRoot="file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", rUIFile="svx/ui/docrecoverysavedialog.ui") at vcl/qt6/../qt5/QtInstance.cxx:916 #19 0x00007fe9395ef52c in non-virtual thunk to QtInstance::CreateBuilder(weld::Widget*, rtl::OUString const&, rtl::OUString const&) () at /home/michi/development/git/libreoffice/instdir/program/libvclplug_qt6lo.so #20 0x00007fe94160079f in Application::CreateBuilder (pParent=0x0, rUIFile="svx/ui/docrecoverysavedialog.ui", bMobile=false, nLOKWindowId=0) at /home/michi/development/git/libreoffice/vcl/source/window/builder.cxx:204 #21 0x00007fe94208901d in weld::GenericDialogController::GenericDialogController (this=0x7fe88c0095a0, pParent=0x0, rUIFile="svx/ui/docrecoverysavedialog.ui", rDialogId="DocRecoverySaveDialog", bMobile=false) at /home/michi/development/git/libreoffice/vcl/source/app/weldutils.cxx:53 #22 0x00007fe945a1f83d in svx::DocRecovery::SaveDialog::SaveDialog (this=0x7fe88c0095a0, pParent=0x0, pCore=0x7fe88c0dafe0) at /home/michi/development/git/libreoffice/svx/source/dialog/docrecovery.cxx:574 #23 0x00007fe945a35e25 in (anonymous namespace)::RecoveryUI::impl_doEmergencySave (this=0x7fe88c0d4010) at /home/michi/development/git/libreoffice/svx/source/unodraw/recoveryui.cxx:254 #24 0x00007fe945a35b03 in (anonymous namespace)::RecoveryUI::dispatchWithReturnValue (this=0x7fe88c0d4010, aURL=...) at /home/michi/development/git/libreoffice/svx/source/unodraw/recoveryui.cxx:148 #25 0x00007fe945a35ca4 in non-virtual thunk to (anonymous namespace)::RecoveryUI::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libsvxlo.so #26 0x00007fe94af24c4f in desktop::(anonymous namespace)::impl_callRecoveryUI (bEmergencySave=true, bExistsRecoveryData=false) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1057 #27 0x00007fe94af248a1 in desktop::Desktop::Exception (this=0x7ffc5c0f5540, nCategory=ExceptionCategory::System) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1212 #28 0x00007fe9420667fa in VCLExceptionSignal_impl (pInfo=0x7fe8e27d9d88) at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:178 #29 0x00007fe94b2484aa in callSignalHandler (pInfo=0x7fe8e27d9d88) at /home/michi/development/git/libreoffice/sal/osl/all/signalshared.cxx:47 #30 0x00007fe94b2dc3d3 in (anonymous namespace)::signalHandlerFunction (signal=6, info=0x7fe8e27d9fb0, context=0x7fe8e27d9e80) at /home/michi/development/git/libreoffice/sal/osl/unx/signal.cxx:423 #31 0x00007fe94ac49df0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6 #32 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #33 0x00007fe94ac9e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89 #34 0x00007fe94ac49cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #35 0x00007fe94ac324ac in __GI_abort () at ./stdlib/abort.c:73 #36 0x00007fe93850641d in qAbort () at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:46 #37 0x00007fe93854dd9a in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:2140 #38 0x00007fe938547004 in qt_message (msgType=QtFatalMsg, context=..., msg=0x7fe938ca8eb2 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fe8e27dae30) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:412 #39 0x00007fe93854934d in QMessageLogger::fatal (this=0x7fe8e27dafd8, msg=0x7fe938ca8eb2 "ASSERT: \"%s\" in file %s, line %d") at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:901 #40 0x00007fe93850646b in qt_assert (assertion=0x7fe935abd3d7 "subject == PW_ID_CORE", file=0x7fe935abcca8 "/home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp", line=267) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:106 #41 0x00007fe9359e3b3c in QtPipeWire::QAudioContextManager::startListenDefaultMetadata(QtPipeWire::StrongIdType<unsigned int, QtPipeWire::ObjectIdTag>, unsigned int)::$_0::operator()(void*, unsigned int, char const*, char const*, char const*) const (this=0x7fe8e27db0c7, data=0x7fe935c05d10 <QGlobalStatic<QtGlobalStatic::Holder<QtPipeWire::(anonymous namespace)::Q_QGS_s_audioContextInstance> >::instance()::holder>, subject=113, key=0x5614a39ce960 "target.node", type=0x5614a39ce978 "Spa:Id", value=0x5614a39ce988 "-1") at /home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp:267 #42 0x00007fe9359e2ce8 in QtPipeWire::QAudioContextManager::startListenDefaultMetadata(QtPipeWire::StrongIdType<unsigned int, QtPipeWire::ObjectIdTag>, unsigned int)::$_0::__invoke(void*, unsigned int, char const*, char const*, char const*) (data=0x7fe935c05d10 <QGlobalStatic<QtGlobalStatic::Holder<QtPipeWire::(anonymous namespace)::Q_QGS_s_audioContextInstance> >::instance()::holder>, subject=113, key=0x5614a39ce960 "target.node", type=0x5614a39ce978 "Spa:Id", value=0x5614a39ce988 "-1") at /home/michi/development/git/qt5/qtmultimedia/src/multimedia/pipewire/qpipewire_audiocontextmanager.cpp:265 #43 0x00007fe8f1574054 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so #44 0x00007fe8f0d61671 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so #45 0x00007fe8f0d61e08 in ??? () at /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so #46 0x00007fe8f2dd5c46 in ??? () at /usr/lib/x86_64-linux-gnu/spa-0.2/support/libspa-support.so #47 0x00007fe935347b55 in ??? () at /lib/x86_64-linux-gnu/libpipewire-0.3.so.0 #48 0x00007fe94ac9cb7b in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448 #49 0x00007fe94ad1a7b8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Change-Id: I5f9f1f82d8ca76a50872d0b81b67059f78d413fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184896 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
May 10, 2025
Ensure that the QMimeData subclass set for the QDrag used for drag and drop reports at least one supported MIME type. Report a dummy "application/x.libreoffice-internal-drag-and-drop" one if there is no other one. (The string used for the MIME type is of no particular meaning, any value would do.) This prevents the issue seen with qt6 on Wayland that a drag and drop operation is cancelled when no formats/MIME types are reported. The "wl_data_offer" Wayland protocol [1] is probably relevant here: > A wl_data_offer represents a piece of data offered for transfer by > another client (the source client). It is used by the copy-and-paste and > drag-and-drop mechanisms. The offer describes the different mime types > that the data can be converted to and provides the mechanism for > transferring the data directly from the source client. > > (...) > > For objects of version 3 or newer, this request determines the final > result of the drag-and-drop operation. If the end result is that no mime > types were accepted, the drag-and-drop operation will be cancelled and > the corresponding drag source will receive wl_data_source.cancelled. (Further analysis on Qt and Wayland library/protocol level might give more insights, but this is sufficient at least for now.) Example backtrace for how QtWaylandClient::QWaylandDrag::cancel (in Qt's qtwayland module) got called previously when releasing the mouse after dragging a slide to a different position in the Impress slide sorter (on Debian testing in a Plasma Wayland session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev): Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 49 QBasicDrag::cancel(); (gdb) bt #0 QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 #1 0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109 #2 0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101 #3 0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316 #4 0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #5 0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #6 0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #7 0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #8 0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #9 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241 #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301 #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143 #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41 #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770 #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8 #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228 #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113 #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520 #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104 #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186 #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176 #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81 #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248 #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8) at vcl/qt6/../qt5/QtDragAndDrop.cxx:54 #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76 #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050 #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499 #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596 #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660 #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396 #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661 #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947 #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102 #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847 #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640 #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623 #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335 #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700 #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248 #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693 #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330 #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663 #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310 #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235 #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135 #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969 #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513 #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788 #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369 #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669 #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480 #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204 #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521 #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501 #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512 #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680 #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231 #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249 #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
May 14, 2025
Ensure that the QMimeData subclass set for the QDrag used for drag and drop reports at least one supported MIME type. Report a dummy "application/x.libreoffice-internal-drag-and-drop" one if there is no other one. (The string used for the MIME type is of no particular meaning, any value would do.) This prevents the issue seen with qt6 on Wayland that a drag and drop operation is cancelled when no formats/MIME types are reported. The "wl_data_offer" Wayland protocol [1] is probably relevant here: > A wl_data_offer represents a piece of data offered for transfer by > another client (the source client). It is used by the copy-and-paste and > drag-and-drop mechanisms. The offer describes the different mime types > that the data can be converted to and provides the mechanism for > transferring the data directly from the source client. > > (...) > > For objects of version 3 or newer, this request determines the final > result of the drag-and-drop operation. If the end result is that no mime > types were accepted, the drag-and-drop operation will be cancelled and > the corresponding drag source will receive wl_data_source.cancelled. (Further analysis on Qt and Wayland library/protocol level might give more insights, but this is sufficient at least for now.) Example backtrace for how QtWaylandClient::QWaylandDrag::cancel (in Qt's qtwayland module) got called previously when releasing the mouse after dragging a slide to a different position in the Impress slide sorter (on Debian testing in a Plasma Wayland session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev): Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 49 QBasicDrag::cancel(); (gdb) bt #0 QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 #1 0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109 #2 0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101 #3 0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316 #4 0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #5 0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #6 0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #7 0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #8 0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #9 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241 #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301 #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143 #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41 #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770 #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8 #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228 #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113 #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520 #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104 #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186 #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176 #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81 #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248 #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8) at vcl/qt6/../qt5/QtDragAndDrop.cxx:54 #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76 #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050 #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499 #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596 #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660 #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396 #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661 #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947 #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102 #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847 #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640 #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623 #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335 #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700 #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248 #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693 #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330 #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663 #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310 #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235 #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135 #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969 #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513 #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788 #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369 #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669 #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480 #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204 #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521 #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501 #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512 #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680 #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231 #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249 #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 479dd32) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185139 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
tdf-gerrit
pushed a commit
that referenced
this pull request
Jun 10, 2025
Ensure that the QMimeData subclass set for the QDrag used for drag and drop reports at least one supported MIME type. Report a dummy "application/x.libreoffice-internal-drag-and-drop" one if there is no other one. (The string used for the MIME type is of no particular meaning, any value would do.) This prevents the issue seen with qt6 on Wayland that a drag and drop operation is cancelled when no formats/MIME types are reported. The "wl_data_offer" Wayland protocol [1] is probably relevant here: > A wl_data_offer represents a piece of data offered for transfer by > another client (the source client). It is used by the copy-and-paste and > drag-and-drop mechanisms. The offer describes the different mime types > that the data can be converted to and provides the mechanism for > transferring the data directly from the source client. > > (...) > > For objects of version 3 or newer, this request determines the final > result of the drag-and-drop operation. If the end result is that no mime > types were accepted, the drag-and-drop operation will be cancelled and > the corresponding drag source will receive wl_data_source.cancelled. (Further analysis on Qt and Wayland library/protocol level might give more insights, but this is sufficient at least for now.) Example backtrace for how QtWaylandClient::QWaylandDrag::cancel (in Qt's qtwayland module) got called previously when releasing the mouse after dragging a slide to a different position in the Impress slide sorter (on Debian testing in a Plasma Wayland session, kwin-wayland 4:6.3.4-3, Qt self-compiled from git dev): Thread 1 "soffice.bin" hit Breakpoint 1, QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 49 QBasicDrag::cancel(); (gdb) bt #0 QtWaylandClient::QWaylandDrag::cancel (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:49 #1 0x00007fffe479434b in QBasicDrag::eventFilter (this=0x5555555d44d0, o=0x55555e78fb80, e=0x7fffffff3c70) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:109 #2 0x00007fffdf182bb5 in QtWaylandClient::QWaylandDrag::finishDrag (this=0x5555555d44d0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddnd.cpp:101 #3 0x00007fffdf17752e in QtWaylandClient::QWaylandDataDevice::dragSourceCancelled (this=0x5555555dfb60) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatadevice.cpp:316 #4 0x00007fffdf179ff5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff3d70) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #5 0x00007fffdf179f1d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**)::{lambda()#1}&&) (args=0x7fffffff40a0, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #6 0x00007fffdf179e3f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDataDevice::*)()>::call(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #7 0x00007fffdf179db1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDataDevice::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDataDevice::*)(), QtWaylandClient::QWaylandDataDevice*, void**) (f=(void (QtWaylandClient::QWaylandDataDevice::*)(QtWaylandClient::QWaylandDataDevice * const)) 0x7fffdf177500 <QtWaylandClient::QWaylandDataDevice::dragSourceCancelled()>, o=0x5555555dfb60, arg=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #8 0x00007fffdf179cdb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDataDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #9 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x55555e78e0a0, r=0x5555555dfb60, a=0x7fffffff40a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #10 0x00007fffe5329cd4 in doActivate<false> (sender=0x55555782a110, signal_index=3, argv=0x7fffffff40a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4241 #11 0x00007fffe531fec3 in QMetaObject::activate (sender=0x55555782a110, m=0x7fffdf20cb10 <QtWaylandClient::QWaylandDataSource::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4301 #12 0x00007fffdf180206 in QtWaylandClient::QWaylandDataSource::cancelled (this=0x55555782a110) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddatasource_p.cpp:143 #13 0x00007fffdf1801d9 in QtWaylandClient::QWaylandDataSource::data_source_cancelled (this=0x55555782a110) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddatasource.cpp:41 #14 0x00007fffdf14e06e in QtWayland::wl_data_source::handle_cancelled (data=0x55555782a120, object=0x55555e75d680) at /home/michi/development/git/qt5/qtwayland/src/client/qwayland-wayland.cpp:770 #15 0x00007ffff32986ce in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #16 0x00007ffff329797e in ??? () at /lib/x86_64-linux-gnu/libffi.so.8 #17 0x00007ffff32981ab in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8 #18 0x00007fffe6953c91 in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #19 0x00007fffe694fc1f in ??? () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #20 0x00007fffe6950f13 in wl_display_dispatch_queue_pending () at /lib/x86_64-linux-gnu/libwayland-client.so.0 #21 0x00007fffdf0c2fe2 in QtWaylandClient::EventThread::dispatchQueuePending (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:228 #22 0x00007fffdf0b9604 in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5555555e08c0) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:113 #23 0x00007fffdf0afd62 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:520 #24 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff46b0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #25 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0003c18, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #26 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #27 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #28 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #29 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0003c18) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #30 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0003bd0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #31 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #32 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #33 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #34 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #35 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0003bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #36 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #37 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #38 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #39 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #43 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #44 0x00007fffe526a690 in QEventLoop::processEvents (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104 #45 0x00007fffe526a8e3 in QEventLoop::exec (this=0x55555ea18e00, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186 #46 0x00007fffe4794d57 in QBasicDrag::drag (this=0x5555555d44d0, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qsimpledrag.cpp:176 #47 0x00007fffe478a2e8 in QDragManager::drag (this=0x55555e78d700, o=0x55555e762960) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdnd.cpp:81 #48 0x00007fffe478addb in QDrag::exec (this=0x55555e762960, supportedActions=..., defaultDropAction=Qt::MoveAction) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qdrag.cpp:248 #49 0x00007fffe6192d42 in QtDragSource::startDrag (this=0x555557046c00, sourceActions=3 '\003', rTrans=uno::Reference to (SdTransferable *) 0x55555a33bda8, rListener=uno::Reference to (SdTransferable *) 0x55555a33bdb8) at vcl/qt6/../qt5/QtDragAndDrop.cxx:54 #50 0x00007fffe6192f10 in non-virtual thunk to QtDragSource::startDrag(com::sun::star::datatransfer::dnd::DragGestureEvent const&, signed char, int, int, com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> const&, com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDragSourceListener> const&) () at vcl/qt6/../qt5/QtDragAndDrop.cxx:76 #51 0x00007fffee725518 in TransferableHelper::StartDrag (this=0x55555a33bd80, pWindow=0x55555a2528e0, nDnDSourceActions=3 '\003') at /home/michi/development/git/libreoffice/vcl/source/treelist/transfer.cxx:1050 #52 0x00007fff9dbd7ff0 in sd::slidesorter::controller::Clipboard::CreateSlideTransferable (this=0x55555a22d1d0, pWindow=0x55555a2528e0, bDrag=true, bMergeMasterPagesOnly=false) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:499 #53 0x00007fff9dbd9489 in sd::slidesorter::controller::Clipboard::StartDrag (this=0x55555a22d1d0, rPosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsClipboard.cxx:596 #54 0x00007fff9dc1b3ef in sd::slidesorter::SlideSorterViewShell::StartDrag (this=0x55555a21bdc0, rDragPt=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/shell/SlideSorterViewShell.cxx:660 #55 0x00007fff9dbf1366 in sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler::DragAndDropModeHandler (this=0x55555e20cd70, rSlideSorter=..., rSelectionFunction=..., rMousePosition=Point = {...}, pWindow=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1396 #56 0x00007fff9dbf124d in std::_Construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #57 0x00007fff9dbf0e5a in std::allocator_traits<std::allocator<void> >::construct<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__p=0x55555e20cd70, __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #58 std::_Sp_counted_ptr_inplace<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x55555e20cd60, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #59 0x00007fff9dbf0c57 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff65a0, __p=@0x7fffffff6598: 0x0, __a=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #60 0x00007fff9dbf0b7a in std::__shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #61 0x00007fff9dbf0af2 in std::shared_ptr<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler>::shared_ptr<std::allocator<void>, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (this=0x7fffffff6598, __tag=..., __args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #62 0x00007fff9dbee841 in std::make_shared<sd::slidesorter::controller::(anonymous namespace)::DragAndDropModeHandler, sd::slidesorter::SlideSorter&, sd::slidesorter::controller::SelectionFunction&, Point const&, VclPtr<sd::Window>&> (__args=..., __args=..., __args=Point = {...}, __args=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #63 0x00007fff9dbee754 in sd::slidesorter::controller::SelectionFunction::SwitchToDragAndDropMode (this=0x55555a323350, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:661 #64 0x00007fff9dbef8da in sd::slidesorter::controller::SelectionFunction::ModeHandler::StartDrag (this=0x55555ea0d510, rMousePosition=Point = {...}) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:947 #65 0x00007fff9dbf06d4 in sd::slidesorter::controller::(anonymous namespace)::NormalModeHandler::ProcessMotionEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:1102 #66 0x00007fff9dbef62c in sd::slidesorter::controller::SelectionFunction::ModeHandler::ProcessEvent (this=0x55555ea0d510, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:847 #67 0x00007fff9dbee47e in sd::slidesorter::controller::SelectionFunction::ProcessEvent (this=0x55555a323350, rDescriptor=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:640 #68 0x00007fff9dbecea8 in sd::slidesorter::controller::SelectionFunction::ProcessMouseEvent (this=0x55555a323350, nEventType=1024, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:623 #69 0x00007fff9dbecf42 in sd::slidesorter::controller::SelectionFunction::MouseMove (this=0x55555a323350, rEvent=...) at /home/michi/development/git/libreoffice/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx:335 #70 0x00007fff9df19339 in sd::ViewShell::MouseMove (this=0x55555a21bdc0, rMEvt=..., pWin=0x55555a2528e0) at /home/michi/development/git/libreoffice/sd/source/ui/view/viewshel.cxx:700 #71 0x00007fff9df01faa in sd::Window::MouseMove (this=0x55555a2528e0, rMEvt=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/sdwindow.cxx:248 #72 0x00007fffee462270 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEMOVE, bMouseLeave=false, nX=117, nY=328, nMsgTime=16292359, nCode=1, nMode=MouseEventModifiers::DRAGMOVE) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:693 #73 0x00007fffee466675 in ImplHandleSalMouseMove (pWindow=0x555556e035d0, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2330 #74 0x00007fffee465304 in ImplWindowFrameProc (_pWindow=0x555556e035d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2663 #75 0x00007fffe61cbdec in SalFrame::CallCallback (this=0x5555560402d0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/salframe.hxx:310 #76 0x00007fffe61c8a45 in QtFrame::CallCallback (this=0x5555560402c0, nEvent=SalEvent::MouseMove, pEvent=0x7fffffff81b8) at vcl/inc/qt6/../qt5/QtFrame.hxx:235 #77 0x00007fffe62fb633 in QtWidget::mouseMoveEvent (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:135 #78 0x00007fffe32a2ae5 in QWidget::event (this=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8969 #79 0x00007fffe62fd01a in QtWidget::event (this=0x555556dfbdb0, pEvent=0x7fffffff9440) at vcl/qt6/../qt5/QtWidget.cxx:513 #80 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #81 0x00007fffe31e4bf2 in QApplication::notify (this=0x55555556ea60, receiver=0x555556dfbdb0, e=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2788 #82 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #83 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #84 0x00007fffe31e3853 in QApplicationPrivate::sendMouseEvent (receiver=0x555556dfbdb0, event=0x7fffffff9440, alienWidget=0x555556dfbdb0, nativeWidget=0x555556df4450, buttonDown=0x7fffe3dd9488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2369 #85 0x00007fffe32e2ad8 in QWidgetWindow::handleMouseEvent (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669 #86 0x00007fffe32e12f3 in QWidgetWindow::event (this=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 #87 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #88 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555575a7590, e=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #89 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #90 0x00007fffe52511f9 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555575a7590, event=0x7fffffffa518) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1564 #91 0x00007fffe408eb27 in QGuiApplicationPrivate::processMouseEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2480 #92 0x00007fffe408dc76 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55555da09130) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2204 #93 0x00007fffe417628d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #94 0x00007fffe417613e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #95 0x00007fffdf0afd75 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555cd020) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:521 #96 0x00007fffdf0cb1e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffaa20) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #97 0x00007fffdf0cb10d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f38, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #98 0x00007fffdf0cb02f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #99 0x00007fffdf0cafa1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf0afd30 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555cd020, arg=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #100 0x00007fffdf0caecb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #101 0x00007fffe51061d2 in QtPrivate::QSlotObjectBase::call (this=0x5555555f34c0, r=0x5555555cd020, a=0x7fffd0002f38) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #102 0x00007fffe53141cc in QMetaCallEvent::placeMetaCall (this=0x7fffd0002ef0, object=0x5555555cd020) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #103 0x00007fffe5315f21 in QObject::event (this=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #104 0x00007fffe31e2f30 in QApplicationPrivate::notify_helper (this=0x55555557cb40, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3311 #105 0x00007fffe31e6e38 in QApplication::notify (this=0x55555556ea60, receiver=0x5555555cd020, e=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3261 #106 0x00007fffe52504f9 in QCoreApplication::notifyInternal2 (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1110 #107 0x00007fffe5251169 in QCoreApplication::sendEvent (receiver=0x5555555cd020, event=0x7fffd0002ef0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1550 #108 0x00007fffe52520a8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a3f40) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1890 #109 0x00007fffe5250fac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744 #110 0x00007fffe5859481 in postEventSourceDispatch (s=0x5555555ca610) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #111 0x00007fffe9f04345 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #112 0x00007fffe9f06577 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #113 0x00007fffe9f06ce0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #114 0x00007fffe58586bb in QEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #115 0x00007fffe4989c18 in QPAEventDispatcherGlib::processEvents (this=0x55555556f6e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #116 0x00007fffe61ea842 in QtInstance::ImplYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:501 #117 0x00007fffe61edb41 in QtInstance::DoYield (this=0x5555555f9020, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512 #118 0x00007fffeec40736 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #119 0x00007fffeec4004f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #120 0x00007fffeec3fe30 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #121 0x00007ffff7b28bb9 in desktop::Desktop::Main (this=0x7fffffffd650) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1680 #122 0x00007fffeec61f76 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:231 #123 0x00007fffeec63ba9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:249 #124 0x00007ffff7ba306a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #125 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #126 0x00005555555559d7 in main (argc=1, argv=0x7fffffffd858) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_data_offer Change-Id: I41476b2c9330a5a67e7663ac53a5ba57601c4b03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185136 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 479dd32) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185139 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
jrheinlaender
pushed a commit
to jrheinlaender/lo-core
that referenced
this pull request
Jun 26, 2025
Instead of deleting the QDialog owned by the QtInstanceDialog in the QtInstanceDialog dtor right away by calling std::unique_ptr<QDialog>::reset, instead mark the object for deletion by calling QObject::deleteLater [1] on the dialog object, which schedules the object for deletion when control returns to the event loop. Also switch QtInstanceDialog::m_pDialog from a unique_ptr to a plain QDialog*. This fixes crashes seen with the current qtbase git dev branch after qtbase commit commit 84a5f50c7766c99f62b22bb4388137e0aa8dd13d Author: Shawn Rutledge <shawn.rutledge@qt.io> Date: Tue Nov 12 10:04:31 2024 +0100 Move QContextMenuEvent synthesis from QWidgetWindow to QWindow The crash was quite reproducible for me by running LO with the qt6 VCL plugin and SAL_VCL_QT_USE_WELDED_WIDGETS=1 (to enable use of native Qt widgets), opening the "Help" -> "About LibreOfficeDev" dialog and closing it by clicking the "Close" button with the left mouse button. Backtrace of the crash: (rr) bt #0 0x0000000000000000 in ??? () #1 0x000019667a96b92f in QWidgetWindow::handleMouseEvent (this=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:675 LibreOffice#2 0x000019667a96a145 in QWidgetWindow::event (this=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 LibreOffice#3 0x000019667a86fe10 in QApplicationPrivate::notify_helper (this=0x56488e07aae0, receiver=0x5648961bd080, e=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3304 LibreOffice#4 0x000019667a873d2d in QApplication::notify (this=0x56488e067420, receiver=0x5648961bd080, e=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3254 LibreOffice#5 0x00006f736e25acc9 in QCoreApplication::notifyInternal2 (receiver=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1122 LibreOffice#6 0x00006f736e25bb39 in QCoreApplication::sendSpontaneousEvent (receiver=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1578 LibreOffice#7 0x0000555757871f72 in QGuiApplicationPrivate::processMouseEvent (e=0x5f6d64003360) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2485 LibreOffice#8 0x0000555757871136 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x5f6d64003360) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2212 LibreOffice#9 0x0000555757958a4d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 LibreOffice#10 0x00005557579588fe in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 LibreOffice#11 0x0000393946e55875 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x56488e0ca590) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:524 LibreOffice#12 0x0000393946e5a946 in QtWaylandClient::QWaylandDisplay::qt_static_metacall (_o=0x56488e0ca590, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7ffe9cb172a0) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddisplay_p.cpp:95 LibreOffice#13 0x00006f736e331954 in doActivate<false> (sender=0x56488e06c0e0, signal_index=4, argv=0x7ffe9cb172a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4151 LibreOffice#14 0x00006f736e3273e3 in QMetaObject::activate (sender=0x56488e06c0e0, m=0x6f736ec1ec68 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=1, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4199 LibreOffice#15 0x00006f736e243c79 in QAbstractEventDispatcher::awake (this=0x56488e06c0e0) at qtbase/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:129 LibreOffice#16 0x00006f736e84d1e8 in QEventDispatcherGlib::processEvents (this=0x56488e06c0e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:406 LibreOffice#17 0x0000555758154088 in QPAEventDispatcherGlib::processEvents (this=0x56488e06c0e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 LibreOffice#18 0x00006a0d3b6d9b82 in QtInstance::ImplYield (this=0x56488e111bf0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:464 LibreOffice#19 0x00006a0d3b6dcc01 in QtInstance::DoYield (this=0x56488e111bf0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:475 LibreOffice#20 0x00005abe4e4b26e6 in ImplYield (i_bWait=true, i_bAllEvents=false) at vcl/source/app/svapp.cxx:385 LibreOffice#21 0x00005abe4e4b207f in Application::Yield () at vcl/source/app/svapp.cxx:473 LibreOffice#22 0x00005abe4e4b1e60 in Application::Execute () at vcl/source/app/svapp.cxx:360 LibreOffice#23 0x00004759668eccab in desktop::Desktop::Main (this=0x7ffe9cb18ec8) at desktop/source/app/app.cxx:1679 LibreOffice#24 0x00005abe4e4d3bc6 in ImplSVMain () at vcl/source/app/svmain.cxx:230 LibreOffice#25 0x00005abe4e4d57b9 in SVMain () at vcl/source/app/svmain.cxx:248 LibreOffice#26 0x00004759669665da in soffice_main () at desktop/source/app/sofficemain.cxx:121 LibreOffice#27 0x000056486abf0a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 LibreOffice#28 0x000056486abf0a47 in main (argc=1, argv=0x7ffe9cb190d8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 The segfault happens when calling d->maybeSynthesizeContextMenuEvent(event); , i.e the virtual QWindowPrivate::maybeSynthesizeContextMenuEvent. This is because the QWidgetWindow object and its QWidgetPrivate have already been deleted when processing an earlier event triggered by the mouse click, see backtrace below. Not deleting the object right away but marking it for deletion later makes sure the object is still valid when the event gets processed, and then deleted afterwards. Backtrace of how the QWindowPrivate object got deleted earlier (reverse-debugged with rr) - see frame 17 for the dtor (i.e. the code that was adjusted in this commit now to fix the problem): Thread 1 hit Breakpoint 1.1, QWindowPrivate::~QWindowPrivate (this=0x564896397450) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:211 211 QWindowPrivate::~QWindowPrivate() (rr) p this $6 = (QWindowPrivate *) 0x564896397450 (rr) bt #0 QWindowPrivate::~QWindowPrivate (this=0x564896397450) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:211 #1 0x000019667a96f039 in QWidgetWindowPrivate::~QWidgetWindowPrivate (this=0x564896397450) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:34 LibreOffice#2 0x000019667a96f05d in QWidgetWindowPrivate::~QWidgetWindowPrivate (this=0x564896397450) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:34 LibreOffice#3 0x00006f736e33a7e8 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=0x564896397450) at qtbase/src/corelib/tools/qscopedpointer.h:24 LibreOffice#4 0x00006f736e32e134 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x5648961bd088) at qtbase/src/corelib/tools/qscopedpointer.h:81 LibreOffice#5 0x00006f736e31cdb2 in QObject::~QObject (this=0x5648961bd080) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1149 LibreOffice#6 0x00005557579435ec in QWindow::~QWindow (this=0x5648961bd080) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindow.cpp:206 LibreOffice#7 0x000019667a969be6 in QWidgetWindow::~QWidgetWindow (this=0x5648961bd080) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:179 LibreOffice#8 0x000019667a969c2d in QWidgetWindow::~QWidgetWindow (this=0x5648961bd080) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:160 LibreOffice#9 0x000019667a915351 in QWidgetPrivate::deleteTLSysExtra (this=0x564894d40bf0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:1711 LibreOffice#10 0x000019667a914f86 in QWidget::destroy (this=0x56488f3e8100, destroyWindow=true, destroySubWindows=true) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:12612 LibreOffice#11 0x000019667a914504 in QWidget::~QWidget (this=0x56488f3e8100) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:1565 LibreOffice#12 0x000019667ad11705 in QDialog::~QDialog (this=0x56488f3e8100) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:394 LibreOffice#13 0x000019667ad1174d in QDialog::~QDialog (this=0x56488f3e8100) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:386 LibreOffice#14 0x00006a0d3b71e358 in std::default_delete<QDialog>::operator() (this=0x5648963f9fb0, __ptr=0x56488f3e8100) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:93 LibreOffice#15 0x00006a0d3b71e478 in std::__uniq_ptr_impl<QDialog, std::default_delete<QDialog> >::reset (this=0x5648963f9fb0, __p=0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:205 LibreOffice#16 0x00006a0d3b71e40d in std::unique_ptr<QDialog, std::default_delete<QDialog> >::reset (this=0x5648963f9fb0, __p=0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:504 LibreOffice#17 0x00006a0d3b71b550 in QtInstanceDialog::~QtInstanceDialog()::$_0::operator()() const (this=0x7ffe9cb13630) at vcl/qt6/../qt5/QtInstanceDialog.cxx:30 LibreOffice#18 0x00006a0d3b71b525 in std::__invoke_impl<void, QtInstanceDialog::~QtInstanceDialog()::$_0&>(std::__invoke_other, QtInstanceDialog::~QtInstanceDialog()::$_0&) (__f=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:61 LibreOffice#19 0x00006a0d3b71b4d5 in std::__invoke_r<void, QtInstanceDialog::~QtInstanceDialog()::$_0&>(QtInstanceDialog::~QtInstanceDialog()::$_0&) (__fn=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:111 LibreOffice#20 0x00006a0d3b71b3fd in std::_Function_handler<void(), QtInstanceDialog::~QtInstanceDialog()::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:290 LibreOffice#21 0x00006a0d3b6e278e in std::function<void()>::operator() (this=0x7ffe9cb13630) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:591 LibreOffice#22 0x00006a0d3b6da31a in QtInstance::RunInMainThread (this=0x56488e111bf0, func=...) at vcl/qt6/../qt5/QtInstance.cxx:226 LibreOffice#23 0x00006a0d3b71947b in QtInstanceDialog::~QtInstanceDialog (this=0x5648963f9f90, vtt=0x6a0d3b98fec8 <VTT for QtInstanceDialog>) at vcl/qt6/../qt5/QtInstanceDialog.cxx:30 LibreOffice#24 0x00006a0d3b7195a0 in QtInstanceDialog::~QtInstanceDialog (this=0x5648963f9f90) at vcl/qt6/../qt5/QtInstanceDialog.cxx:28 LibreOffice#25 0x00006a0d3b7196a9 in QtInstanceDialog::~QtInstanceDialog (this=0x5648963f9f90) at vcl/qt6/../qt5/QtInstanceDialog.cxx:28 LibreOffice#26 0x00005abe4e4746f8 in std::default_delete<weld::Dialog>::operator() (this=0x564896171890, __ptr=0x5648963fa1f8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:93 LibreOffice#27 0x00005abe4e4faefd in std::_Sp_counted_deleter<weld::Dialog*, std::default_delete<weld::Dialog>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x564896171880) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:527 LibreOffice#28 0x00005abe4da1978a in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x564896171880) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:346 LibreOffice#29 0x00005abe4da19706 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x5648961a7cb8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1069 LibreOffice#30 0x00005abe4db3d6e9 in std::__shared_ptr<weld::Dialog, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x5648961a7cb0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1525 LibreOffice#31 0x00005abe4db2e905 in std::shared_ptr<weld::Dialog>::~shared_ptr (this=0x5648961a7cb0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:175 LibreOffice#32 0x00005abe4e4f6a7b in weld::GenericDialogController::~GenericDialogController (this=0x5648961a7c90) at vcl/source/app/weldutils.cxx:58 LibreOffice#33 0x000000444e3b8ce9 in AboutDialog::~AboutDialog (this=0x5648961a7c90) at cui/source/dialogs/about.cxx:142 LibreOffice#34 0x000000444e5787b6 in std::destroy_at<AboutDialog> (__location=0x5648961a7c90) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88 LibreOffice#35 0x000000444e578795 in std::_Destroy<AboutDialog> (__pointer=0x5648961a7c90) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149 LibreOffice#36 0x000000444e57862f in std::allocator_traits<std::allocator<void> >::destroy<AboutDialog> (__p=0x5648961a7c90) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:708 LibreOffice#37 std::_Sp_counted_ptr_inplace<AboutDialog, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x5648961a7c80) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:616 LibreOffice#38 0x00006a0d3b661e5a in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use (this=0x5648961a7c80) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:175 LibreOffice#39 0x00006a0d3b661e35 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold (this=0x5648961a7c80) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:199 LibreOffice#40 0x00006a0d3b661e11 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x5648961a7c80) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:353 LibreOffice#41 0x00006a0d3b661cf6 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7ffe9cb13a30) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1069 LibreOffice#42 0x00006a0d3b71ea39 in std::__shared_ptr<weld::DialogController, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7ffe9cb13a28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1525 LibreOffice#43 0x00006a0d3b71da14 in std::__shared_ptr<weld::DialogController, (__gnu_cxx::_Lock_policy)2>::reset (this=0x7ffe9cb13ae8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1643 LibreOffice#44 0x00006a0d3b71ae1c in QtInstanceDialog::dialogFinished (this=0x5648963f9f90, nResult=7) at vcl/qt6/../qt5/QtInstanceDialog.cxx:198 LibreOffice#45 0x00006a0d3b71e9a6 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QtInstanceDialog::*)(int)>::call(void (QtInstanceDialog::*)(int), QtInstanceDialog*, void**)::{lambda()#1}::operator()() const (this=0x7ffe9cb13bd0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 LibreOffice#46 0x00006a0d3b71e8c9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QtInstanceDialog::*)(int)>::call(void (QtInstanceDialog::*)(int), QtInstanceDialog*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QtInstanceDialog::*)(int)>::call(void (QtInstanceDialog::*)(int), QtInstanceDialog*, void**)::{lambda()#1}&&) (args=0x7ffe9cb13fa0, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 LibreOffice#47 0x00006a0d3b71e803 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<int>, void, void (QtInstanceDialog::*)(int)>::call (f=&virtual QtInstanceDialog::dialogFinished(int), o=0x5648963f9f90, arg=0x7ffe9cb13fa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 LibreOffice#48 0x00006a0d3b71e77d in QtPrivate::FunctionPointer<void (QtInstanceDialog::*)(int)>::call<QtPrivate::List<int>, void> (f=&virtual QtInstanceDialog::dialogFinished(int), o=0x5648963f9f90, arg=0x7ffe9cb13fa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #49 0x00006a0d3b71e6a6 in QtPrivate::QCallableObject<void (QtInstanceDialog::*)(int), QtPrivate::List<int>, void>::impl (which=1, this_=0x5648961544d0, r=0x5648963f9f90, a=0x7ffe9cb13fa0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #50 0x00006f736e271f82 in QtPrivate::QSlotObjectBase::call (this=0x5648961544d0, r=0x5648963f9f90, a=0x7ffe9cb13fa0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #51 0x00006f736e331854 in doActivate<false> (sender=0x56488f3e8100, signal_index=7, argv=0x7ffe9cb13fa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4139 #52 0x00006f736e3273e3 in QMetaObject::activate (sender=0x56488f3e8100, m=0x19667b4289a8 <QDialog::staticMetaObject>, local_signal_index=0, argv=0x7ffe9cb13fa0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4199 #53 0x000019667a86520b in QMetaObject::activate<void, int> (sender=0x56488f3e8100, mo=0x19667b4289a8 <QDialog::staticMetaObject>, local_signal_index=0, ret=0x0, args=@0x7ffe9cb13fe4: 7) at qtbase/src/corelib/kernel/qobjectdefs.h:306 #54 0x000019667ad11f28 in QDialog::finished (this=0x56488f3e8100, _t1=7) at qtbase/src/widgets/Widgets_autogen/include/moc_qdialog.cpp:191 #55 0x000019667ad11e55 in QDialog::done (this=0x56488f3e8100, r=7) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:617 #56 0x00006a0d3b71b173 in QtInstanceDialog::handleButtonClick (rDialog=..., rButton=...) at vcl/qt6/../qt5/QtInstanceDialog.cxx:226 #57 0x00006a0d3b658b0c in QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0::operator()() const (this=0x5648961351a0) at vcl/qt6/../qt5/QtBuilder.cxx:528 #58 0x00006a0d3b658ae8 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_v--Type <RET> for more, q to quit, c to continue without paging-- iew<char, std::char_traits<char> >)::$_0>::call(QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0&, void**)::{lambda()#1}::operator()() const (this=0x7ffe9cb14370) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:116 #59 0x00006a0d3b658ac9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0>::call(QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0&, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0>::call(QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0&, void**)::{lambda()#1}&&) (args=0x7ffe9cb146d0, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #60 0x00006a0d3b658a92 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0>::call(QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0&, void**) (f=..., arg=0x7ffe9cb146d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:115 #61 0x00006a0d3b658a41 in QtPrivate::FunctorCallable<QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0>::call<QtPrivate::List<>, void>(QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0&, void*, void**) (f=..., arg=0x7ffe9cb146d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:337 #62 0x00006a0d3b6589e8 in QtPrivate::QCallableObject<QtBuilder::tweakInsertedChild(QObject*, QObject*, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)::$_0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x564896135190, r=0x56488f3e8100, a=0x7ffe9cb146d0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:547 #63 0x00006f736e271f82 in QtPrivate::QSlotObjectBase::call (this=0x564896135190, r=0x56488f3e8100, a=0x7ffe9cb146d0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #64 0x00006f736e331854 in doActivate<false> (sender=0x56489581c360, signal_index=9, argv=0x7ffe9cb146d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4139 #65 0x00006f736e3273e3 in QMetaObject::activate (sender=0x56489581c360, m=0x19667b414930 <QAbstractButton::staticMetaObject>, local_signal_index=2, argv=0x7ffe9cb146d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4199 #66 0x000019667a86538b in QMetaObject::activate<void, bool> (sender=0x56489581c360, mo=0x19667b414930 <QAbstractButton::staticMetaObject>, local_signal_index=2, ret=0x0, args=@0x7ffe9cb14717: false) at qtbase/src/corelib/kernel/qobjectdefs.h:306 #67 0x000019667aab4f52 in QAbstractButton::clicked (this=0x56489581c360, _t1=false) at qtbase/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:253 #68 0x000019667aab4e67 in QAbstractButtonPrivate::emitClicked (this=0x564893f024d0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:381 #69 0x000019667aab4cc1 in QAbstractButtonPrivate::click (this=0x564893f024d0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:374 #70 0x000019667aab616f in QAbstractButton::mouseReleaseEvent (this=0x56489581c360, e=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:976 #71 0x000019667a92c6fd in QWidget::event (this=0x56489581c360, event=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8971 #72 0x000019667aab5f8c in QAbstractButton::event (this=0x56489581c360, e=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qabstractbutton.cpp:933 #73 0x000019667ac2dfb1 in QPushButton::event (this=0x56489581c360, e=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qpushbutton.cpp:684 #74 0x000019667a86fe10 in QApplicationPrivate::notify_helper (this=0x56488e07aae0, receiver=0x56489581c360, e=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3304 #75 0x000019667a871ae2 in QApplication::notify (this=0x56488e067420, receiver=0x56489581c360, e=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2781 #76 0x00006f736e25acc9 in QCoreApplication::notifyInternal2 (receiver=0x56489581c360, event=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1122 #77 0x00006f736e25bb39 in QCoreApplication::sendSpontaneousEvent (receiver=0x56489581c360, event=0x7ffe9cb15ad0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1578 #78 0x000019667a870737 in QApplicationPrivate::sendMouseEvent (receiver=0x56489581c360, event=0x7ffe9cb15ad0, alienWidget=0x56489581c360, nativeWidget=0x56488f3e8100, buttonDown=0x19667b45b488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2362 #79 0x000019667a96b8bb in QWidgetWindow::handleMouseEvent (this=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:664 #80 0x000019667a96a145 in QWidgetWindow::event (this=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 #81 0x000019667a86fe10 in QApplicationPrivate::notify_helper (this=0x56488e07aae0, receiver=0x5648961bd080, e=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3304 #82 0x000019667a873d2d in QApplication::notify (this=0x56488e067420, receiver=0x5648961bd080, e=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3254 #83 0x00006f736e25acc9 in QCoreApplication::notifyInternal2 (receiver=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1122 #84 0x00006f736e25bb39 in QCoreApplication::sendSpontaneousEvent (receiver=0x5648961bd080, event=0x7ffe9cb16b98) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1578 #85 0x0000555757871f72 in QGuiApplicationPrivate::processMouseEvent (e=0x5f6d64003360) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2485 #86 0x0000555757871136 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x5f6d64003360) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2212 #87 0x0000555757958a4d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #88 0x00005557579588fe in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #89 0x0000393946e55875 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x56488e0ca590) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:524 #90 0x0000393946e5a946 in QtWaylandClient::QWaylandDisplay::qt_static_metacall (_o=0x56488e0ca590, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7ffe9cb172a0) at qtwayland/src/client/WaylandClient_autogen/include/moc_qwaylanddisplay_p.cpp:95 #91 0x00006f736e331954 in doActivate<false> (sender=0x56488e06c0e0, signal_index=4, argv=0x7ffe9cb172a0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4151 #92 0x00006f736e3273e3 in QMetaObject::activate (sender=0x56488e06c0e0, m=0x6f736ec1ec68 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=1, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4199 #93 0x00006f736e243c79 in QAbstractEventDispatcher::awake (this=0x56488e06c0e0) at qtbase/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:129 #94 0x00006f736e84d1e8 in QEventDispatcherGlib::processEvents (this=0x56488e06c0e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:406 #95 0x0000555758154088 in QPAEventDispatcherGlib::processEvents (this=0x56488e06c0e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #96 0x00006a0d3b6d9b82 in QtInstance::ImplYield (this=0x56488e111bf0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:464 #97 0x00006a0d3b6dcc01 in QtInstance::DoYield (this=0x56488e111bf0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:475 #98 0x00005abe4e4b26e6 in ImplYield (i_bWait=true, i_bAllEvents=false) at vcl/source/app/svapp.cxx:385 #99 0x00005abe4e4b207f in Application::Yield () at vcl/source/app/svapp.cxx:473 #100 0x00005abe4e4b1e60 in Application::Execute () at vcl/source/app/svapp.cxx:360 #101 0x00004759668eccab in desktop::Desktop::Main (this=0x7ffe9cb18ec8) at desktop/source/app/app.cxx:1679 #102 0x00005abe4e4d3bc6 in ImplSVMain () at vcl/source/app/svmain.cxx:230 #103 0x00005abe4e4d57b9 in SVMain () at vcl/source/app/svmain.cxx:248 #104 0x00004759669665da in soffice_main () at desktop/source/app/sofficemain.cxx:121 #105 0x000056486abf0a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #106 0x000056486abf0a47 in main (argc=1, argv=0x7ffe9cb190d8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84a5f50c7766c99f62b22bb4388137e0aa8dd13d Change-Id: I3f547c1b1c1581d2f3ae092f2034d930640b0f48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179312 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit 4b547f1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179325 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
jrheinlaender
pushed a commit
to jrheinlaender/lo-core
that referenced
this pull request
Jun 26, 2025
Fix crash with the backtrace below when opening sample doc attachment 198795 from tdf#164885 with macros enabled when using the qt6 VCL plugin. sfx2::SfxNotebookBar::StateMethod (frame 80) calls SystemWindow::SetNotebookBar (frame 79) which calls ImplBorderWindow::SetNotebookBar (frame 78) which first disposes and clears the existing ImplBorderWindow::mpNotebookBar and then creates a new one. However, calling the NotebookBar ctor triggers a recursive call to sfx2::SfxNotebookBar::StateMethod and SystemWindow::SetNotebookBar again (see frame 4). When that one calls SystemWindow::SetNotebookBar, it skips the logic to set a new NoteBookbar, but the following call to the getter SystemWindow::GetNotebookBar returns null, because the previous ImplBorderWindow::SetNotebookBar (in frame 78, s. above) hasn't finished yet. For now, prevent such recursion from happening by returning early in sfx2::SfxNotebookBar::StateMethod if the NoteBookBar is already in the process of getting set up. Thread 1 received signal SIGSEGV, Segmentation fault. 0x00007f3030de3eb5 in std::__uniq_ptr_impl<WindowImpl, std::default_delete<WindowImpl> >::_M_ptr (this=0x8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:193 193 pointer _M_ptr() const noexcept { return std::get<0>(_M_t); } (rr) bt #0 0x00007f3030de3eb5 in std::__uniq_ptr_impl<WindowImpl, std::default_delete<WindowImpl> >::_M_ptr (this=0x8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:193 #1 0x00007f3030de3e95 in std::unique_ptr<WindowImpl, std::default_delete<WindowImpl> >::get (this=0x8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:465 LibreOffice#2 0x00007f3030e1c6e5 in std::unique_ptr<WindowImpl, std::default_delete<WindowImpl> >::operator bool (this=0x8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:482 LibreOffice#3 0x00007f30310a1c67 in vcl::Window::Show (this=0x0, bVisible=true, nFlags=ShowFlags::NONE) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:2193 LibreOffice#4 0x00007f3036cabbf2 in sfx2::SfxNotebookBar::StateMethod (pSysWindow=0x561c07f14910, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, rUIFile=u"modules/swriter/ui/", bReloadNotebookbar=false) at /home/michi/development/git/libreoffice/sfx2/source/notebookbar/SfxNotebookBar.cxx:524 LibreOffice#5 0x00007f3036cab110 in sfx2::SfxNotebookBar::StateMethod (rBindings=..., rUIFile=u"modules/swriter/ui/", bReloadNotebookbar=false) at /home/michi/development/git/libreoffice/sfx2/source/notebookbar/SfxNotebookBar.cxx:422 LibreOffice#6 0x00007f300b7bc406 in SwDocShell::GetState (this=0x561c07140db0, rSet=SfxItemSet of pool 0x561c07b742c0 with parent 0x0 and Which ranges: [(10338, 10338)]) at /home/michi/development/git/libreoffice/sw/source/uibase/app/docsh.cxx:1117 LibreOffice#7 0x00007f300b7bb7cd in SfxStubSwDocShellGetState (pShell=0x561c07140db0, rSet=SfxItemSet of pool 0x561c07b742c0 with parent 0x0 and Which ranges: [(10338, 10338)]) at workdir/SdiTarget/sw/sdi/swslots.hxx:1427 LibreOffice#8 0x00007f3036822a3a in SfxShell::GetSlotState (this=0x561c07140db0, nSlotId=10338, pIF=0x561c0add4a90, pStateSet=0x0) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:492 LibreOffice#9 0x00007f30367d1278 in SfxDispatcher::QueryState (this=0x561c0b151ec0, nSlot=10338, rState=...) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:2030 LibreOffice#10 0x00007f30367cc4e0 in SfxDispatcher::Update_Impl (this=0x561c0b151ec0, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1135 LibreOffice#11 0x00007f303682374e in DispatcherUpdate_Impl (pArg=0x561c0b151ec0) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:662 LibreOffice#12 0x00007f303349e861 in Link<void*, void>::Call (this=0x561c0b87eae0, data=0x561c0b151ec0) at include/tools/link.hxx:105 LibreOffice#13 0x00007f30334fb3c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x561c0b87eae0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 LibreOffice#14 0x00007f30334fb31d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x561c0b87eae0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 LibreOffice#15 0x00007f30310c86c1 in Link<void*, void>::Call (this=0x561c0b8811c8, data=0x0) at include/tools/link.hxx:105 LibreOffice#16 0x00007f30310c48c1 in ImplHandleUserEvent (pSVEvent=0x561c0b8811c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 LibreOffice#17 0x00007f30310c17ea in ImplWindowFrameProc (_pWindow=0x561c07e19360, nEvent=SalEvent::UserEvent, pEvent=0x561c0b8811c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 LibreOffice#18 0x00007f3026f5523c in SalFrame::CallCallback (this=0x561c07b6bb80, nEvent=SalEvent::UserEvent, pEvent=0x561c0b8811c0) at vcl/inc/salframe.hxx:311 LibreOffice#19 0x00007f3026f75d7f in QtInstance::ProcessEvent (this=0x561c066f4840, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:527 LibreOffice#20 0x00007f30317c879d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffd6c8cf850) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 LibreOffice#21 0x00007f30317c8676 in SalUserEventList::DispatchUserEvents (this=0x561c066f4878, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 LibreOffice#22 0x00007f3026f727c1 in QtInstance::ImplYield (this=0x561c066f4840, bWait=false, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:453 LibreOffice#23 0x00007f3026f758e1 in QtInstance::DoYield (this=0x561c066f4840, bWait=false, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:475 LibreOffice#24 0x00007f3031893896 in ImplYield (i_bWait=false, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 LibreOffice#25 0x00007f30318934ab in Application::Reschedule (i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:409 LibreOffice#26 0x00007f303736f734 in SbiRuntime::Step (this=0x561c0b2b4e50) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:778 LibreOffice#27 0x00007f30372638c9 in (anonymous namespace)::RunInitGuard::run (this=0x7ffd6c8d0810) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1017 LibreOffice#28 0x00007f303726262d in SbModule::Run (this=0x561c0e7f98c0, pMeth=0x561c0d8d6080) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1177 LibreOffice#29 0x00007f3037261b41 in SbModule::Notify (this=0x561c0e7f98c0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:775 LibreOffice#30 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c0e851df0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 LibreOffice#31 0x00007f303726879b in SbMethod::Broadcast (this=0x561c0e851d20, nHintId=SfxHintId::BasicDataWanted) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:2115 LibreOffice#32 0x00007f30373b2a65 in SbxObject::Call (this=0x561c0e53fa50, rName="interceptor_queryDispatch", pParam=0x561c0cea64d0) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxobj.cxx:273 LibreOffice#33 0x00007f30371fa7a6 in StarBASIC::Call (this=0x561c0e53fa50, rName="interceptor_queryDispatch", pParam=0x561c0cea64d0) at /home/michi/development/git/libreoffice/basic/source/classes/sb.cxx:1318 LibreOffice#34 0x00007f303722eeb5 in (anonymous namespace)::BasicAllListener_Impl::firing_impl (this=0x561c0e891750, Event=..., pRet=0x7ffd6c8d1218) at /home/michi/development/git/libreoffice/basic/source/classes/sbunoobj.cxx:3852 LibreOffice#35 0x00007f303722e9c1 in (anonymous namespace)::BasicAllListener_Impl::approveFiring (this=0x561c0e891750, Event=...) at /home/michi/development/git/libreoffice/basic/source/classes/sbunoobj.cxx:3882 LibreOffice#36 0x00007f303722eb1c in non-virtual thunk to (anonymous namespace)::BasicAllListener_Impl::approveFiring(com::sun::star::script::AllEventObject const&) () at /home/michi/development/git/libreoffice/instdir/program/libsblo.so LibreOffice#37 0x00007f303722f5b8 in (anonymous namespace)::InvocationToAllListenerMapper::invoke (this=0x561c0e891280, FunctionName="queryDispatch", Params=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/basic/source/classes/sbunoobj.cxx:4002 LibreOffice#38 0x00007f303722f8e4 in non-virtual thunk to (anonymous namespace)::InvocationToAllListenerMapper::invoke(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) () at /home/michi/development/git/libreoffice/instdir/program/libsblo.so LibreOffice#39 0x00007f30237370ed in gcc3::callVirtualMethod (pThis=0x561c0e8912a8, nVtableIndex=4, pRegisterReturn=0x7ffd6c8d1480, pReturnTypeRef=0x561c0670f930, bSimpleReturn=false, pStack=0x7ffd6c8d14a0, nStack=0, pGPR=0x7ffd6c8d1790, pFPR=0x7ffd6c8d1750) at /home/michi/development/git/libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:87 LibreOffice#40 0x00007f3023735e5b in cpp_call (pThis=0x561c0e8915b0, aVtableSlot=..., pReturnTypeRef=0x561c0670f930, nParams=4, pParams=0x561c0e891c80, pUnoReturn=0x7ffd6c8d19f0, pUnoArgs=0x7ffd6c8d1a20, ppUnoExc=0x7ffd6c8d19d0) at /home/michi/development/git/libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:229 LibreOffice#41 0x00007f3023735626 in unoInterfaceProxyDispatch (pUnoI=0x561c0e8915b0, pMemberDescr=0x561c0e893b50, pReturn=0x7ffd6c8d19f0, pArgs=0x7ffd6c8d1a20, ppException=0x7ffd6c8d19d0) at /home/michi/development/git/libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:409 LibreOffice#42 0x00007f30112ef6f2 in stoc_invadp::(anonymous namespace)::AdapterImpl::invoke (this=0x561c0e893aa0, pMemberType=0x561c0e8964c0, pReturn=0x7ffd6c8d1b40, pArgs=0x7ffd6c8d1ae0, ppException=0x7ffd6c8d1c70) at /home/michi/development/git/libreoffice/stoc/source/invocation_adapterfactory/iafactory.cxx:456 LibreOffice#43 0x00007f30112eea48 in stoc_invadp::adapter_dispatch (pUnoI=0x561c0e8923f0, pMemberType=0x561c0e8964c0, pReturn=0x7ffd6c8d1b40, pArgs=0x7ffd6c8d1ae0, ppException=0x7ffd6c8d1c70) at /home/michi/development/git/libreoffice/stoc/source/invocation_adapterfactory/iafactory.cxx:604 LibreOffice#44 0x00007f3023723fdb in cpp2uno_call (pThis=0x561c0e895580, pMemberTypeDescr=0x561c0e8964c0, pReturnTypeRef=0x561c082efdb0, nParams=3, pParams=0x561c0e8951c0, gpreg=0x7ffd6c8d2398, fpreg=0x7ffd6c8d23a0, ovrflw=0x7ffd6c8d23f0, pRegisterReturn=0x7ffd6c8d2350) at /home/michi/development/git/libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:190 LibreOffice#45 0x00007f30237237f5 in cpp_vtable_call (nFunctionIndex=3, nVtableOffset=0, gpreg=0x7ffd6c8d2370, fpreg=0x7ffd6c8d23a0, ovrflw=0x7ffd6c8d23f0, pRegisterReturn=0x7ffd6c8d2350) at /home/michi/development/git/libreoffice/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:388 LibreOffice#46 0x00007f30237457a6 in privateSnippetExecutor () at /home/michi/development/git/libreoffice/instdir/program/libgcc3_uno.so LibreOffice#47 0x00007f303784bf19 in framework::InterceptionHelper::queryDispatch (this=0x561c07eea430, aURL=..., sTargetFrameName="", nSearchFlags=0) at /home/michi/development/git/libreoffice/framework/source/dispatch/interceptionhelper.cxx:87 LibreOffice#48 0x00007f303784c03c in non-virtual thunk to framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #49 0x00007f3037a04d31 in (anonymous namespace)::XFrameImpl::queryDispatch (this=0x561c07ef7d40, aURL=..., sTargetFrameName="", nSearchFlags=0) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2332 #50 0x00007f3037a08b3c in non-virtual thunk to (anonymous namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #51 0x00007f30336b4d74 in svt::ToolboxController::bindListener (this=0x561c0e74d190) at /home/michi/development/git/libreoffice/svtools/source/uno/toolboxcontroller.cxx:513 #52 0x00007f30336b4987 in svt::ToolboxController::update (this=0x561c0e74d190) at /home/michi/development/git/libreoffice/svtools/source/uno/toolboxcontroller.cxx:235 #53 0x00007f3036cfff76 in sfx2::sidebar::ControllerFactory::CreateImageController (rxFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, rxParentWindow=uno::Reference to (VCLXToolBox *) 0x561c0cea66b0) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/ControllerFactory.cxx:49 #54 0x00007f3036cf3f71 in sfx2::sidebar::SidebarToolBox::SidebarToolBox (this=0x561c0e74bba0, vtt=0x7f3036ed3bd0 <VTT for sfx2::sidebar::(anonymous namespace)::NotebookbarToolBox+8>, pParentWindow=0x561c0e790ca0) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarToolBox.cxx:75 #55 0x00007f3036cf6688 in sfx2::sidebar::(anonymous namespace)::NotebookbarToolBox::NotebookbarToolBox (this=0x561c0e74bba0, pParentWindow=0x561c0e790ca0) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarToolBox.cxx:318 #56 0x00007f3036cf6312 in VclPtrInstance<sfx2::sidebar::(anonymous namespace)::NotebookbarToolBox>::VclPtrInstance<VclPtr<vcl::Window> const&> (this=0x7ffd6c8d2e80, arg=...) at include/vcl/vclptr.hxx:280 #57 0x00007f3036cf6242 in makeNotebookbarToolBox (rRet=..., pParent=..., rMap=std::__debug::map with 7 elements = {...}) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarToolBox.cxx:336 #58 0x00007f3030e685dc in VclBuilder::makeObject (this=0x561c0e6fad80, pParent=0x561c0e790ca0, name="sfxlo-NotebookbarToolBox", id="SectionBottom", rMap=std::__debug::map with 7 elements = {...}) at /home/michi/development/git/libreoffice/vcl/source/window/builder.cxx:1991 #59 0x00007f3030e6dd6e in VclBuilder::insertObject (this=0x561c0e6fad80, pParent=0x561c0e790ca0, rClass="sfxlo-NotebookbarToolBox", rID="SectionBottom", rProps=std::__debug::map with 7 elements = {...}, rPango=std::__debug::map with 0 elements, rAtk=std::__debug::map with 0 elements) at /home/michi/development/git/libreoffice/vcl/source/window/builder.cxx:2309 #60 0x00007f3030ebcaba in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0e790ca0, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:234 #61 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0e790ca0, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #62 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0e0b7e00, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #63 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0e0b7e00, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #64 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0e0b7d10, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #65 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0e0b7d10, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #66 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0e75b7b0, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #67 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0e75b7b0, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #68 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0d9b1f20, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #69 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0d9b1f20, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #70 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0c2d0930, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #71 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0c2d0930, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #72 0x00007f3030ebcb92 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleObject (this=0x561c0e6fad80, pParent=0x561c0c2d0930, pAtkProps=0x0, reader=..., sType="", sInternalChild="", bToolbarItem=false) at include/vcl/widgetbuilder.hxx:237 #73 0x00007f3030ebb52d in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::handleChild (this=0x561c0e6fad80, pParent=0x561c0c2d0930, pAtkProps=0x0, reader=..., bToolbarItem=false) at include/vcl/widgetbuilder.hxx:131 #74 0x00007f3030e7dd88 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu> >::processUIFile (this=0x561c0e6fad80, pParent=0x561c0c2d0930) at include/vcl/widgetbuilder.hxx:70 #75 0x00007f3030e598af in VclBuilder::VclBuilder (this=0x561c0e6fad80, pParent=0x561c0c2d0930, sUIDir=u"file:///home/michi/development/git/libreoffice/instdir/program/../share/config/soffice.cfg/", sUIFile="modules/swriter/ui/notebookbar.ui", sID="", xFrame=empty uno::Reference, bLegacy=true, pNotebookBarAddonsItem=0x7ffd6c8da430) at /home/michi/development/git/libreoffice/vcl/source/window/builder.cxx:531 #76 0x00007f30311c39d2 in NotebookBar::NotebookBar (this=0x561c0c2d0930, pParent=0x561c07ed3110, rID="NotebookBar", rUIXMLDescription="modules/swriter/ui/notebookbar.ui", rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, aNotebookBarAddonsItem=...) at /home/michi/development/git/libreoffice/vcl/source/control/notebookbar.cxx:100 #77 0x00007f3030e3eae4 in VclPtr<NotebookBar>::Create<ImplBorderWindow*, char const (&) [12], rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, NotebookBarAddonsItem const&> (arg=@0x7ffd6c8da0b8: 0x561c07ed3110, arg=..., arg="modules/swriter/ui/notebookbar.ui", arg=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, arg=...) at include/vcl/vclptr.hxx:129 #78 0x00007f3030e3ca45 in ImplBorderWindow::SetNotebookBar (this=0x561c07ed3110, rUIXMLDescription="modules/swriter/ui/notebookbar.ui", rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, aNotebookBarAddonsItem=...) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1945 #79 0x00007f30310372ac in SystemWindow::SetNotebookBar (this=0x561c07f14910, rUIXMLDescription="modules/swriter/ui/notebookbar.ui", rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, aNotebookBarAddonsItem=..., bReloadNotebookbar=true) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:916 #80 0x00007f3036cabba1 in sfx2::SfxNotebookBar::StateMethod (pSysWindow=0x561c07f14910, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, rUIFile=u"modules/swriter/ui/", bReloadNotebookbar=true) at /home/michi/development/git/libreoffice/sfx2/source/notebookbar/SfxNotebookBar.cxx:522 #81 0x00007f3036cab110 in sfx2::SfxNotebookBar::StateMethod (rBindings=..., rUIFile=u"modules/swriter/ui/", bReloadNotebookbar=true) at /home/michi/development/git/libreoffice/sfx2/source/notebookbar/SfxNotebookBar.cxx:422 #82 0x00007f3036cad6a2 in sfx2::SfxNotebookBar::ReloadNotebookBar (sUIPath=u"modules/swriter/ui/") at /home/michi/development/git/libreoffice/sfx2/source/notebookbar/SfxNotebookBar.cxx:683 #83 0x00007f3036e36b9b in SfxViewFrame::Notify (this=0x561c0b023e80, rHint=...) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:1574 #84 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c07140db0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #85 0x00007f303665e339 in (anonymous namespace)::SfxEventAsyncer_Impl::IdleHdl (this=0x561c0c330660, pAsyncIdle=0x561c0c3318b0) at /home/michi/development/git/libreoffice/sfx2/source/appl/appcfg.cxx:109 #86 0x00007f303665dead in (anonymous namespace)::SfxEventAsyncer_Impl::LinkStubIdleHdl (instance=0x561c0c330660, data=0x561c0c3318b0) at /home/michi/development/git/libreoffice/sfx2/source/appl/appcfg.cxx:102 #87 0x00007f30318b9641 in Link<Timer*, void>::Call (this=0x561c0c3318d0, data=0x561c0c3318b0) at include/tools/link.hxx:105 #88 0x00007f30318b94ac in Timer::Invoke (this=0x561c0c3318b0) at /home/michi/development/git/libreoffice/vcl/source/app/timer.cxx:75 #89 0x00007f30318680b8 in Scheduler::CallbackTaskScheduling () at /home/michi/development/git/libreoffice/vcl/source/app/scheduler.cxx:509 #90 0x00007f302703fad2 in SalTimer::CallCallback (this=0x561c07960ba0) at vcl/inc/saltimer.hxx:53 #91 0x00007f302703ef6a in QtTimer::timeoutActivated (this=0x561c07960b90) at vcl/qt6/../qt5/QtTimer.cxx:51 #92 0x00007f30270400a1 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtTimer::*)()>::call(void (QtTimer::*)(), QtTimer*, void**)::{lambda()#1}::operator()() const (this=0x7ffd6c8dd310) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtTimer::*)()>::call(void (QtTimer::*)(), QtTimer*, void**)::{lambda()#1}&&) (args=0x7ffd6c8dd6d0, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #94 0x00007f302703ff0b in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtTimer::*)()>::call(void (QtTimer::*)(), QtTimer*, void**) (f=(void (QtTimer::*)(QtTimer * const)) 0x7f302703ee70 <QtTimer::timeoutActivated()>, o=0x561c07960b90, arg=0x7ffd6c8dd6d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #95 0x00007f302703fe8d in QtPrivate::FunctionPointer<void (QtTimer::*)()>::call<QtPrivate::List<>, void>(void (QtTimer::*)(), QtTimer*, void**) (f=(void (QtTimer::*)(QtTimer * const)) 0x7f302703ee70 <QtTimer::timeoutActivated()>, o=0x561c07960b90, arg=0x7ffd6c8dd6d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #96 0x00007f302703fdb6 in QtPrivate::QCallableObject<void (QtTimer::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561c07961090, r=0x561c07960b90, a=0x7ffd6c8dd6d0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #97 0x00007f302605fc52 in QtPrivate::QSlotObjectBase::call (this=0x561c07961090, r=0x561c07960b90, a=0x7ffd6c8dd6d0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #98 0x00007f302611e6e4 in doActivate<false> (sender=0x561c07960bb0, signal_index=3, argv=0x7ffd6c8dd6d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4128 #99 0x00007f30261141b3 in QMetaObject::activate (sender=0x561c07960bb0, m=0x7f3026a10b18 <QTimer::staticMetaObject>, local_signal_index=0, argv=0x7ffd6c8dd6d0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4188 #100 0x00007f302614bb9b in QMetaObject::activate<void, QTimer::QPrivateSignal> (sender=0x561c07960bb0, mo=0x7f3026a10b18 <QTimer::staticMetaObject>, local_signal_index=0, ret=0x0, args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:306 #101 0x00007f302614a3d5 in QTimer::timeout (this=0x561c07960bb0, _t1=...) at qtbase/src/corelib/Core_autogen/include/moc_qtimer.cpp:182 #102 0x00007f302614a38f in QTimer::timerEvent (this=0x561c07960bb0, e=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qtimer.cpp:285 #103 0x00007f302610aef6 in QObject::event (this=0x561c07960bb0, e=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1404 #104 0x00007f3023fe2dc0 in QApplicationPrivate::notify_helper (this=0x561c06676ae0, receiver=0x561c07960bb0, e=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 #105 0x00007f3023fe6cdd in QApplication::notify (this=0x561c06663e20, receiver=0x561c07960bb0, e=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3255 #106 0x00007f3026049dc9 in QCoreApplication::notifyInternal2 (receiver=0x561c07960bb0, event=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 #107 0x00007f302604aa39 in QCoreApplication::sendEvent (receiver=0x561c07960bb0, event=0x7ffd6c8de470) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1552 #108 0x00007f30263dd90f in QTimerInfoList::activateTimers (this=0x561c066eff30) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426 #109 0x00007f302663b565 in timerSourceDispatch (source=0x561c066efed0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:152 #110 0x00007f302663b844 in idleTimerSourceDispatch (source=0x561c066eff70) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:199 #111 0x00007f302cd0b81f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #112 0x00007f302cd0da57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #113 0x00007f302cd0e1c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #114 0x00007f302663a30b in QEventDispatcherGlib::processEvents (this=0x561c06667e80, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #115 0x00007f3025776a98 in QPAEventDispatcherGlib::processEvents (this=0x561c06667e80, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #116 0x00007f3026063980 in QEventLoop::processEvents (this=0x7ffd6c8de888, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:104 #117 0x00007f3026063bd3 in QEventLoop::exec (this=0x7ffd6c8de888, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:186 #118 0x00007f3024483eb7 in QDialog::exec (this=0x561c0e897c80) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:575 #119 0x00007f3026fe0cfb in QtInstanceMessageDialog::run (this=0x561c0e7811b0) at vcl/qt6/../qt5/QtInstanceMessageDialog.cxx:159 #120 0x00007f30373468c0 in SbRtl_MsgBox (rPar=...) at /home/michi/development/git/libreoffice/basic/source/runtime/methods.cxx:4242 #121 0x00007f3037327ca2 in SbiStdObject::Notify (this=0x561c0e785e70, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/basic/source/runtime/stdobj.cxx:1103 #122 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c0e7b5620, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #123 0x00007f30373c7ad4 in SbxVariable::Broadcast (this=0x561c0e856200, nHintId=SfxHintId::BasicDataWanted) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvar.cxx:154 #124 0x00007f30373c04fd in SbxValue::SbxValue (this=0x561c0c2d1e10, vtt=0x7f30373eb6d0 <VTT for SbxMethod+16>, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvalue.cxx:68 #125 0x00007f30373c6674 in SbxVariable::SbxVariable (this=0x561c0c2d1e10, vtt=0x7f30373eb6c8 <VTT for SbxMethod+8>, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvar.cxx:48 #126 0x00007f30373b6f4a in SbxMethod::SbxMethod (this=0x561c0c2d1e10, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxobj.cxx:842 #127 0x00007f303737782a in SbiRuntime::FindElement (this=0x561c0e890580, pObj=0x561c0e785e70, nOp1=32786, nOp2=2, nNotFound=..., bLocal=false, bStatic=false) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:3701 #128 0x00007f303736ab71 in SbiRuntime::StepRTL (this=0x561c0e890580, nOp1=32786, nOp2=2) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:4124 #129 0x00007f303736fa77 in SbiRuntime::Step (this=0x561c0e890580) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:808 #130 0x00007f30372638c9 in (anonymous namespace)::RunInitGuard::run (this=0x7ffd6c8df5d0) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1017 #131 0x00007f303726262d in SbModule::Run (this=0x561c0e7f98c0, pMeth=0x561c0e886740) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1177 #132 0x00007f3037261b41 in SbModule::Notify (this=0x561c0e7f98c0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:775 #133 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c0e850ce0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #134 0x00007f303726879b in SbMethod::Broadcast (this=0x561c0e850d60, nHintId=SfxHintId::BasicDataWanted) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:2115 #135 0x00007f30373c04fd in SbxValue::SbxValue (this=0x561c0e87af00, vtt=0x7f30373eb6d0 <VTT for SbxMethod+16>, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvalue.cxx:68 #136 0x00007f30373c6674 in SbxVariable::SbxVariable (this=0x561c0e87af00, vtt=0x7f30373eb6c8 <VTT for SbxMethod+8>, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvar.cxx:48 #137 0x00007f30373b6f4a in SbxMethod::SbxMethod (this=0x561c0e87af00, r=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxobj.cxx:842 #138 0x00007f303737782a in SbiRuntime::FindElement (this=0x561c0e854db0, pObj=0x561c0e7f98c0, nOp1=32775, nOp2=0, nNotFound=..., bLocal=true, bStatic=false) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:3701 #139 0x00007f3037378e95 in SbiRuntime::StepFIND_Impl (this=0x561c0e854db0, pObj=0x561c0e7f98c0, nOp1=32775, nOp2=0, nNotFound=..., bStatic=false) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:4134 #140 0x00007f303736ac0d in SbiRuntime::StepFIND (this=0x561c0e854db0, nOp1=32775, nOp2=0) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:4140 #141 0x00007f303736fa77 in SbiRuntime::Step (this=0x561c0e854db0) at /home/michi/development/git/libreoffice/basic/source/runtime/runtime.cxx:808 #142 0x00007f30372638c9 in (anonymous namespace)::RunInitGuard::run (this=0x7ffd6c8e04d0) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1017 #143 0x00007f303726262d in SbModule::Run (this=0x561c0e7f98c0, pMeth=0x561c0e8544a0) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:1177 #144 0x00007f3037261b41 in SbModule::Notify (this=0x561c0e7f98c0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:775 #145 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c0e850490, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #146 0x00007f303726879b in SbMethod::Broadcast (this=0x561c0e84e6b0, nHintId=SfxHintId::BasicDataWanted) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:2115 #147 0x00007f30373c0ef3 in SbxValue::Get (this=0x561c0e84e6b0, rRes=...) at /home/michi/development/git/libreoffice/basic/source/sbx/sbxvalue.cxx:290 #148 0x00007f303726848b in SbMethod::Call (this=0x561c0e84e6b0, pRet=0x561c0e854c20, pCaller=0x0) at /home/michi/development/git/libreoffice/basic/source/classes/sbxmod.cxx:2071 #149 0x00007f301134bcfe in basprov::BasicScriptImpl::invoke (this=0x561c0e807880, aParams=uno::Sequence of length 1 = {...}, aOutParamIndex=empty uno::Sequence, aOutParam=empty uno::Sequence) at /home/michi/development/git/libreoffice/scripting/source/basprov/basscript.cxx:262 #150 0x00007f301134c4ac in non-virtual thunk to basprov::BasicScriptImpl::invoke(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, com::sun::star::uno::Sequence<short>&, com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) () at /home/michi/development/git/libreoffice/instdir/program/../program/libbasprovlo.so #151 0x00007f3011258dc7 in scripting_protocolhandler::ScriptProtocolHandler::dispatchWithNotification (this=0x561c0b213f70, aURL=..., lArgs=uno::Sequence of length 1 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/scripting/source/protocolhandler/scripthandler.cxx:213 #152 0x00007f301125a2ef in scripting_protocolhandler::ScriptProtocolHandler::dispatch (this=0x561c0b213f70, aURL=..., lArgs=uno::Sequence of length 1 = {...}) at /home/michi/development/git/libreoffice/scripting/source/protocolhandler/scripthandler.cxx:286 #153 0x00007f3036cbe0ff in SfxEvents_Impl::Execute (aProperties=uno::Sequence of length 2 = {...}, aTrigger=..., pDoc=0x561c07140db0) at /home/michi/development/git/libreoffice/sfx2/source/notify/eventsupplier.cxx:268 #154 0x00007f3036cbe474 in SfxEvents_Impl::documentEventOccured (this=0x561c0b104010, aEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/notify/eventsupplier.cxx:293 #155 0x00007f3036c40e77 in (anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent>::operator() (this=0x7ffd6c8e27c0, listener=uno::Reference to (SfxEvents_Impl *) 0x561c0b104040) at /home/michi/development/git/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3335 #156 0x00007f3036c31e05 in comphelper::OInterfaceContainerHelper3<com::sun::star::document::XDocumentEventListener>::forEach<(anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XDocumentEventListener, com::sun::star::document::DocumentEvent> > (this=0x561c0a9accf8, func=...) at include/comphelper/interfacecontainer3.hxx:275 #157 0x00007f3036c31553 in SfxBaseModel::postEvent_Impl (this=0x561c0adc4440, aName="OnViewCreated", xController=uno::Reference to (SwXTextView *) 0x561c0b116e18, supplement=uno::Any(void)) at /home/michi/development/git/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3369 #158 0x00007f3036c30a7d in SfxBaseModel::Notify (this=0x561c0adc4440, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3002 #159 0x00007f3035d51a4c in SfxBroadcaster::Broadcast (this=0x561c07140db0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #160 0x00007f303665db14 in SfxApplication::NotifyEvent (this=0x561c07e29130, rEventHint=..., bSynchron=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/appcfg.cxx:343 #161 0x00007f3036e057ee in SfxBaseController::attachFrame (this=0x561c0b116df0, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:536 #162 0x00007f3036dd6519 in utl::ConnectFrameControllerModel (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, xController=uno::Reference to (SwXTextView *) 0x561c0b116e18, xModel=uno::Reference to (SwXTextDocument *) 0x561c0adc44d0) at include/unotools/fcm.hxx:57 #163 0x00007f3036dd2b21 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SwXTextDocument *) 0x561c0adc44d0, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585 #164 0x00007f3036dd00bc in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x561c07efffa0, rArgs=uno::Sequence of length 12 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x561c07ef7db0) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764 #165 0x00007f30379c3004 in framework::LoadEnv::impl_loadContent (this=0x561c078f1e18) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180 #166 0x00007f30379c0165 in framework::LoadEnv::start (this=0x561c078f1e18) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415 #167 0x00007f30379bde12 in framework::LoadEnv::startLoading (this=0x561c078f1e18, sURL="file:///tmp/hyperlink.fodt", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x561c079aab88, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatures::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311 #168 0x00007f3037856cd1 in framework::LoadDispatcher::impl_dispatch (this=0x561c078f1dc0, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107 #169 0x00007f3037857a31 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x561c078f1dc0, rURL=..., lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #170 0x00007f3037857ad4 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #171 0x00007f3038e10e00 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x561c079aab78, sURL="file:///tmp/hyperlink.fodt", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62 #172 0x00007f303a774d3d in desktop::DispatchWatcher::executeDispatchRequests (this=0x561c082f00b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529 #173 0x00007f303a79307a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347 #174 0x00007f303a72d937 in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2203 #175 0x00007f303a72b8c3 in desktop::Desktop::OpenClients_Impl (this=0x7ffd6c8eaae0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979 #176 0x00007f303a729f5d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffd6c8eaae0, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963 #177 0x00007f30310c86c1 in Link<void*, void>::Call (this=0x561c07f3e718, data=0x0) at include/tools/link.hxx:105 #178 0x00007f30310c48c1 in ImplHandleUserEvent (pSVEvent=0x561c07f3e710) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #179 0x00007f30310c17ea in ImplWindowFrameProc (_pWindow=0x561c07e19360, nEvent=SalEvent::UserEvent, pEvent=0x561c07f3e710) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #180 0x00007f3026f5523c in SalFrame::CallCallback (this=0x561c07b6bb80, nEvent=SalEvent::UserEvent, pEvent=0x561c07f3e710) at vcl/inc/salframe.hxx:311 #181 0x00007f3026f75d7f in QtInstance::ProcessEvent (this=0x561c066f4840, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:527 #182 0x00007f30317c879d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffd6c8e8f20) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #183 0x00007f30317c8676 in SalUserEventList::DispatchUserEvents (this=0x561c066f4878, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #184 0x00007f3026f727c1 in QtInstance::ImplYield (this=0x561c066f4840, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:453 #185 0x00007f3026f758e1 in QtInstance::DoYield (this=0x561c066f4840, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:475 #186 0x00007f3031893896 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #187 0x00007f30318931af in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #188 0x00007f3031892f90 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #189 0x00007f303a727f39 in desktop::Desktop::Main (this=0x7ffd6c8eaae0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #190 0x00007f30318b4d16 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #191 0x00007f30318b6909 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #192 0x00007f303a7a181a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #193 0x0000561bdaf4ba6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #194 0x0000561bdaf4ba47 in main (argc=2, argv=0x7ffd6c8eace8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: Ie10498c60554783b33aaa03070eebd8252ed9561 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180951 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 5797e54) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180971 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
jrheinlaender
pushed a commit
to jrheinlaender/lo-core
that referenced
this pull request
Jun 26, 2025
When opening the popup menu by right-clicking on a Writer comment and selecting "Delete All Comments", the SwAnnotationWin (`mrSidebarWin`) gets disposed while the popup menu and its associated MenuFloatingWindow are still alive. With the menu floating window being a child of the SwAnnotationWin, that would trigger the below assert since commit 6708246 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Dec 5 11:06:48 2024 +0000 tdf#164093 tdf#157001 a11y: Improve menu window disposal Avoid disposing parent window before its child by not using the SwAnnotationWin, but its parent as the popup menu parent. warn:legacy.osl:64828:64828:vcl/source/window/window.cxx:307: Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow() Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow() [New Thread 64828.64829] [New Thread 64828.64830] [New Thread 64828.64831] [New Thread 64828.64832] [New Thread 64828.64833] [New Thread 64828.64835] Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f580ac9de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 LibreOffice#2 0x00007f580ac49d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 LibreOffice#3 0x00007f580ac324f0 in __GI_abort () at ./stdlib/abort.c:79 LibreOffice#4 0x00007f5801fbc2cb in SalAbort (rErrorText="Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403 LibreOffice#5 0x00007f5802087961 in Application::Abort (rErrorText="Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300 LibreOffice#6 0x00007f580188bba8 in vcl::Window::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308 LibreOffice#7 0x00007f5801902216 in Control::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:61 LibreOffice#8 0x00007f58019552cc in InterimItemWindow::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/control/InterimItemWindow.cxx:54 LibreOffice#9 0x00007f57ca8fb980 in sw::annotation::SwAnnotationWin::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/AnnotationWin.cxx:189 LibreOffice#10 0x00007f5801b06ee3 in VclReferenceBase::disposeOnce (this=0x55711f0667e8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38 LibreOffice#11 0x00007f57ca939d52 in VclPtr<sw::annotation::SwAnnotationWin>::disposeAndClear (this=0x5571205dc3e0) at include/vcl/vclptr.hxx:207 LibreOffice#12 0x00007f57ca9260b5 in SwPostItMgr::RemoveItem (this=0x55711a340eb0, pBroadcast=0x55711fe07bb0) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:529 LibreOffice#13 0x00007f57ca926662 in SwPostItMgr::Notify (this=0x55711a340eb0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:595 LibreOffice#14 0x00007f5806551a4c in SfxBroadcaster::Broadcast (this=0x55711fe07bb0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 LibreOffice#15 0x00007f57ca0e62c9 in SwpHints::DeleteAtPos (this=0x5571215061d0, nPos=0) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/thints.cxx:3440 LibreOffice#16 0x00007f57ca0b31d1 in SwTextNode::EraseText (this=0x55711a2d3070, rIdx=SwContentIndex (node 9 offset 4), nCount=1, nMode=SwInsertFlags::DEFAULT) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/ndtxt.cxx:2877 LibreOffice#17 0x00007f57ca0b501d in SwTextNode::EraseText (this=0x55711a2d3070, rIdx=SwPosition (node 9, offset 4), nCount=1, nMode=SwInsertFlags::DEFAULT) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/ndtxt.cxx:2837 LibreOffice#18 0x00007f57ca1494c2 in SwUndoDelete::SaveContent (this=0x557121daf110, pStart=0x7ffcf6391340, pEnd=0x7ffcf6391388, pSttTextNd=0x55711a2d3070, pEndTextNd=0x55711a2d3070) at /home/michi/development/git/libreoffice/sw/source/core/undo/undel.cxx:476 LibreOffice#19 0x00007f57ca147457 in SwUndoDelete::SwUndoDelete (this=0x557121daf110, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection, bFullPara=false, bCalledByTableCpy=false) at /home/michi/development/git/libreoffice/sw/source/core/undo/undel.cxx:264 LibreOffice#20 0x00007f57c97e72e8 in std::make_unique<SwUndoDelete, SwPaM&, SwDeleteFlags const&> (__args=SwPaM = {...}, __args=@0x7ffcf6391214: SwDeleteFlags::ArtificialSelection) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 LibreOffice#21 0x00007f57c97d79a1 in sw::DocumentContentOperationsManager::DeleteRangeImplImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4574 LibreOffice#22 0x00007f57c97bf899 in sw::DocumentContentOperationsManager::DeleteRangeImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4500 LibreOffice#23 0x00007f57c97c2cf9 in sw::DocumentContentOperationsManager::DeleteAndJoinImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4471 LibreOffice#24 0x00007f57c97bfc2d in (anonymous namespace)::lcl_DoWithBreaks (rDocumentContentOperations=..., rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection, pFunc=(bool (sw::DocumentContentOperationsManager::*)(class sw::DocumentContentOperationsManager * const, class SwPaM &, enum SwDeleteFlags)) 0x7f57c97c2cb0 <sw::DocumentContentOperationsManager::DeleteAndJoinImpl(SwPaM&, SwDeleteFlags)>) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:686 LibreOffice#25 0x00007f57c97c1773 in sw::DocumentContentOperationsManager::DeleteAndJoin (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:2377 LibreOffice#26 0x00007f57c9a7ef97 in SwEditShell::DeleteSel (this=0x55711b0054e0, rPam=SwPaM = {...}, isArtificialSelection=true, goLeft=false, pUndo=0x7ffcf6391d9f) at /home/michi/development/git/libreoffice/sw/source/core/edit/eddel.cxx:122 LibreOffice#27 0x00007f57c9a7f538 in SwEditShell::Delete (this=0x55711b0054e0, isArtificialSelection=true, goLeft=false) at /home/michi/development/git/libreoffice/sw/source/core/edit/eddel.cxx:164 LibreOffice#28 0x00007f57cae1c83b in SwWrtShell::DelRight (this=0x55711b0054e0, isReplaceHeuristic=false) at /home/michi/development/git/libreoffice/sw/source/uibase/wrtsh/delete.cxx:419 LibreOffice#29 0x00007f57ca930aaa in SwPostItMgr::Delete (this=0x55711a340eb0) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:1770 LibreOffice#30 0x00007f57caa8d050 in SwAnnotationShell::NoteExec (this=0x55711eef12c0, rReq=...) at /home/michi/development/git/libreoffice/sw/source/uibase/shells/annotsh.cxx:1170 LibreOffice#31 0x00007f57caa8cf15 in SfxStubSwAnnotationShellNoteExec (pShell=0x55711eef12c0, rReq=...) at workdir/SdiTarget/sw/sdi/swslots.hxx:19464 LibreOffice#32 0x00007f5806fc9fbe in SfxDispatcher::Call_Impl (this=0x55711ae7d3b0, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:255 LibreOffice#33 0x00007f5806fce446 in SfxDispatcher::Execute_ (this=0x55711ae7d3b0, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:754 LibreOffice#34 0x00007f5806fb6c8e in SfxBindings::Execute_Impl (this=0x55711de05e80, aReq=..., pSlot=0x7f57caf33a18 <aSwAnnotationShellSlots_Impl+8712>, pShell=0x55711eef12c0) at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1045 LibreOffice#35 0x00007f580709d8bd in SfxDispatchController_Impl::dispatch (this=0x55711e141080, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:735 LibreOffice#36 0x00007f580709c374 in SfxOfficeDispatch::dispatch (this=0x55711e140fe0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:254 LibreOffice#37 0x00007f5808307ddb in framework::MenuBarManager::Select (this=0x55711fe3b8c0, pMenu=0x5571215e12b0) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:821 LibreOffice#38 0x00007f580830784d in framework::MenuBarManager::LinkStubSelect (instance=0x55711fe3b8c0, data=0x5571215e12b0) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:776 LibreOffice#39 0x00007f58017a64f6 in Link<Menu*, bool>::Call (this=0x5571215e1320, data=0x5571215e12b0) at include/tools/link.hxx:105 LibreOffice#40 0x00007f5801798233 in Menu::Select (this=0x5571215e12b0) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:352 LibreOffice#41 0x00007f58017a56a8 in PopupMenu::ImplFlushPendingSelect (this=0x5571215e12b0) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:2872 LibreOffice#42 0x00007f58017a5ced in PopupMenu::FinishRun (this=0x5571215e12b0, pWin=..., pParentWin=..., bRealExecute=true, bIsNativeMenu=true) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:3108 LibreOffice#43 0x00007f58017a5487 in PopupMenu::ImplExecute (this=0x5571215e12b0, pParentWin=..., rRect=..., nPopupModeFlags=(FloatWinPopupFlags::Down | FloatWinPopupFlags::NoKeyClose | FloatWinPopupFlags::AllMouseButtonClose | FloatWinPopupFlags::NewLevel | FloatWinPopupFlags::NoMouseUpClose | FloatWinPopupFlags::GrabFocus), pSFrom=0x0, bPreSelectFirst=false) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:3033 LibreOffice#44 0x00007f58017a3eca in PopupMenu::Execute (this=0x5571215e12b0, pExecWindow=0x55711f066550, rRect=..., nFlags=(PopupMenuFlags::ExecuteDown | PopupMenuFlags::NoMouseUpClose)) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:2860 LibreOffice#45 0x00007f58034b67d3 in VCLXMenu::execute (this=0x5571215df5a0, rxWindowPeer=uno::Reference to (VCLXWindow *) 0x55711ef4bbe8, rPos=..., nFlags=1) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxmenu.cxx:509 LibreOffice#46 0x00007f5806fd2d91 in SfxDispatcher::ExecutePopup (this=0x55711ae7d3b0, rResName="annotation", pWin=0x55711f066550, pPos=0x7ffcf6394968) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1937 LibreOffice#47 0x00007f5806fd2186 in SfxDispatcher::ExecutePopup (pWin=0x55711f066550, pPos=0x7ffcf6394968) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1785 LibreOffice#48 0x00007f57ca95d2c3 in sw::sidebarwindows::SidebarTextControl::Command (this=0x5571215354d0, rCEvt=...) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/SidebarTxtControl.cxx:443 #49 0x00007f5801fb39e1 in weld::CustomWeld::DoCommand (this=0x557121536330, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:93 #50 0x00007f5801fb371d in weld::CustomWeld::LinkStubDoCommand (instance=0x557121536330, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:91 #51 0x00007f57f7799bb6 in Link<CommandEvent const&, bool>::Call (this=0x55711a2c0bd0, data=...) at include/tools/link.hxx:105 #52 0x00007f57f7703ba8 in (anonymous namespace)::GtkInstanceDrawingArea::signal_command (this=0x55711a2c0900, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:19099 #53 0x00007f57f7701f3d in (anonymous namespace)::GtkInstanceDrawingArea::signal_popup_menu (this=0x55711a2c0900, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18731 #54 0x00007f57f76e3cc7 in (anonymous namespace)::GtkInstanceWidget::signalPopupMenu (pWidget=0x55712152de30, widget=0x55711a2c0900) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:2701 #55 0x00007f57f6c9adb5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #56 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #57 0x00007f5805540d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #58 0x00007f5805548440 in g_signal_emitv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #59 0x00007f57f6cce9f5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #60 0x00007f57f6cceff0 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #61 0x00007f57f6cd04bb in gtk_bindings_activate_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #62 0x00007f57f6c97caa in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #63 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #64 0x00007f5805541360 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #65 0x00007f5805542072 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #66 0x00007f5805548666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #67 0x00007f5805548723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #68 0x00007f57f6f551cc in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #69 0x00007f57f6f78143 in gtk_window_propagate_key_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #70 0x00007f57f6f7c9fb in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #71 0x00007f57f77fc4ac in key_forward (pEvent=0x55711a45b0c0, pDest=0x55711ae7bae0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkframe.cxx:4239 #72 0x00007f57f77f2f8d in GtkSalFrame::signalKey (pWidget=0x55711ae7bae0, pEvent=0x55711a45b0c0, frame=0x55711af84100) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkframe.cxx:4300 #73 0x00007f57f6c97caa in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #74 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #75 0x00007f5805540d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #76 0x00007f5805542072 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #77 0x00007f5805548666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #78 0x00007f5805548723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #79 0x00007f57f6f551cc in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #80 0x00007f57f6e05e6f in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #81 0x00007f57f6e07b76 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #82 0x00007f57f7da7ce9 in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #83 0x00007f57f7ddc096 in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #84 0x00007f57fd10b81f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #85 0x00007f57fd10da57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #86 0x00007f57fd10e1c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #87 0x00007f57f768350c in GtkSalData::Yield (this=0x55711906f850, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405 #88 0x00007f57f7688413 in GtkInstance::DoYield (this=0x55711906f700, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439 #89 0x00007f5802088706 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #90 0x00007f580208801f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #91 0x00007f5802087e00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #92 0x00007f580af287f9 in desktop::Desktop::Main (this=0x7ffcf6397a70) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #93 0x00007f58020a9b86 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #94 0x00007f58020ab779 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #95 0x00007f580afa20da in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #96 0x00005570fb1c4a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #97 0x00005570fb1c4a47 in main (argc=2, argv=0x7ffcf6397c78) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I20d037038c0d4a84d104bf9987bae28835dac609 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181110 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins (cherry picked from commit 0467f88) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181134 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
jrheinlaender
pushed a commit
to jrheinlaender/lo-core
that referenced
this pull request
Jun 26, 2025
Fixes a deadlock seen for this scenario with the qt6 VCL plugin on Linux: 1) start Orca 2) Start Base, create a new database 2) With the "Tables" section enabled, click on "Create Table in Design View..." 3) click around in the table, use Tab key to move focus AccessibleBrowseBoxAccess::commitEvent (frame 20 in the below backtrace) locks the mutex, and then AccessibleBrowseBoxAccess::getAccessibleContext (frame 8) tries to acquire the mutex again and deadlocks. Locking in AccessibleBrowseBoxAccess::commitEvent was added in commit 67158da Date: Fri Oct 4 14:22:22 2024 +0100 cid#1608061 Data race condition and cid#1607995 Data race condition Backtrace: Thread 1 "soffice.bin" received signal SIGINT, Interrupt. futex_wait (futex_word=0x7fffd804ba30, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146 warning: 146 ../sysdeps/nptl/futex-internal.h: No such file or directory (gdb) bt #0 futex_wait (futex_word=0x7fffd804ba30, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146 #1 __GI___lll_lock_wait (futex=futex@entry=0x7fffd804ba30, private=0) at ./nptl/lowlevellock.c:49 LibreOffice#2 0x00007ffff789f3a2 in lll_mutex_lock_optimized (mutex=0x7fffd804ba30) at ./nptl/pthread_mutex_lock.c:48 LibreOffice#3 ___pthread_mutex_lock (mutex=0x7fffd804ba30) at ./nptl/pthread_mutex_lock.c:93 LibreOffice#4 0x00007fffee0d742f in __gthread_mutex_lock (__mutex=0x7fffd804ba30) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:762 LibreOffice#5 0x00007fffee0d9915 in std::mutex::lock (this=0x7fffd804ba30) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_mutex.h:113 LibreOffice#6 0x00007fffee0d98e4 in std::unique_lock<std::mutex>::lock (this=0x7fffffff3b48) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:147 LibreOffice#7 0x00007fffee0d8108 in std::unique_lock<std::mutex>::unique_lock (this=0x7fffffff3b48, __m=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:73 LibreOffice#8 0x00007fffee0d729d in AccessibleBrowseBoxAccess::getAccessibleContext (this=0x7fffd804ba00) at /home/michi/development/git/libreoffice/vcl/source/accessibility/AccessibleBrowseBox.cxx:281 LibreOffice#9 0x00007fffee0d7404 in non-virtual thunk to AccessibleBrowseBoxAccess::getAccessibleContext() () at /home/michi/development/git/libreoffice/instdir/program/libvcllo.so LibreOffice#10 0x00007fffe42c3b8c in QtAccessibleWidget::getAccessibleContextImpl (this=0x7fffd804b9a0) at vcl/qt6/../qt5/QtAccessibleWidget.cxx:93 LibreOffice#11 0x00007fffe42c451d in QtAccessibleWidget::childCount (this=0x7fffd804b9a0) at vcl/qt6/../qt5/QtAccessibleWidget.cxx:149 LibreOffice#12 0x00007fffe290e9d5 in AtSpiAdaptor::notifyAboutCreation (this=0x555556916e10, interface=0x7fffd8051df0) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1403 LibreOffice#13 0x00007fffe290ad18 in AtSpiAdaptor::notify (this=0x555556916e10, event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:971 LibreOffice#14 0x00007fffe2966779 in QSpiAccessibleBridge::notifyAccessibilityUpdate (this=0x5555568aab30, event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/qspiaccessiblebridge.cpp:85 LibreOffice#15 0x00007fffe28e5c89 in QAccessible::updateAccessibility (event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/qaccessible.cpp:943 LibreOffice#16 0x00007fffe42bb466 in QtAccessibleEventListener::notifyEvent (this=0x555557d6de30, rEvent=...) at vcl/qt6/../qt5/QtAccessibleEventListener.cxx:231 LibreOffice#17 0x00007ffff60ec617 in comphelper::AccessibleEventNotifier::addEvent (_nClient=288, _rEvent=...) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessibleeventnotifier.cxx:256 LibreOffice#18 0x00007ffff60e8107 in comphelper::OCommonAccessibleComponent::NotifyAccessibleEvent (this=0x55555be2f520, _nEventId=7, _rOldValue=uno::Any(void), _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), nIndexHint=-1) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessiblecomponenthelper.cxx:127 LibreOffice#19 0x00007fffee0dd7c9 in AccessibleBrowseBoxBase::commitEvent (this=0x55555be2f520, _nEventId=7, _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), _rOldValue=uno::Any(void)) at /home/michi/development/git/libreoffice/vcl/source/accessibility/AccessibleBrowseBoxBase.cxx:310 LibreOffice#20 0x00007fffee0d8fb0 in AccessibleBrowseBoxAccess::commitEvent (this=0x7fffd804ba00, nEventId=7, rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), rOldValue=uno::Any(void)) at vcl/inc/accessibility/AccessibleBrowseBox.hxx:250 LibreOffice#21 0x00007ffff08806b6 in BrowseBox::commitBrowseBoxEvent (this=0x55555bdc8bf0, _nEventId=7, _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), _rOldValue=uno::Any(void)) at /home/michi/development/git/libreoffice/svtools/source/brwbox/brwbox3.cxx:406 LibreOffice#22 0x00007ffff08a090b in svt::EditBrowseBox::implCreateActiveAccessible (this=0x55555bdc8bf0) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox2.cxx:87 LibreOffice#23 0x00007ffff089c7af in svt::EditBrowseBox::ActivateCell (this=0x55555bdc8bf0, nRow=0, nCol=1, bCellFocus=true) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:945 LibreOffice#24 0x00007ffff089e6c0 in svt::EditBrowseBox::ActivateCell (this=0x55555bdc8bf0) at include/svtools/editbrowsebox.hxx:1029 LibreOffice#25 0x00007ffff089b291 in svt::EditBrowseBox::implActivateCellOnMouseEvent (this=0x55555bdc8bf0, _rEvt=..., _bUp=true) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:482 LibreOffice#26 0x00007ffff089b43c in svt::EditBrowseBox::MouseButtonUp (this=0x55555bdc8bf0, rEvt=...) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:468 LibreOffice#27 0x00007ffff08876ad in BrowserDataWin::MouseButtonUp (this=0x555556fed350, rEvt=...) at /home/michi/development/git/libreoffice/svtools/source/brwbox/datwin.cxx:490 LibreOffice#28 0x00007fffee4b1055 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONUP, bMouseLeave=false, nX=73, nY=89, nMsgTime=10536810, nCode=1, nMode=(MouseEventModifiers::SIMPLECLICK | MouseEventModifiers::SELECT)) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:719 LibreOffice#29 0x00007fffee4b5571 in ImplHandleSalMouseButtonUp (pWindow=0x7fffd80482c0, pEvent=0x7fffffff8118) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2351 LibreOffice#30 0x00007fffee4b4280 in ImplWindowFrameProc (_pWindow=0x7fffd80482c0, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2700 LibreOffice#31 0x00007fffe435910c in SalFrame::CallCallback (this=0x555556abc050, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at vcl/inc/salframe.hxx:311 LibreOffice#32 0x00007fffe43563b5 in QtFrame::CallCallback (this=0x555556abc040, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at vcl/inc/qt6/../qt5/QtFrame.hxx:235 LibreOffice#33 0x00007fffe445475a in QtWidget::handleMouseButtonEvent (rFrame=..., pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:117 LibreOffice#34 0x00007fffe4454a11 in QtWidget::mouseReleaseEvent (this=0x7fffd8048d90, pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:128 LibreOffice#35 0x00007fffe149f8ad in QWidget::event (this=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8964 LibreOffice#36 0x00007fffe44569ae in QtWidget::event (this=0x7fffd8048d90, pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:678 LibreOffice#37 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x7fffd8048d90, e=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 LibreOffice#38 0x00007fffe13e4af2 in QApplication::notify (this=0x555555564d60, receiver=0x7fffd8048d90, e=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2782 LibreOffice#39 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 LibreOffice#40 0x00007fffe344c119 in QCoreApplication::sendSpontaneousEvent (receiver=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1566 LibreOffice#41 0x00007fffe13e3747 in QApplicationPrivate::sendMouseEvent (receiver=0x7fffd8048d90, event=0x7fffffff93c0, alienWidget=0x7fffd8048d90, nativeWidget=0x555556f2f660, buttonDown=0x7fffe1fca488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2363 LibreOffice#42 0x00007fffe14ded48 in QWidgetWindow::handleMouseEvent (this=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669 LibreOffice#43 0x00007fffe14dd555 in QWidgetWindow::event (this=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 LibreOffice#44 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x5555577f5b40, e=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 LibreOffice#45 0x00007fffe13e6d3d in QApplication::notify (this=0x555555564d60, receiver=0x5555577f5b40, e=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3255 LibreOffice#46 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 LibreOffice#47 0x00007fffe344c119 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1566 LibreOffice#48 0x00007fffe2285ca2 in QGuiApplicationPrivate::processMouseEvent (e=0x7fffd0001560) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2485 #49 0x00007fffe2284e66 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x7fffd0001560) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2212 #50 0x00007fffe236d57d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #51 0x00007fffe236d42e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #52 0x00007fffdf8b2685 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555c8390) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:526 #53 0x00007fffdf8ce4e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}::operator()() const (this=0x7fffffffa9a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #54 0x00007fffdf8ce40d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()#1}&&) (args=0x7fffd0002f98, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #55 0x00007fffdf8ce32f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(class QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf8b2640 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555c8390, arg=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #56 0x00007fffdf8ce2a1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(class QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf8b2640 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555c8390, arg=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #57 0x00007fffdf8ce1cb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555e1390, r=0x5555555c8390, a=0x7fffd0002f98, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #58 0x00007fffe3461362 in QtPrivate::QSlotObjectBase::call (this=0x5555555e1390, r=0x5555555c8390, a=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #59 0x00007fffe350ad5c in QMetaCallEvent::placeMetaCall (this=0x7fffd0002f50, object=0x5555555c8390) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #60 0x00007fffe350cab1 in QObject::event (this=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #61 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 #62 0x00007fffe13e6d3d in QApplication::notify (this=0x555555564d60, receiver=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3255 #63 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x5555555c8390, event=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 #64 0x00007fffe344c089 in QCoreApplication::sendEvent (receiver=0x5555555c8390, event=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1552 #65 0x00007fffe344cfc8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555559f110) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1892 #66 0x00007fffe344becc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1746 #67 0x00007fffe3a3d4a1 in postEventSourceDispatch (s=0x5555555f0f80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #68 0x00007fffea10b81f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #69 0x00007fffea10da57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #70 0x00007fffea10e1c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #71 0x00007fffe3a3c6db in QEventDispatcherGlib::processEvents (this=0x555555568dc0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #72 0x00007fffe2b7a148 in QPAEventDispatcherGlib::processEvents (this=0x555555568dc0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #73 0x00007fffe4376a82 in QtInstance::ImplYield (this=0x5555555f5a00, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:485 #74 0x00007fffe4379d51 in QtInstance::DoYield (this=0x5555555f5a00, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:496 #75 0x00007fffeec869b6 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #76 0x00007fffeec862cf in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #77 0x00007fffeec860b0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #78 0x00007ffff7b287f9 in desktop::Desktop::Main (this=0x7fffffffd5d0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #79 0x00007fffeeca7e36 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #80 0x00007fffeeca9a29 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #81 0x00007ffff7ba20da in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #82 0x0000555555555a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #83 0x0000555555555a47 in main (argc=2, argv=0x7fffffffd7d8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: Id3832663f5c5c66a4d624054fee4d48219732b95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181155 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 71d1432) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181542 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Jun 30, 2025
For the gtk3 VCL plugin, calling weld::DrawingArea::set_size_request can trigger the creation of the corresponding a11y object, which wants to access the drawing area to determine its states. Therefore, call the base class implementation to set the drawing area right at the start of IMapWindow::SetDrawingArea, as is done elsewhere (e.g. in CuiGraphicPreviewWindow::SetDrawingArea). This fixes a crash with the below backtrace seen after commit 62b8ebe Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Feb 12 13:15:52 2025 +0100 GraphCtrl a11y: Use comphelper::OAccessibleComponentHelper when opening the "Tools" -> "ImageMap" dialog in Impress or Writer with the gtk3 VCL plugin. Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. 0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67 67 bool HasFocus() const { return m_pDrawingArea->has_focus(); } (gdb) bt #0 0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67 #1 0x00007ffff24ada4a in SvxGraphCtrlAccessibleContext::getAccessibleStateSet (this=0x555558db29c0) at /home/michi/development/git/libreoffice/svx/source/accessibility/GraphCtlAccessibleContext.cxx:256 #2 0x00007fffe62582d8 in atk_object_wrapper_new (rxAccessible=uno::Reference to (SvxGraphCtrlAccessibleContext *) 0x555558db2a10, parent=0x5555598c69a0, orig=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/a11y/atkwrapper.cxx:974 #3 0x00007fffe62b15c4 in (anonymous namespace)::GtkInstanceDrawingArea::GetAtkObject (this=0x555558f99f60, pDefaultAccessible=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18964 #4 0x00007fffe62b14ea in (anonymous namespace)::drawing_area_get_accessible (pWidget=0x55555d7192f0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:23966 #5 0x00007fffe5c131b5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #6 0x00007ffff09b4950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007ffff09c8d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007ffff09ca769 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #9 0x00007ffff09d05a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #10 0x00007ffff09d0663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #11 0x00007ffff09b8b14 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #12 0x00007ffff09ba767 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007fffe62985f3 in (anonymous namespace)::GtkInstanceWidget::set_size_request (this=0x555558f99f60, nWidth=608, nHeight=383) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:3625 #14 0x00007ffff2617c53 in IMapWindow::SetDrawingArea (this=0x55555d7068e0, pDrawingArea=0x555558f9a210) at /home/michi/development/git/libreoffice/svx/source/dialog/imapwnd.cxx:92 #15 0x00007fffee96f280 in weld::CustomWeld::CustomWeld (this=0x5555598c6520, rBuilder=..., rDrawingId="container", rWidgetController=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:28 #16 0x00007ffff260c4b7 in SvxIMapDlg::SvxIMapDlg (this=0x555558838180, _pBindings=0x555556aadbd0, pCW=0x55555d6f5530, _pParent=0x55555d723e28) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:118 #17 0x00007ffff2616b46 in std::_Construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #18 0x00007ffff2616775 in std::allocator_traits<std::allocator<void> >::construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #19 std::_Sp_counted_ptr_inplace<SvxIMapDlg, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x555558838170, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #20 0x00007ffff26164ff in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SvxIMapDlg, std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4158, __p=@0x7fffffff4150: 0x0, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #21 0x00007ffff261642c in std::__shared_ptr<SvxIMapDlg, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #22 0x00007ffff26163aa in std::shared_ptr<SvxIMapDlg>::shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #23 0x00007ffff2612a49 in std::make_shared<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #24 0x00007ffff260bb7c in SvxIMapDlgChildWindow::SvxIMapDlgChildWindow (this=0x55555d6f5530, _pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:89 #25 0x00007ffff261290c in std::make_unique<SvxIMapDlgChildWindow, vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&> (__args=@0x7fffffff4230: 0x5555576ad680, __args=@0x7fffffff422e: 10371, __args=@0x7fffffff4220: 0x555556aadbd0, __args=@0x7fffffff4218: 0x7fffffff43e8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 #26 0x00007ffff260b704 in SvxIMapDlgChildWindow::CreateImpl (pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:59 #27 0x00007ffff38c3b6f in SfxChildWindow::CreateChildWindow (nId=10371, pParent=0x5555576ad680, pBindings=0x555556aadbd0, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:242 #28 0x00007ffff395f5bd in SfxWorkWindow::CreateChildWin_Impl (this=0x5555571433b0, pCW=0x55555864a020, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #29 0x00007ffff3961853 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x5555571433b0, nId=10371, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835 #30 0x00007ffff403ba89 in SfxViewFrame::ToggleChildWindow (this=0x555557128f90, nId=10371) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3695 #31 0x00007fffbb6290d4 in sd::DrawViewShell::FuTemporary (this=0x55555728c010, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews2.cxx:3893 #32 0x00007fffbb6949b5 in SfxStubDrawViewShellFuTemporary (pShell=0x55555728c010, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1551 #33 0x00007ffff39c8d1e in SfxDispatcher::Call_Impl (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256 #34 0x00007ffff39cd5d6 in SfxDispatcher::Execute_ (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755 #35 0x00007ffff39b59ee in SfxBindings::Execute_Impl (this=0x555556aadbd0, aReq=..., pSlot=0x7fffbb7c6270 <aDrawViewShellSlots_Impl+14400>, pShell=0x55555728c010) at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1046 #36 0x00007ffff3a95e2d in SfxDispatchController_Impl::dispatch (this=0x555557e27950, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736 #37 0x00007ffff3a948e4 in SfxOfficeDispatch::dispatch (this=0x555557e278b0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255 #38 0x00007ffff4f0bd04 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x5555588c6000) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:790 #39 0x00007fffee275a41 in Link<void*, void>::Call (this=0x55555d70f598, data=0x5555588c6000) at include/tools/link.hxx:105 #40 0x00007fffee271c71 in ImplHandleUserEvent (pSVEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #41 0x00007fffee26eb9f in ImplWindowFrameProc (_pWindow=0x555556ba6530, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #42 0x00007fffeee4638c in SalFrame::CallCallback (this=0x5555569908a0, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at vcl/inc/salframe.hxx:310 #43 0x00007fffeee6ed1f in SalGenericDisplay::ProcessEvent (this=0x5555568f8ef0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #44 0x00007fffee97966d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #45 0x00007fffee97953b in SalUserEventList::DispatchUserEvents (this=0x5555568f8ef0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #46 0x00007fffeee6ec75 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568f8ef0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #47 0x00007fffe62891ef in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:827 #48 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #49 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x00007fffe6287e6c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405 #52 0x00007fffe628cf13 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439 #53 0x00007fffeea45406 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #54 0x00007fffeea44d1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #55 0x00007fffeea44b00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #56 0x00007ffff7b29455 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #57 0x00007fffeea6f1b6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #58 0x00007fffeea70ca9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #59 0x00007ffff7ba387a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #60 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #61 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I9488a66c1512e41b37bcea0d4bb25a6733884976 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187162 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
tdf-gerrit
pushed a commit
that referenced
this pull request
Jun 30, 2025
For the gtk3 VCL plugin, calling weld::DrawingArea::set_size_request can trigger the creation of the corresponding a11y object, which wants to access the drawing area to determine its states. Therefore, call the base class implementation to set the drawing area right at the start of IMapWindow::SetDrawingArea, as is done elsewhere (e.g. in CuiGraphicPreviewWindow::SetDrawingArea). This fixes a crash with the below backtrace seen after commit 62b8ebe Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Feb 12 13:15:52 2025 +0100 GraphCtrl a11y: Use comphelper::OAccessibleComponentHelper when opening the "Tools" -> "ImageMap" dialog in Impress or Writer with the gtk3 VCL plugin. Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. 0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67 67 bool HasFocus() const { return m_pDrawingArea->has_focus(); } (gdb) bt #0 0x00007ffff24b0634 in weld::CustomWidgetController::HasFocus (this=0x55555d7068e0) at include/vcl/customweld.hxx:67 #1 0x00007ffff24ada4a in SvxGraphCtrlAccessibleContext::getAccessibleStateSet (this=0x555558db29c0) at /home/michi/development/git/libreoffice/svx/source/accessibility/GraphCtlAccessibleContext.cxx:256 #2 0x00007fffe62582d8 in atk_object_wrapper_new (rxAccessible=uno::Reference to (SvxGraphCtrlAccessibleContext *) 0x555558db2a10, parent=0x5555598c69a0, orig=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/a11y/atkwrapper.cxx:974 #3 0x00007fffe62b15c4 in (anonymous namespace)::GtkInstanceDrawingArea::GetAtkObject (this=0x555558f99f60, pDefaultAccessible=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18964 #4 0x00007fffe62b14ea in (anonymous namespace)::drawing_area_get_accessible (pWidget=0x55555d7192f0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:23966 #5 0x00007fffe5c131b5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #6 0x00007ffff09b4950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #7 0x00007ffff09c8d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #8 0x00007ffff09ca769 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #9 0x00007ffff09d05a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #10 0x00007ffff09d0663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #11 0x00007ffff09b8b14 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #12 0x00007ffff09ba767 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007fffe62985f3 in (anonymous namespace)::GtkInstanceWidget::set_size_request (this=0x555558f99f60, nWidth=608, nHeight=383) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:3625 #14 0x00007ffff2617c53 in IMapWindow::SetDrawingArea (this=0x55555d7068e0, pDrawingArea=0x555558f9a210) at /home/michi/development/git/libreoffice/svx/source/dialog/imapwnd.cxx:92 #15 0x00007fffee96f280 in weld::CustomWeld::CustomWeld (this=0x5555598c6520, rBuilder=..., rDrawingId="container", rWidgetController=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:28 #16 0x00007ffff260c4b7 in SvxIMapDlg::SvxIMapDlg (this=0x555558838180, _pBindings=0x555556aadbd0, pCW=0x55555d6f5530, _pParent=0x55555d723e28) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:118 #17 0x00007ffff2616b46 in std::_Construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #18 0x00007ffff2616775 in std::allocator_traits<std::allocator<void> >::construct<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__p=0x555558838180, __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #19 std::_Sp_counted_ptr_inplace<SvxIMapDlg, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x555558838170, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #20 0x00007ffff26164ff in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<SvxIMapDlg, std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4158, __p=@0x7fffffff4150: 0x0, __a=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #21 0x00007ffff261642c in std::__shared_ptr<SvxIMapDlg, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #22 0x00007ffff26163aa in std::shared_ptr<SvxIMapDlg>::shared_ptr<std::allocator<void>, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (this=0x7fffffff4150, __tag=..., __args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #23 0x00007ffff2612a49 in std::make_shared<SvxIMapDlg, SfxBindings*&, SvxIMapDlgChildWindow*, weld::Window*> (__args=@0x7fffffff4170: 0x555556aadbd0, __args=@0x7fffffff4148: 0x55555d6f5530, __args=@0x7fffffff4140: 0x55555d723e28) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #24 0x00007ffff260bb7c in SvxIMapDlgChildWindow::SvxIMapDlgChildWindow (this=0x55555d6f5530, _pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:89 #25 0x00007ffff261290c in std::make_unique<SvxIMapDlgChildWindow, vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&> (__args=@0x7fffffff4230: 0x5555576ad680, __args=@0x7fffffff422e: 10371, __args=@0x7fffffff4220: 0x555556aadbd0, __args=@0x7fffffff4218: 0x7fffffff43e8) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 #26 0x00007ffff260b704 in SvxIMapDlgChildWindow::CreateImpl (pParent=0x5555576ad680, nId=10371, pBindings=0x555556aadbd0, pInfo=0x7fffffff43e8) at /home/michi/development/git/libreoffice/svx/source/dialog/imapdlg.cxx:59 #27 0x00007ffff38c3b6f in SfxChildWindow::CreateChildWindow (nId=10371, pParent=0x5555576ad680, pBindings=0x555556aadbd0, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:242 #28 0x00007ffff395f5bd in SfxWorkWindow::CreateChildWin_Impl (this=0x5555571433b0, pCW=0x55555864a020, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #29 0x00007ffff3961853 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x5555571433b0, nId=10371, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835 #30 0x00007ffff403ba89 in SfxViewFrame::ToggleChildWindow (this=0x555557128f90, nId=10371) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3695 #31 0x00007fffbb6290d4 in sd::DrawViewShell::FuTemporary (this=0x55555728c010, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews2.cxx:3893 #32 0x00007fffbb6949b5 in SfxStubDrawViewShellFuTemporary (pShell=0x55555728c010, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1551 #33 0x00007ffff39c8d1e in SfxDispatcher::Call_Impl (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256 #34 0x00007ffff39cd5d6 in SfxDispatcher::Execute_ (this=0x555556af3f30, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755 #35 0x00007ffff39b59ee in SfxBindings::Execute_Impl (this=0x555556aadbd0, aReq=..., pSlot=0x7fffbb7c6270 <aDrawViewShellSlots_Impl+14400>, pShell=0x55555728c010) at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1046 #36 0x00007ffff3a95e2d in SfxDispatchController_Impl::dispatch (this=0x555557e27950, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736 #37 0x00007ffff3a948e4 in SfxOfficeDispatch::dispatch (this=0x555557e278b0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255 #38 0x00007ffff4f0bd04 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x5555588c6000) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:790 #39 0x00007fffee275a41 in Link<void*, void>::Call (this=0x55555d70f598, data=0x5555588c6000) at include/tools/link.hxx:105 #40 0x00007fffee271c71 in ImplHandleUserEvent (pSVEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #41 0x00007fffee26eb9f in ImplWindowFrameProc (_pWindow=0x555556ba6530, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #42 0x00007fffeee4638c in SalFrame::CallCallback (this=0x5555569908a0, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at vcl/inc/salframe.hxx:310 #43 0x00007fffeee6ed1f in SalGenericDisplay::ProcessEvent (this=0x5555568f8ef0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #44 0x00007fffee97966d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #45 0x00007fffee97953b in SalUserEventList::DispatchUserEvents (this=0x5555568f8ef0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #46 0x00007fffeee6ec75 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568f8ef0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #47 0x00007fffe62891ef in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:827 #48 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #49 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x00007fffe6287e6c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405 #52 0x00007fffe628cf13 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439 #53 0x00007fffeea45406 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #54 0x00007fffeea44d1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #55 0x00007fffeea44b00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #56 0x00007ffff7b29455 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #57 0x00007fffeea6f1b6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #58 0x00007fffeea70ca9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #59 0x00007ffff7ba387a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #60 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #61 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I9488a66c1512e41b37bcea0d4bb25a6733884976 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187162 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit fdffaac) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187190 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
tdf-gerrit
pushed a commit
that referenced
this pull request
Jul 5, 2025
Since commit 380bd85 Date: Tue Jun 24 11:21:04 2025 +0200 [API CHANGE] remove css::drawing::framework::XView , starting an Impress presentation in a dual screen setup with presenter console enabled, then existing the presentation resulted in a deadlock with the below backtrace, because WeakComponentImplHelperBase::dispose (frame 9) locks the base class's UnoImplBase::m_aMutex and then sdext::presenter::PresenterSlideShowView::disposing (frame 8) tries to lock it again. Use the existing lock passed as a method param and pass it down to the called methods instead. Add an assert it is actually a lock for the correct mutex. #0 futex_wait (futex_word=0x55555d5afb70, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146 #1 __GI___lll_lock_wait (futex=futex@entry=0x55555d5afb70, private=0) at ./nptl/lowlevellock.c:49 #2 0x00007ffff789ff72 in lll_mutex_lock_optimized (mutex=0x55555d5afb70) at ./nptl/pthread_mutex_lock.c:48 #3 ___pthread_mutex_lock (mutex=0x55555d5afb70) at ./nptl/pthread_mutex_lock.c:93 #4 0x00007fffc768849f in __gthread_mutex_lock (__mutex=0x55555d5afb70) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:762 #5 0x00007fffc7693185 in std::mutex::lock (this=0x55555d5afb70) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_mutex.h:113 #6 0x00007fffc7693154 in std::unique_lock<std::mutex>::lock (this=0x7fffffff8838) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:147 #7 0x00007fffc768b068 in std::unique_lock<std::mutex>::unique_lock (this=0x7fffffff8838, __m=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:73 #8 0x00007fffc76f408c in sdext::presenter::PresenterSlideShowView::disposing (this=0x55555d5afa10) at /home/michi/development/git/libreoffice/sd/source/console/PresenterSlideShowView.cxx:186 #9 0x00007ffff6134bb0 in comphelper::WeakComponentImplHelperBase::dispose (this=0x55555d5afa10) at /home/michi/development/git/libreoffice/comphelper/source/misc/compbase.cxx:26 #10 0x00007fffc76a4885 in comphelper::WeakComponentImplHelper<>::dispose() (this=0x55555d5afa10) at include/comphelper/compbase.hxx:78 #11 0x00007fffc7783b71 in sdext::presenter::PresenterViewFactory::releaseResource (this=0x55555d649400, rxView=rtl::Reference to 0x55555d5afa10) at /home/michi/development/git/libreoffice/sd/source/console/PresenterViewFactory.cxx:229 #12 0x00007fffbb192dec in sd::framework::ConfigurationControllerResourceManager::DeactivateResource (this=0x555557655ca0, rxResourceId=rtl::Reference to 0x55555d6492f0, rxConfiguration=rtl::Reference to 0x555556a598e0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:203 #13 0x00007fffbb193814 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0::operator()(rtl::Reference<sd::framework::ResourceId> const&) const (this=0x7fffffff9290, xResource=rtl::Reference to 0x55555d6492f0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:90 #14 0x00007fffbb192a9b in std::for_each<std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0>(std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0) (__first=..., __last=..., __f=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786 #15 0x00007fffbb192844 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources (this=0x555557655ca0, rResources=std::__debug::vector of length 7, capacity 7 = {...}, rxConfiguration=rtl::Reference to 0x555556a598e0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:86 #16 0x00007fffbb19a50e in sd::framework::ConfigurationUpdater::UpdateCore (this=0x555557657360, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:250 #17 0x00007fffbb199afc in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x555557657360) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161 #18 0x00007fffbb19957b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x555557657360, rxRequestedConfiguration=rtl::Reference to 0x555556a5a320) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108 #19 0x00007fffbb16d349 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x555557657f30) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158 #20 0x00007fffbb16cd9f in sd::framework::ChangeRequestQueueProcessor::ProcessEvent (this=0x555557657f30) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:115 #21 0x00007fffbb16cd4d in sd::framework::ChangeRequestQueueProcessor::LinkStubProcessEvent (instance=0x555557657f30, data=0x0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:109 #22 0x00007fffee275c21 in Link<void*, void>::Call (this=0x55555880a688, data=0x0) at include/tools/link.hxx:105 #23 0x00007fffee271e51 in ImplHandleUserEvent (pSVEvent=0x55555880a680) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #24 0x00007fffee26ed7f in ImplWindowFrameProc (_pWindow=0x5555569e6b00, nEvent=SalEvent::UserEvent, pEvent=0x55555880a680) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #25 0x00007fffeee478bc in SalFrame::CallCallback (this=0x55555688b5d0, nEvent=SalEvent::UserEvent, pEvent=0x55555880a680) at vcl/inc/salframe.hxx:310 #26 0x00007fffeee7021f in SalGenericDisplay::ProcessEvent (this=0x5555568a4060, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #27 0x00007fffee97bd7d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #28 0x00007fffee97bc4b in SalUserEventList::DispatchUserEvents (this=0x5555568a4060, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #29 0x00007fffeee70175 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568a4060, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #30 0x00007fffe628460f in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #31 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007fffe628328c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:403 #35 0x00007fffe6288333 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439 #36 0x00007fffeea47b16 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #37 0x00007fffeea4742f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #38 0x00007fffeea47210 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #39 0x00007ffff7b297a5 in desktop::Desktop::Main (this=0x7fffffffd660) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #40 0x00007fffeea71846 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #41 0x00007fffeea73339 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #42 0x00007ffff7ba40ba in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #43 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #44 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd868) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I2f0cc4db777c3e6e2db3d2ec7756bc89f43f0093 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187436 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
mohit-marathe
pushed a commit
to mohit-marathe/libreoffice-core
that referenced
this pull request
Jul 21, 2025
Fixes a deadlock seen for this scenario with the qt6 VCL plugin on Linux: 1) start Orca 2) Start Base, create a new database 2) With the "Tables" section enabled, click on "Create Table in Design View..." 3) click around in the table, use Tab key to move focus AccessibleBrowseBoxAccess::commitEvent (frame 20 in the below backtrace) locks the mutex, and then AccessibleBrowseBoxAccess::getAccessibleContext (frame 8) tries to acquire the mutex again and deadlocks. Locking in AccessibleBrowseBoxAccess::commitEvent was added in commit 67158da Date: Fri Oct 4 14:22:22 2024 +0100 cid#1608061 Data race condition and cid#1607995 Data race condition Backtrace: Thread 1 "soffice.bin" received signal SIGINT, Interrupt. futex_wait (futex_word=0x7fffd804ba30, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146 warning: 146 ../sysdeps/nptl/futex-internal.h: No such file or directory (gdb) bt #0 futex_wait (futex_word=0x7fffd804ba30, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146 LibreOffice#1 __GI___lll_lock_wait (futex=futex@entry=0x7fffd804ba30, private=0) at ./nptl/lowlevellock.c:49 LibreOffice#2 0x00007ffff789f3a2 in lll_mutex_lock_optimized (mutex=0x7fffd804ba30) at ./nptl/pthread_mutex_lock.c:48 LibreOffice#3 ___pthread_mutex_lock (mutex=0x7fffd804ba30) at ./nptl/pthread_mutex_lock.c:93 LibreOffice#4 0x00007fffee0d742f in __gthread_mutex_lock (__mutex=0x7fffd804ba30) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:762 LibreOffice#5 0x00007fffee0d9915 in std::mutex::lock (this=0x7fffd804ba30) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_mutex.h:113 LibreOffice#6 0x00007fffee0d98e4 in std::unique_lock<std::mutex>::lock (this=0x7fffffff3b48) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:147 LibreOffice#7 0x00007fffee0d8108 in std::unique_lock<std::mutex>::unique_lock (this=0x7fffffff3b48, __m=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_lock.h:73 LibreOffice#8 0x00007fffee0d729d in AccessibleBrowseBoxAccess::getAccessibleContext (this=0x7fffd804ba00) at /home/michi/development/git/libreoffice/vcl/source/accessibility/AccessibleBrowseBox.cxx:281 LibreOffice#9 0x00007fffee0d7404 in non-virtual thunk to AccessibleBrowseBoxAccess::getAccessibleContext() () at /home/michi/development/git/libreoffice/instdir/program/libvcllo.so LibreOffice#10 0x00007fffe42c3b8c in QtAccessibleWidget::getAccessibleContextImpl (this=0x7fffd804b9a0) at vcl/qt6/../qt5/QtAccessibleWidget.cxx:93 LibreOffice#11 0x00007fffe42c451d in QtAccessibleWidget::childCount (this=0x7fffd804b9a0) at vcl/qt6/../qt5/QtAccessibleWidget.cxx:149 LibreOffice#12 0x00007fffe290e9d5 in AtSpiAdaptor::notifyAboutCreation (this=0x555556916e10, interface=0x7fffd8051df0) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1403 LibreOffice#13 0x00007fffe290ad18 in AtSpiAdaptor::notify (this=0x555556916e10, event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:971 LibreOffice#14 0x00007fffe2966779 in QSpiAccessibleBridge::notifyAccessibilityUpdate (this=0x5555568aab30, event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/linux/qspiaccessiblebridge.cpp:85 LibreOffice#15 0x00007fffe28e5c89 in QAccessible::updateAccessibility (event=0x7fffffff5e40) at /home/michi/development/git/qt5/qtbase/src/gui/accessible/qaccessible.cpp:943 LibreOffice#16 0x00007fffe42bb466 in QtAccessibleEventListener::notifyEvent (this=0x555557d6de30, rEvent=...) at vcl/qt6/../qt5/QtAccessibleEventListener.cxx:231 LibreOffice#17 0x00007ffff60ec617 in comphelper::AccessibleEventNotifier::addEvent (_nClient=288, _rEvent=...) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessibleeventnotifier.cxx:256 LibreOffice#18 0x00007ffff60e8107 in comphelper::OCommonAccessibleComponent::NotifyAccessibleEvent (this=0x55555be2f520, _nEventId=7, _rOldValue=uno::Any(void), _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), nIndexHint=-1) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessiblecomponenthelper.cxx:127 LibreOffice#19 0x00007fffee0dd7c9 in AccessibleBrowseBoxBase::commitEvent (this=0x55555be2f520, _nEventId=7, _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), _rOldValue=uno::Any(void)) at /home/michi/development/git/libreoffice/vcl/source/accessibility/AccessibleBrowseBoxBase.cxx:310 LibreOffice#20 0x00007fffee0d8fb0 in AccessibleBrowseBoxAccess::commitEvent (this=0x7fffd804ba00, nEventId=7, rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), rOldValue=uno::Any(void)) at vcl/inc/accessibility/AccessibleBrowseBox.hxx:250 LibreOffice#21 0x00007ffff08806b6 in BrowseBox::commitBrowseBoxEvent (this=0x55555bdc8bf0, _nEventId=7, _rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": ...), _rOldValue=uno::Any(void)) at /home/michi/development/git/libreoffice/svtools/source/brwbox/brwbox3.cxx:406 LibreOffice#22 0x00007ffff08a090b in svt::EditBrowseBox::implCreateActiveAccessible (this=0x55555bdc8bf0) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox2.cxx:87 LibreOffice#23 0x00007ffff089c7af in svt::EditBrowseBox::ActivateCell (this=0x55555bdc8bf0, nRow=0, nCol=1, bCellFocus=true) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:945 LibreOffice#24 0x00007ffff089e6c0 in svt::EditBrowseBox::ActivateCell (this=0x55555bdc8bf0) at include/svtools/editbrowsebox.hxx:1029 LibreOffice#25 0x00007ffff089b291 in svt::EditBrowseBox::implActivateCellOnMouseEvent (this=0x55555bdc8bf0, _rEvt=..., _bUp=true) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:482 LibreOffice#26 0x00007ffff089b43c in svt::EditBrowseBox::MouseButtonUp (this=0x55555bdc8bf0, rEvt=...) at /home/michi/development/git/libreoffice/svtools/source/brwbox/editbrowsebox.cxx:468 LibreOffice#27 0x00007ffff08876ad in BrowserDataWin::MouseButtonUp (this=0x555556fed350, rEvt=...) at /home/michi/development/git/libreoffice/svtools/source/brwbox/datwin.cxx:490 LibreOffice#28 0x00007fffee4b1055 in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONUP, bMouseLeave=false, nX=73, nY=89, nMsgTime=10536810, nCode=1, nMode=(MouseEventModifiers::SIMPLECLICK | MouseEventModifiers::SELECT)) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:719 LibreOffice#29 0x00007fffee4b5571 in ImplHandleSalMouseButtonUp (pWindow=0x7fffd80482c0, pEvent=0x7fffffff8118) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2351 LibreOffice#30 0x00007fffee4b4280 in ImplWindowFrameProc (_pWindow=0x7fffd80482c0, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2700 LibreOffice#31 0x00007fffe435910c in SalFrame::CallCallback (this=0x555556abc050, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at vcl/inc/salframe.hxx:311 LibreOffice#32 0x00007fffe43563b5 in QtFrame::CallCallback (this=0x555556abc040, nEvent=SalEvent::MouseButtonUp, pEvent=0x7fffffff8118) at vcl/inc/qt6/../qt5/QtFrame.hxx:235 LibreOffice#33 0x00007fffe445475a in QtWidget::handleMouseButtonEvent (rFrame=..., pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:117 LibreOffice#34 0x00007fffe4454a11 in QtWidget::mouseReleaseEvent (this=0x7fffd8048d90, pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:128 LibreOffice#35 0x00007fffe149f8ad in QWidget::event (this=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8964 LibreOffice#36 0x00007fffe44569ae in QtWidget::event (this=0x7fffd8048d90, pEvent=0x7fffffff93c0) at vcl/qt6/../qt5/QtWidget.cxx:678 LibreOffice#37 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x7fffd8048d90, e=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 LibreOffice#38 0x00007fffe13e4af2 in QApplication::notify (this=0x555555564d60, receiver=0x7fffd8048d90, e=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2782 LibreOffice#39 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 LibreOffice#40 0x00007fffe344c119 in QCoreApplication::sendSpontaneousEvent (receiver=0x7fffd8048d90, event=0x7fffffff93c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1566 LibreOffice#41 0x00007fffe13e3747 in QApplicationPrivate::sendMouseEvent (receiver=0x7fffd8048d90, event=0x7fffffff93c0, alienWidget=0x7fffd8048d90, nativeWidget=0x555556f2f660, buttonDown=0x7fffe1fca488 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2363 LibreOffice#42 0x00007fffe14ded48 in QWidgetWindow::handleMouseEvent (this=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:669 LibreOffice#43 0x00007fffe14dd555 in QWidgetWindow::event (this=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp:292 LibreOffice#44 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x5555577f5b40, e=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 LibreOffice#45 0x00007fffe13e6d3d in QApplication::notify (this=0x555555564d60, receiver=0x5555577f5b40, e=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3255 LibreOffice#46 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 LibreOffice#47 0x00007fffe344c119 in QCoreApplication::sendSpontaneousEvent (receiver=0x5555577f5b40, event=0x7fffffffa498) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1566 LibreOffice#48 0x00007fffe2285ca2 in QGuiApplicationPrivate::processMouseEvent (e=0x7fffd0001560) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2485 #49 0x00007fffe2284e66 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x7fffd0001560) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2212 #50 0x00007fffe236d57d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #51 0x00007fffe236d42e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #52 0x00007fffdf8b2685 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555c8390) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:526 #53 0x00007fffdf8ce4e5 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()LibreOffice#1}::operator()() const (this=0x7fffffffa9a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #54 0x00007fffdf8ce40d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()LibreOffice#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**)::{lambda()LibreOffice#1}&&) (args=0x7fffd0002f98, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #55 0x00007fffdf8ce32f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandDisplay::*)()>::call(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(class QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf8b2640 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555c8390, arg=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #56 0x00007fffdf8ce2a1 in QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandDisplay::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandDisplay::*)(), QtWaylandClient::QWaylandDisplay*, void**) (f=(void (QtWaylandClient::QWaylandDisplay::*)(class QtWaylandClient::QWaylandDisplay * const)) 0x7fffdf8b2640 <QtWaylandClient::QWaylandDisplay::flushRequests()>, o=0x5555555c8390, arg=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #57 0x00007fffdf8ce1cb in QtPrivate::QCallableObject<void (QtWaylandClient::QWaylandDisplay::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555555e1390, r=0x5555555c8390, a=0x7fffd0002f98, ret=0x0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #58 0x00007fffe3461362 in QtPrivate::QSlotObjectBase::call (this=0x5555555e1390, r=0x5555555c8390, a=0x7fffd0002f98) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #59 0x00007fffe350ad5c in QMetaCallEvent::placeMetaCall (this=0x7fffd0002f50, object=0x5555555c8390) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:620 #60 0x00007fffe350cab1 in QObject::event (this=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1429 #61 0x00007fffe13e2e20 in QApplicationPrivate::notify_helper (this=0x555555577ae0, receiver=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3305 #62 0x00007fffe13e6d3d in QApplication::notify (this=0x555555564d60, receiver=0x5555555c8390, e=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3255 #63 0x00007fffe344b419 in QCoreApplication::notifyInternal2 (receiver=0x5555555c8390, event=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1112 #64 0x00007fffe344c089 in QCoreApplication::sendEvent (receiver=0x5555555c8390, event=0x7fffd0002f50) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1552 #65 0x00007fffe344cfc8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55555559f110) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1892 #66 0x00007fffe344becc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1746 #67 0x00007fffe3a3d4a1 in postEventSourceDispatch (s=0x5555555f0f80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #68 0x00007fffea10b81f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #69 0x00007fffea10da57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #70 0x00007fffea10e1c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #71 0x00007fffe3a3c6db in QEventDispatcherGlib::processEvents (this=0x555555568dc0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #72 0x00007fffe2b7a148 in QPAEventDispatcherGlib::processEvents (this=0x555555568dc0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #73 0x00007fffe4376a82 in QtInstance::ImplYield (this=0x5555555f5a00, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:485 #74 0x00007fffe4379d51 in QtInstance::DoYield (this=0x5555555f5a00, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:496 #75 0x00007fffeec869b6 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #76 0x00007fffeec862cf in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #77 0x00007fffeec860b0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #78 0x00007ffff7b287f9 in desktop::Desktop::Main (this=0x7fffffffd5d0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #79 0x00007fffeeca7e36 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #80 0x00007fffeeca9a29 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #81 0x00007ffff7ba20da in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #82 0x0000555555555a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #83 0x0000555555555a47 in main (argc=2, argv=0x7fffffffd7d8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: Id3832663f5c5c66a4d624054fee4d48219732b95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181155 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 71d1432) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181542 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Jul 25, 2025
This fixes an assert seen in a WIP branch to support the "Manage Changes" dialog when the dialog was open in the previous run when LO crashed, and then restarting LO. Also add an assert that this is running in the main thread. Backtrace: Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007fa78409e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89 #2 0x00007fa784049cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fa7840324ac in __GI_abort () at ./stdlib/abort.c:73 #4 0x00007fa784032420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118 #5 0x00007fa77b38413c in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36 #6 0x00007fa78252be74 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54 #7 0x00007fa77ac6732b in vcl::WindowOutputDevice::AcquireGraphics (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:819 #8 0x00007fa77ae68d7b in OutputDevice::ImplIsAntiparallel (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/outdev/outdev.cxx:614 #9 0x00007fa77aba212f in vcl::Window::GetPointerPosPixel (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:548 #10 0x00007fa77aba2030 in vcl::Window::ImplTestMousePointerSet (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:90 #11 0x00007fa77aba47bb in vcl::Window::EnterWait (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:613 #12 0x00007fa7476b98d7 in SwWait::EnterWaitAndLockDispatcher (this=0x7ffe7c5985d8) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:47 #13 0x00007fa7476b9864 in SwWait::SwWait (this=0x7ffe7c5985d8, rDocShell=..., bLockUnlockDispatcher=false) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:34 #14 0x00007fa7478a051b in SwModelessRedlineAcceptDlg::Activate (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sw/source/uibase/misc/redlndlg.cxx:95 #15 0x00007fa7804e12f5 in SfxDialogController::FocusChangeHdl (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:114 #16 0x00007fa7804e129d in SfxDialogController::LinkStubFocusChangeHdl (instance=0x55f1689d4140, data=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:111 #17 0x00007fa772af7211 in Link<weld::Container&, void>::Call (this=0x55f168a187d0, data=...) at include/tools/link.hxx:105 #18 0x00007fa772af712c in weld::Container::signal_container_focus_changed (this=0x55f168a187c8) at include/vcl/weld.hxx:396 #19 0x00007fa772af4b1f in QtInstanceWindow::eventFilter (this=0x55f168a18600, pObject=0x55f168483010, pEvent=0x7ffe7c599350) at vcl/qt6/../qt5/QtInstanceWindow.cxx:228 #20 0x00007fa771a52f9d in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1246 #21 0x00007fa76f9e60ce in QApplicationPrivate::notify_helper (this=0x55f162d3fb40, receiver=0x55f168483010, e=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3301 #22 0x00007fa76f9e9fd4 in QApplication::notify (this=0x55f162d31a60, receiver=0x55f168483010, e=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3253 #23 0x00007fa771a52a99 in QCoreApplication::notifyInternal2 (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #24 0x00007fa771a53799 in QCoreApplication::sendSpontaneousEvent (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1563 #25 0x00007fa76f9e48ee in QApplicationPrivate::setActiveWindow (act=0x55f168483010) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1880 #26 0x00007fa76f9e5015 in QApplicationPrivate::notifyActiveWindowChange (this=0x55f162d3fb40, previous=0x0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1950 #27 0x00007fa7708973c4 in QGuiApplicationPrivate::processFocusWindowEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2726 #28 0x00007fa7708935a8 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2215 #29 0x00007fa77097c52d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113 #30 0x00007fa77097c3de in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082 #31 0x00007fa76b8b5665 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55f162d8feb0) at /home/michi/development/git/qt5/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:523 #32 0x00007fa76b8ba6c4 in QtWaylandClient::QWaylandDisplay::qt_static_metacall (_o=0x55f162d8feb0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffe7c5999b0) at qtbase/src/plugins/platforms/wayland/WaylandClient_autogen/include/moc_qwaylanddisplay_p.cpp:90 #33 0x00007fa771b2d43f in doActivate<false> (sender=0x55f162d326e0, signal_index=3, argv=0x7ffe7c5999b0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4295 #34 0x00007fa771b234a3 in QMetaObject::activate (sender=0x55f162d326e0, m=0x7fa77243f028 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=0, argv=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4343 #35 0x00007fa771a3b8b6 in QAbstractEventDispatcher::aboutToBlock (this=0x55f162d326e0) at qtbase/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:122 #36 0x00007fa772059673 in QEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:386 #37 0x00007fa77119ba38 in QPAEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #38 0x00007fa7729f8212 in QtInstance::ImplYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:500 #39 0x00007fa7729fb551 in QtInstance::DoYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:511 #40 0x00007fa77b45b226 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #41 0x00007fa77b45ab3f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #42 0x00007fa77b45a920 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #43 0x00007fa784328e65 in desktop::Desktop::Main (this=0x7ffe7c59b5c0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #44 0x00007fa77b487146 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #45 0x00007fa77b488c39 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #46 0x00007fa7843a2b0a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #47 0x000055f1441869fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #48 0x000055f1441869d7 in main (argc=2, argv=0x7ffe7c59b7c8) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: Ia3f78c245022c6aa989292737730079b403a7493 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188310 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 7, 2025
Otherwise, this triggers the following assertion: soffice.bin: .../vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed. when opening an Impress presenation with a slide containing a video with SAL_VCL_QT_USE_QT_FRAME_GRABBER=1, potentially since commit 88e9af0 Date: Wed Aug 6 09:49:42 2025 +0200 BitmapEx->Bitmap in PngImageReader and follow-up commit commit 32627a5 Date: Wed Aug 6 15:48:28 2025 +0200 blind fix for qt6 build Backtrace: Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007fbf6409e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89 #2 0x00007fbf64049cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fbf640324ac in __GI_abort () at ./stdlib/abort.c:73 #4 0x00007fbf64032420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118 #5 0x00007fbf5b3889ec in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36 #6 0x00007fbf6352b124 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54 #7 0x00007fbf5b24fafb in VirtualDevice::AcquireGraphics (this=0x557da1d5e290) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:49 #8 0x00007fbf5aecf733 in OutputDevice::DrawRect (this=0x557da1d5e290, rRect=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/rect.cxx:67 #9 0x00007fbf5aee0999 in OutputDevice::DrawColorWallpaper (this=0x557da1d5e290, nX=0, nY=0, nWidth=721, nHeight=401, rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:90 #10 0x00007fbf5aedefcf in OutputDevice::DrawWallpaper (this=0x557da1d5e290, nX=0, nY=0, nWidth=721, nHeight=401, rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:70 #11 0x00007fbf5aedeeab in OutputDevice::DrawWallpaper (this=0x557da1d5e290, rRect=..., rWallpaper=...) at /home/michi/development/git/libreoffice/vcl/source/outdev/wallpaper.cxx:53 #12 0x00007fbf5b2523b0 in VirtualDevice::InnerImplSetOutputSizePixel (this=0x557da1d5e290, rNewSize=Size = {...}, bErase=true, bAlphaMaskTransparent=true) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:295 #13 0x00007fbf5b2527dd in VirtualDevice::SetOutputSizePixel (this=0x557da1d5e290, rNewSize=Size = {...}, bErase=true, bAlphaMaskTransparent=true) at /home/michi/development/git/libreoffice/vcl/source/gdi/virdev.cxx:350 #14 0x00007fbf5b2ac951 in Bitmap::Bitmap (this=0x7fffdcfcae00, rBitmapEx=...) at /home/michi/development/git/libreoffice/vcl/source/bitmap/bitmap.cxx:146 #15 0x00007fbf5b5e8e6f in vcl::PngImageReader::read (this=0x7fffdcfcb128, rBitmap=...) at /home/michi/development/git/libreoffice/vcl/source/filter/png/PngImageReader.cxx:820 #16 0x00007fbf2c1be088 in (anonymous namespace)::toXGraphic (rImage=...) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:36 #17 0x00007fbf2c1bda8e in avmedia::qt::QtFrameGrabber::onVideoFrameChanged (this=0x7fbf24003b00, rFrame=...) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:73 #18 0x00007fbf2c1c33d4 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}::operator()() const (this=0x7fffdcfcb300) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #19 0x00007fbf2c1c3359 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call(void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), avmedia::qt::QtFrameGrabber*, void**)::{lambda()#1}&&) (args=0x7fbf24003bd8, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #20 0x00007fbf2c1c3323 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<QVideoFrame const&>, void, void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call (f=(void (avmedia::qt::QtFrameGrabber::*)(class avmedia::qt::QtFrameGrabber * const, const class QVideoFrame &)) 0x7fbf2c1bda40 <avmedia::qt::QtFrameGrabber::onVideoFrameChanged(QVideoFrame const&)>, o=0x7fbf24003b00, arg=0x7fbf24003bd8) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #21 0x00007fbf2c1c329d in QtPrivate::FunctionPointer<void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&)>::call<QtPrivate::List<QVideoFrame const&>, void> (f=(void (avmedia::qt::QtFrameGrabber::*)(class avmedia::qt::QtFrameGrabber * const, const class QVideoFrame &)) 0x7fbf2c1bda40 <avmedia::qt::QtFrameGrabber::onVideoFrameChanged(QVideoFrame const&)>, o=0x7fbf24003b00, arg=0x7fbf24003bd8) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #22 0x00007fbf2c1c31c6 in QtPrivate::QCallableObject<void (avmedia::qt::QtFrameGrabber::*)(QVideoFrame const&), QtPrivate::List<QVideoFrame const&>, void>::impl (which=1, this_=0x557d9d23f1c0, r=0x7fbf24003b00, a=0x7fbf24003bd8, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #23 0x00007fbf51907b62 in QtPrivate::QSlotObjectBase::call (this=0x557d9d23f1c0, r=0x7fbf24003b00, a=0x7fbf24003bd8) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #24 0x00007fbf51b1a02c in QMetaCallEvent::placeMetaCall (this=0x7fbf24003b90, object=0x7fbf24003b00) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:544 #25 0x00007fbf51b1c1c1 in QObject::event (this=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:1465 #26 0x00007fbf4f9e6130 in QApplicationPrivate::notify_helper (this=0x557d975ccb40, receiver=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3307 #27 0x00007fbf4f9ea038 in QApplication::notify (this=0x557d975bdec0, receiver=0x7fbf24003b00, e=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3257 #28 0x00007fbf51a52ac9 in QCoreApplication::notifyInternal2 (receiver=0x7fbf24003b00, event=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #29 0x00007fbf51a53739 in QCoreApplication::sendEvent (receiver=0x7fbf24003b00, event=0x7fbf24003b90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #30 0x00007fbf51a5466a in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x557d975f3770) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1904 #31 0x00007fbf51a5357c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1757 #32 0x00007fbf5205bba1 in postEventSourceDispatch (s=0x557d9761ac80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #33 0x00007fbf561043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007fbf561065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007fbf56106d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #36 0x00007fbf5205addb in QEventDispatcherGlib::processEvents (this=0x557d975bf280, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #37 0x00007fbf5119f838 in QPAEventDispatcherGlib::processEvents (this=0x557d975bf280, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89 #38 0x00007fbf52a19b84 in QtInstance::ImplYield (this=0x557d976494e0, bWait=false, bHandleAllCurrentEvents=true) at vcl/qt6/../qt5/QtInstance.cxx:503 #39 0x00007fbf52a1ce71 in QtInstance::DoYield (this=0x557d976494e0, bWait=false, bHandleAllCurrentEvents=true) at vcl/qt6/../qt5/QtInstance.cxx:512 #40 0x00007fbf5b45f3a6 in ImplYield (i_bWait=false, i_bAllEvents=true) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #41 0x00007fbf5b45f667 in Scheduler::ProcessEventsToIdle () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:435 #42 0x00007fbf2c1be3cd in avmedia::qt::QtFrameGrabber::grabFrame (this=0x7fbf24003b00, fMediaTime=0) at /home/michi/development/git/libreoffice/avmedia/source/qt6/QtFrameGrabber.cxx:100 #43 0x00007fbf2c1be4ce in non-virtual thunk to avmedia::qt::QtFrameGrabber::grabFrame(double) () at /home/michi/development/git/libreoffice/instdir/program/../program/libavmediaqt6.so #44 0x00007fbf5d3e5b13 in avmedia::MediaWindow::grabFrame (xPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168, rGraphic=empty uno::Reference) at /home/michi/development/git/libreoffice/avmedia/source/viewer/mediawindow.cxx:384 #45 0x00007fbf5e430b5f in SdrMediaObj::getSnapshot() const::$_0::operator()(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) const (this=0x557d9c98fea0, rPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdomedia.cxx:195 #46 0x00007fbf5e430add in std::__invoke_impl<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(std::__invoke_other, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) (__f=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:61 #47 0x00007fbf5e430a8d in std::__invoke_r<void, SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&>(SdrMediaObj::getSnapshot() const::$_0&, com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&) (__fn=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:111 #48 0x00007fbf5e430905 in std::_Function_handler<void(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&), SdrMediaObj::getSnapshot() const::$_0>::_M_invoke (__functor=..., __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:290 #49 0x00007fbf5d3ec066 in std::function<void(com::sun::star::uno::Reference<com::sun::star::media::XPlayer> const&)>::operator() (this=0x557d9c975aa8, __args=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_function.h:591 #50 0x00007fbf5d3e8261 in avmedia::PlayerListener::callPlayerWindowSizeAvailable (this=0x557d9c975a60, rPlayer=uno::Reference to (avmedia::qt::QtPlayer *) 0x557d9c991168) at include/avmedia/mediawindow.hxx:74 #51 0x00007fbf5d3e5eab in avmedia::MediaWindow::grabFrame (rURL="file:///tmp/7qg9UE.ogg", rReferer="", sMimeType="audio/ogg", xPreferredPixelSizeListener=rtl::Reference to 0x557d9c975a60) at /home/michi/development/git/libreoffice/avmedia/source/viewer/mediawindow.cxx:434 #52 0x00007fbf5e42e93c in SdrMediaObj::getSnapshot (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdomedia.cxx:199 #53 0x00007fbf5e17a1a9 in sdr::contact::ViewContactOfSdrMediaObj::createViewIndependentPrimitive2DSequence (this=0x557d997790d0, rVisitor=...) at /home/michi/development/git/libreoffice/svx/source/sdr/contact/viewcontactofsdrmediaobj.cxx:122 #54 0x00007fbf5e19363b in sdr::contact::ViewContact::getViewIndependentPrimitive2DContainer (this=0x557d997790d0, rVisitor=...) at /home/michi/development/git/libreoffice/svx/source/sdr/contact/viewcontact.cxx:261 #55 0x00007fbf5e3c8a34 in SdrObject::RecalcBoundRect (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdobj.cxx:988 #56 0x00007fbf5e3c8959 in SdrObject::GetCurrentBoundRect (this=0x557d9921fd10) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdobj.cxx:958 #57 0x00007fbf5e4b91d0 in SdrObjList::RecalcRects (this=0x557d9925ec30) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpage.cxx:242 #58 0x00007fbf5e4bcf99 in SdrObjList::GetAllObjBoundRect (this=0x557d9925ec30) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpage.cxx:740 #59 0x00007fbf5e4e1142 in SdrPageView::InvalidateAllWin (this=0x557d9c973a00) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpagv.cxx:202 #60 0x00007fbf5e4e3301 in SdrPageView::SetHelpLines (this=0x557d9c973a00, rHLL=...) at /home/michi/development/git/libreoffice/svx/source/svdraw/svdpagv.cxx:687 #61 0x00007fbf2fe0a543 in sd::DrawViewShell::SwitchPage (this=0x557d990dc4b0, nSelectedPage=0, bAllowChangeFocus=true, bUpdateScrollbars=true) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews1.cxx:1050 #62 0x00007fbf2fe0869d in sd::DrawViewShell::ChangeEditMode (this=0x557d990dc4b0, eEMode=EditMode::Page, bIsLayerModeActive=false) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews1.cxx:409 #63 0x00007fbf2fe566cc in sd::DrawViewShell::ReadFrameViewData (this=0x557d990dc4b0, pView=0x557d9c970370) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews5.cxx:291 #64 0x00007fbf2fe6f3e1 in sd::DrawViewShell::Construct (this=0x557d990dc4b0, pDocSh=0x557d98f74bd0, eInitialPageKind=PageKind::Standard) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviewsa.cxx:304 #65 0x00007fbf2fe6ea0d in sd::DrawViewShell::DrawViewShell (this=0x557d990dc4b0, rViewShellBase=..., pParentWindow=0x557d99842f80, ePageKind=PageKind::Standard, pFrameViewArgument=0x0) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviewsa.cxx:126 #66 0x00007fbf2f9caedd in std::_Construct<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (__p=0x557d990dc4b0, __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:119 #67 0x00007fbf2f9caafe in std::allocator_traits<std::allocator<void> >::construct<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (__p=0x557d990dc4b0, __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/alloc_traits.h:706 #68 std::_Sp_counted_ptr_inplace<sd::DrawViewShell, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (this=0x557d990dc4a0, __a=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:607 #69 0x00007fbf2f9ca8f7 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<sd::DrawViewShell, std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (this=0x7fffdcfcfce0, __p=@0x7fffdcfcfcd8: 0x0, __a=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:970 #70 0x00007fbf2f9ca81a in std::__shared_ptr<sd::DrawViewShell, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (this=0x7fffdcfcfcd8, __tag=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr_base.h:1713 #71 0x00007fbf2f9ca792 in std::shared_ptr<sd::DrawViewShell>::shared_ptr<std::allocator<void>, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (this=0x7fffdcfcfcd8, __tag=..., __args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:463 #72 0x00007fbf2f9c4911 in std::make_shared<sd::DrawViewShell, sd::ViewShellBase&, vcl::Window*, PageKind, sd::FrameView*&> (__args=..., __args=@0x7fffdcfcfcd0: 0x557d99842f80, __args=@0x7fffdcfcfccc: PageKind::Standard, __args=@0x7fffdcfcfcf0: 0x0) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/shared_ptr.h:1007 #73 0x00007fbf2f9c11f3 in sd::framework::BasicViewFactory::CreateViewShell (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910, rWindow=..., pFrameView=0x0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:284 #74 0x00007fbf2f9c0553 in sd::framework::BasicViewFactory::CreateView (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910, rWindow=..., rxPane=rtl::Reference to 0x557d9c953020, pFrameView=0x0, bIsCenterPane=true) at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:241 #75 0x00007fbf2f9bffcb in sd::framework::BasicViewFactory::createResource (this=0x557d9963e1a0, rxViewId=rtl::Reference to 0x557d998d8910) at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:167 #76 0x00007fbf2f994c48 in sd::framework::ConfigurationControllerResourceManager::ActivateResource (this=0x557d9963f120, rxResourceId=rtl::Reference to 0x557d998d8910, rxConfiguration=rtl::Reference to 0x557d999b0dc0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:130 #77 0x00007fbf2f9945f8 in sd::framework::ConfigurationControllerResourceManager::ActivateResources (this=0x557d9963f120, rResources=std::__debug::vector of length 5, capacity 5 = {...}, rxConfiguration=rtl::Reference to 0x557d999b0dc0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:75 #78 0x00007fbf2f99d07a in sd::framework::ConfigurationUpdater::UpdateCore (this=0x557d999afee0, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:251 #79 0x00007fbf2f99c61c in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x557d999afee0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161 #80 0x00007fbf2f99c09b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x557d999afee0, rxRequestedConfiguration=rtl::Reference to 0x557d998c8ed0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108 #81 0x00007fbf2f96fe69 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x557d999b0e60) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158 #82 0x00007fbf2f982909 in sd::framework::ConfigurationController::ProcessEvent (this=0x557d999b0bf0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationController.cxx:157 #83 0x00007fbf2fdbc797 in sd::ViewShellBase::LateInit (this=0x557d99242e30, rsDefaultView="") at /home/michi/development/git/libreoffice/sd/source/ui/view/ViewShellBase.cxx:345 #84 0x00007fbf2fd78a33 in sd::ImpressViewShellBase::CreateInstance (rFrame=..., pOldView=0x0) at /home/michi/development/git/libreoffice/sd/source/ui/view/ImpressViewShellBase.cxx:45 #85 0x00007fbf60a31855 in SfxViewFactory::CreateInstance (this=0x557d991cd6a0, rFrame=..., pOldSh=0x0) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfac.cxx:26 #86 0x00007fbf60840fbf in SfxBaseModel::createViewController (this=0x557d9913bc50, i_rViewName="Default", i_rArguments=empty uno::Sequence, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40) at /home/michi/development/git/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:4355 #87 0x00007fbf60841a9f in non-virtual thunk to SfxBaseModel::createViewController(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) () at /home/michi/development/git/libreoffice/instdir/program/libsfxlo.so #88 0x00007fbf609dc0f4 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SdXImpressDocument *) 0x557d9913bce0, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:586 #89 0x00007fbf609d96ac in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x557d99388d30, rArgs=uno::Sequence of length 12 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x557d98f32e40) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:813 #90 0x00007fbf615c72c4 in framework::LoadEnv::impl_loadContent (this=0x557d98866fa8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180 #91 0x00007fbf615c4425 in framework::LoadEnv::start (this=0x557d98866fa8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415 #92 0x00007fbf615c20d2 in framework::LoadEnv::startLoading (this=0x557d98866fa8, sURL="file:///home/michi/git/computer-doc/misc/impress_presentations_with_audio_and_video/slide_with_video.odp", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x557d978a34b8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatures::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311 #93 0x00007fbf6145aaa1 in framework::LoadDispatcher::impl_dispatch (this=0x557d98866f50, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107 #94 0x00007fbf6145b801 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x557d98866f50, rURL=..., lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #95 0x00007fbf6145b8a4 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #96 0x00007fbf629f10c0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x557d978a34a8, sURL="file:///home/michi/git/computer-doc/misc/impress_presentations_with_audio_and_video/slide_with_video.odp", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62 #97 0x00007fbf64377054 in desktop::DispatchWatcher::executeDispatchRequests (this=0x557d99219bb0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false, pFlags=0x7fffdcfd6994) at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:531 #98 0x00007fbf64395488 in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1317 #99 0x00007fbf6432ee7f in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2218 #100 0x00007fbf6432cdf3 in desktop::Desktop::OpenClients_Impl (this=0x7fffdcfda450) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1978 #101 0x00007fbf6432b45d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7fffdcfda450, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1962 #102 0x00007fbf5ac98231 in Link<void*, void>::Call (this=0x557d98fba098, data=0x0) at include/tools/link.hxx:105 #103 0x00007fbf5ac93af1 in ImplHandleUserEvent (pSVEvent=0x557d98fba090) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #104 0x00007fbf5ac90a1f in ImplWindowFrameProc (_pWindow=0x557d988b22c0, nEvent=SalEvent::UserEvent, pEvent=0x557d98fba090) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2876 #105 0x00007fbf529fb3ec in SalFrame::CallCallback (this=0x557d988b3f20, nEvent=SalEvent::UserEvent, pEvent=0x557d98fba090) at vcl/inc/salframe.hxx:310 #106 0x00007fbf52a1d2af in QtInstance::ProcessEvent (this=0x557d976494e0, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:594 #107 0x00007fbf5b393fbd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffdcfd88a0) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #108 0x00007fbf5b393e8b in SalUserEventList::DispatchUserEvents (this=0x557d97649518, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #109 0x00007fbf52a19a91 in QtInstance::ImplYield (this=0x557d976494e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:490 #110 0x00007fbf52a1ce71 in QtInstance::DoYield (this=0x557d976494e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:512 #111 0x00007fbf5b45f3a6 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #112 0x00007fbf5b45ecbf in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #113 0x00007fbf5b45eaa0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #114 0x00007fbf64329435 in desktop::Desktop::Main (this=0x7fffdcfda450) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #115 0x00007fbf5b48b2c6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #116 0x00007fbf5b48cdb9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #117 0x00007fbf643a30ea in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #118 0x0000557d789219fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #119 0x0000557d789219d7 in main (argc=2, argv=0x7fffdcfda658) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I1e2265e38d7c93171146df4f58666e9cf22bdaf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189036 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 13, 2025
As the GVariant format string doc says [1] about pointers: > The `&` character is used to indicate that serialised data should be > directly exchanged via a pointer. > > Currently, the only use for this character is when it is applied to a > string (ie: `&s`, `&o` or `&g`). For `g_variant_new()` this has absolutely no > effect. The string is collected and duplicated normally. For > `g_variant_get()` it means that instead of creating a newly allocated copy > of the string, a pointer to the serialised data is returned. This > pointer should not be freed. Validity checks are performed to ensure > that the string data will always be properly nul-terminated. Therefore, freeing the string with g_free(pLabel); is incorrect and resulted in a crash when starting Writer with the gtk4 VCL plugin, s. backtrace below. Use just "s" instead of "&s" for the format string to get a string copy that is owned and can be freed. (Dropping the `g_free` might be an alternative and avoid a string copy, but it's not instantly clear to me whether using "a pointer to the serialised data" is safe without digging any deeper what exactly that means.) Backtrace: free(): invalid pointer [New Thread 125500.125502] [New Thread 125500.125503] [New Thread 125500.125504] [New Thread 125500.125505] [New Thread 125500.125506] [New Thread 125500.125507] [New Thread 125500.125508] [New Thread 125500.125510] [New Thread 125500.125511] [New Thread 125500.125525] Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f0bb969de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 #2 0x00007f0bb9649d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f0bb96324f0 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f0bb963332d in __libc_message_impl (fmt=fmt@entry=0x7f0bb97b5303 "%s\n") at ../sysdeps/posix/libc_fatal.c:134 #5 0x00007f0bb96a7965 in malloc_printerr (str=str@entry=0x7f0bb97b3082 "free(): invalid pointer") at ./malloc/malloc.c:5772 #6 0x00007f0bb96a9bf4 in _int_free (av=0x7f0bb97f1ac0 <main_arena>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4507 #7 0x00007f0bb96ac43f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3398 #8 0x00007f0ba62b908a in (anonymous namespace)::MenuHelper::get_item_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5684 #9 0x00007f0ba63013d8 in (anonymous namespace)::GtkInstanceMenu::get_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11694 #10 0x00007f0ba6301b2f in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_label(rtl::OUString const&) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11823 #11 0x00007f0bb482d026 in (anonymous namespace)::SelectionTypePopup::GetItemTextForState (this=0x7ffed304ad80, nState=0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:56 #12 0x00007f0bb482cc59 in SvxSelectionModeControl::StateChangedAtStatusBarControl (this=0x55b0c8d2d6e0, eState=SfxItemState::DEFAULT, pState=0x55b0c8f331c0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:128 #13 0x00007f0bb5f9af1e in SfxStatusBarControl::statusChanged (this=0x55b0c8d2d6e0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/statbar/stbitem.cxx:263 #14 0x00007f0bb5a9d4c8 in SfxDispatchController_Impl::addStatusListener (this=0x55b0c8ed6380, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:841 #15 0x00007f0bb5a9d174 in SfxOfficeDispatch::addStatusListener (this=0x55b0c8f280e0, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:283 #16 0x00007f0bb28a8577 in svt::StatusbarController::bindListener (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:462 #17 0x00007f0bb28a7f09 in svt::StatusbarController::update (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:169 #18 0x00007f0bb6d41a6b in framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > >::operator() (this=0x7ffed304b547, rElement={...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:69 #19 0x00007f0bb6d3e5ef in std::for_each<__gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > >, std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > >, std::bidirectional_iterator_tag>, framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > > > (__first={...}, __last={...}, __f=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786 #20 0x00007f0bb6d3d9a5 in framework::StatusBarManager::UpdateControllers (this=0x55b0c8cefc90) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:269 #21 0x00007f0bb6d4028b in framework::StatusBarManager::FillStatusBar (this=0x55b0c8cefc90, rItemContainer=uno::Reference to (framework::ConstItemContainer *) 0x55b0c8e017e8) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:479 #22 0x00007f0bb6d4ae38 in framework::StatusBarWrapper::initialize (this=0x55b0c8d0f060, aArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarwrapper.cxx:117 #23 0x00007f0bb6df9104 in framework::MenuBarFactory::CreateUIElement (ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}, ResourceType=u"private:resource/statusbar/", _xMenuBar=uno::Reference to (framework::StatusBarWrapper *) 0x55b0c8d0f0f8, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55b0ba8b8308) at /home/michi/development/git/libreoffice/framework/source/uifactory/menubarfactory.cxx:158 #24 0x00007f0bb6df9c0a in (anonymous namespace)::StatusBarFactory::createUIElement (this=0x55b0c8e03800, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/statusbarfactory.cxx:68 #25 0x00007f0bb6df9d74 in non-virtual thunk to (anonymous namespace)::StatusBarFactory::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #26 0x00007f0bb6e01290 in (anonymous namespace)::UIElementFactoryManager::createUIElement (this=0x55b0bf803260, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/uielementfactorymanager.cxx:440 #27 0x00007f0bb6e024f4 in non-virtual thunk to (anonymous namespace)::UIElementFactoryManager::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #28 0x00007f0bb6b6d427 in framework::LayoutManager::implts_createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:730 #29 0x00007f0bb6b71852 in framework::LayoutManager::implts_createStatusBar (this=0x55b0c1e3a170, aStatusBarName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:849 #30 0x00007f0bb6b75bcc in framework::LayoutManager::createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1443 #31 0x00007f0bb6b76b57 in framework::LayoutManager::requestElement (this=0x55b0c1e3a170, rResourceURL="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1570 #32 0x00007f0bb595f0b5 in SfxWorkWindow::UpdateStatusBar_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1471 #33 0x00007f0bb595e9a0 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1242 #34 0x00007f0bb595e001 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #35 0x00007f0bb59ca573 in SfxDispatcher::Update_Impl (this=0x55b0c742b5b0, bForce=false) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1123 #36 0x00007f0bb6003921 in SfxBaseController::ConnectSfxFrame_Impl (this=0x55b0c7469930, i_eConnect=SfxBaseController::E_CONNECT) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1207 #37 0x00007f0bb6002ade in SfxBaseController::attachFrame (this=0x55b0c7469930, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:531 #38 0x00007f0bb5fd38b9 in utl::ConnectFrameControllerModel (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, xController=uno::Reference to (SwXTextView *) 0x55b0c7469958, xModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670) at include/unotools/fcm.hxx:57 #39 0x00007f0bb5fcfec1 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585 #40 0x00007f0bb5fcd45c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x55b0c22dc9f0, rArgs=uno::Sequence of length 9 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764 #41 0x00007f0bb6bc2644 in framework::LoadEnv::impl_loadContent (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180 #42 0x00007f0bb6bbf7a5 in framework::LoadEnv::start (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415 #43 0x00007f0bb6bbd452 in framework::LoadEnv::startLoading (this=0x55b0c1271ec8, sURL="private:factory/swriter", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x55b0bbbee8c8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatu--Type <RET> for more, q to quit, c to continue without paging-- res::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311 #44 0x00007f0bb6a56311 in framework::LoadDispatcher::impl_dispatch (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107 #45 0x00007f0bb6a57071 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #46 0x00007f0bb6a57114 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #47 0x00007f0bb80110b0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x55b0bbbee8b8, sURL="private:factory/swriter", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62 #48 0x00007f0bb99757fd in desktop::DispatchWatcher::executeDispatchRequests (this=0x55b0c16043b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529 #49 0x00007f0bb9993b5a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347 #50 0x00007f0bb992f196 in desktop::Desktop::OpenDefault () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2276 #51 0x00007f0bb992e5cd in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2220 #52 0x00007f0bb992c3a3 in desktop::Desktop::OpenClients_Impl (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979 #53 0x00007f0bb992aa3d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffed3055280, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963 #54 0x00007f0bb02ac091 in Link<void*, void>::Call (this=0x55b0bffb6ba8, data=0x0) at include/tools/link.hxx:105 #55 0x00007f0bb02a8291 in ImplHandleUserEvent (pSVEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #56 0x00007f0bb02a51ba in ImplWindowFrameProc (_pWindow=0x55b0bfc9e9b0, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #57 0x00007f0bb0e665bc in SalFrame::CallCallback (this=0x55b0bf7eaa50, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at vcl/inc/salframe.hxx:311 #58 0x00007f0bb0e8ef5f in SalGenericDisplay::ProcessEvent (this=0x55b0baa61510, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #59 0x00007f0bb09aaddd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffed3053530) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #60 0x00007f0bb09aacb6 in SalUserEventList::DispatchUserEvents (this=0x55b0baa61510, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #61 0x00007f0bb0e8eeb5 in SalGenericDisplay::DispatchInternalEvent (this=0x55b0baa61510, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #62 0x00007f0ba628536f in call_userEventFn (data=0x55b0ba8d13e0) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:827 #63 0x00007f0babd03d5f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #64 0x00007f0babd05fd7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #65 0x00007f0babd06740 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #66 0x00007f0ba62840ac in GtkSalData::Yield (this=0x55b0ba8d13e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:405 #67 0x00007f0ba6289863 in GtkInstance::DoYield (this=0x55b0ba8d1290, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:439 #68 0x00007f0bb0a75c06 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #69 0x00007f0bb0a7551f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #70 0x00007f0bb0a75300 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #71 0x00007f0bb9928a19 in desktop::Desktop::Main (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #72 0x00007f0bb0a970d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #73 0x00007f0bb0a98cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #74 0x00007f0bb99a22fa in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #75 0x000055b09e4b3a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #76 0x000055b09e4b3a47 in main (argc=2, argv=0x7ffed3055488) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://docs.gtk.org/glib/gvariant-format-strings.html#pointers Change-Id: I87bd2840ac573426264d1dff2fd40ab292f09fc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181666 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 38024bc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 14, 2025
...to avoid > warn:legacy.osl:1217871:1217871:sd/source/ui/framework/tools/FrameworkHelper.cxx:656: FrameworkHelper::WaitForEvent(), no event for a minute? giving up! > warn:legacy.osl:1217871:1217871:canvas/source/cairo/cairo_spritecanvas.cxx:82: CairoSpriteCanvas::SpriteCanvas: No Cairo capability > ================================================================= > ==1217871==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fa9e7be2720 at pc 0x7fa98f2d3422 bp 0x7ffea89263e0 sp 0x7ffea89263d8 > WRITE of size 1 at 0x7fa9e7be2720 thread T0 > #0 0x7fa98f2d3421 in sd::framework::(anonymous namespace)::FlagUpdater::operator()(bool) const /sd/source/ui/framework/tools/FrameworkHelper.cxx:627:42 > #1 0x7fa98f2d330e in void std::__invoke_impl<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>(std::__invoke_other, sd::framework::(anonymous namespace)::FlagUpdater&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:61:14 > #2 0x7fa98f2d30ed in std::enable_if<is_invocable_r_v<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>, void>::type std::__invoke_r<void, sd::framework::(anonymous namespace)::FlagUpdater&, bool>(sd::framework::(anonymous namespace)::FlagUpdater&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:111:2 > #3 0x7fa98f2d2cad in std::_Function_handler<void (bool), sd::framework::(anonymous namespace)::FlagUpdater>::_M_invoke(std::_Any_data const&, bool&&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:290:9 > #4 0x7fa98f2dc5eb in std::function<void (bool)>::operator()(bool) const /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:591:9 > #5 0x7fa98f2ce73f in (anonymous namespace)::CallbackCaller::notifyConfigurationChange(sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/tools/FrameworkHelper.cxx:827:5 > #6 0x7fa98f0cb3be in sd::framework::ConfigurationControllerBroadcaster::NotifyListeners(std::__debug::vector<rtl::Reference<sd::framework::ConfigurationChangeListener>, std::allocator<rtl::Reference<sd::framework::ConfigurationChangeListener> > > const&, sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx:84:24 > #7 0x7fa98f0cbe73 in sd::framework::ConfigurationControllerBroadcaster::NotifyListeners(sd::framework::ConfigurationChangeEvent const&) /sd/source/ui/framework/configuration/ConfigurationControllerBroadcaster.cxx:109:9 > #8 0x7fa98f12ee24 in sd::framework::ConfigurationUpdater::UpdateConfiguration() /sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:169:28 > #9 0x7fa98f12d569 in sd::framework::ConfigurationUpdater::RequestUpdate(rtl::Reference<sd::framework::Configuration> const&) /sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108:13 > #10 0x7fa98f0536dc in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent() /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:158:33 > #11 0x7fa98f0521a9 in sd::framework::ChangeRequestQueueProcessor::ProcessEvent(void*) /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:115:5 > #12 0x7fa98f052018 in sd::framework::ChangeRequestQueueProcessor::LinkStubProcessEvent(void*, void*) /sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:109:1 > #13 0x7fa9caadaf2d in Link<void*, void>::Call(void*) const /include/tools/link.hxx:105:45 > #14 0x7fa9caac0560 in ImplHandleUserEvent(ImplSVEvent*) /vcl/source/window/winproc.cxx:2312:30 > #15 0x7fa9caaab2aa in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) /vcl/source/window/winproc.cxx:2876:13 > #16 0x7fa9ce83a5f2 in SalFrame::CallCallback(SalEvent, void const*) const /vcl/inc/salframe.hxx:310:29 > #17 0x7fa9ce8e7311 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) /vcl/headless/svpinst.cxx:284:22 > #18 0x7fa9ce8e7aa2 in non-virtual thunk to SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) /vcl/headless/svpinst.cxx > #19 0x7fa9cd06f7a3 in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const /vcl/source/app/salusereventlist.cxx:119:58 > #20 0x7fa9cd06ef3a in SalUserEventList::DispatchUserEvents(bool) /vcl/source/app/salusereventlist.cxx:120:13 > #21 0x7fa9ce8eb7ba in SvpSalInstance::ImplYield(bool, bool) /vcl/headless/svpinst.cxx:437:22 > #22 0x7fa9ce8edfd3 in SvpSalInstance::DoYield(bool, bool) /vcl/headless/svpinst.cxx:516:21 > #23 0x7fa9cd4d1a1a in ImplYield(bool, bool) /vcl/source/app/svapp.cxx:385:48 > #24 0x7fa9cd4d28cf in Scheduler::ProcessEventsToIdle() /vcl/source/app/svapp.cxx:435:12 > #25 0x7fa9a610ec3c in SdUiImpressTest::typeKey(SdXImpressDocument*, unsigned short) /sd/qa/unit/uiimpress.cxx:103:5 > #26 0x7fa9a619cf17 in testTdf166647_userpaint::TestBody() /sd/qa/unit/uiimpress.cxx:2012:5 > #27 0x7fa9a6327587 in void std::__invoke_impl<void, void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>(std::__invoke_memfun_deref, void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:74:14 > #28 0x7fa9a63271f4 in std::__invoke_result<void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>::type std::__invoke<void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&>(void (testTdf166647_userpaint::*&)(), testTdf166647_userpaint*&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:96:14 > #29 0x7fa9a6327070 in void std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:495:11 > #30 0x7fa9a6326dd4 in void std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>::operator()<void>() /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:580:17 > #31 0x7fa9a6326c4c in void std::__invoke_impl<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>(std::__invoke_other, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:61:14 > #32 0x7fa9a6326afc in std::enable_if<is_invocable_r_v<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>, void>::type std::__invoke_r<void, std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&>(std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()>&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:111:2 > #33 0x7fa9a632629c in std::_Function_handler<void (), std::_Bind<void (testTdf166647_userpaint::* (testTdf166647_userpaint*))()> >::_M_invoke(std::_Any_data const&) /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:290:9 > #34 0x7fa9a6217041 in std::function<void ()>::operator()() const /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_function.h:591:9 > #35 0x7fa9a6325668 in CppUnit::TestCaller<testTdf166647_userpaint>::runTest() /workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 > #36 0x7fa9ecf0988b in CppUnit::TestCaseMethodFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x31688b) > #37 0x7fa9ed3c86c0 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /test/source/vclbootstrapprotector.cxx:37:14 > #38 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc) > #39 0x7fa9e7651410 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:78:12 > #40 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc) > #41 0x7fa9ed2ff0ae in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) /unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:181:16 > #42 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc) > #43 0x7fa9ece619df in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x26e9df) > #44 0x7fa9eced8ccc in CppUnit::ProtectorChain::ProtectFunctor::operator()() const (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2e5ccc) > #45 0x7fa9eced2498 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x2df498) > #46 0x7fa9ecf7a1e7 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3871e7) > #47 0x7fa9ecf080eb in CppUnit::TestCase::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3150eb) > #48 0x7fa9ecf0bbc1 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x318bc1) > #49 0x7fa9ecf0ae18 in CppUnit::TestComposite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x317e18) > #50 0x7fa9ecf0bbc1 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x318bc1) > #51 0x7fa9ecf0ae18 in CppUnit::TestComposite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x317e18) > #52 0x7fa9ecfaf846 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3bc846) > #53 0x7fa9ecf78c9e in CppUnit::TestResult::runTest(CppUnit::Test*) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x385c9e) > #54 0x7fa9ecfb0712 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.15.so.1+0x3bd712) > #55 0x50a2bb in (anonymous namespace)::ProtectedFixtureFunctor::run() const /sal/cppunittester/cppunittester.cxx:328:20 > #56 0x506d13 in main2() /sal/cppunittester/cppunittester.cxx:482:16 > #57 0x50512f in sal_main() /sal/cppunittester/cppunittester.cxx:627:14 > #58 0x504f6e in main /sal/cppunittester/cppunittester.cxx:622:1 (<https://ci.libreoffice.org/job/lo_ubsan/3648/>) as seen during (recently introduced) CppunitTest_sd_uiimpress testTdf166647_userpaint::TestBody. (I assume that there is a pre-existing race accessing CallbackCaller::mxConfigurationController, and that an additional CallbackCaller::stop accessing it doesn't make things worse, so left that point alone for now.) Change-Id: I069b2935b5ca6430710d401b4cae32e4b9c8b7f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189598 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 20, 2025
As the GVariant format string doc says [1] about pointers: > The `&` character is used to indicate that serialised data should be > directly exchanged via a pointer. > > Currently, the only use for this character is when it is applied to a > string (ie: `&s`, `&o` or `&g`). For `g_variant_new()` this has absolutely no > effect. The string is collected and duplicated normally. For > `g_variant_get()` it means that instead of creating a newly allocated copy > of the string, a pointer to the serialised data is returned. This > pointer should not be freed. Validity checks are performed to ensure > that the string data will always be properly nul-terminated. Therefore, freeing the string with g_free(pLabel); is incorrect and resulted in a crash when starting Writer with the gtk4 VCL plugin, s. backtrace below. Use just "s" instead of "&s" for the format string to get a string copy that is owned and can be freed. (Dropping the `g_free` might be an alternative and avoid a string copy, but it's not instantly clear to me whether using "a pointer to the serialised data" is safe without digging any deeper what exactly that means.) Backtrace: free(): invalid pointer [New Thread 125500.125502] [New Thread 125500.125503] [New Thread 125500.125504] [New Thread 125500.125505] [New Thread 125500.125506] [New Thread 125500.125507] [New Thread 125500.125508] [New Thread 125500.125510] [New Thread 125500.125511] [New Thread 125500.125525] Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f0bb969de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 #2 0x00007f0bb9649d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f0bb96324f0 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f0bb963332d in __libc_message_impl (fmt=fmt@entry=0x7f0bb97b5303 "%s\n") at ../sysdeps/posix/libc_fatal.c:134 #5 0x00007f0bb96a7965 in malloc_printerr (str=str@entry=0x7f0bb97b3082 "free(): invalid pointer") at ./malloc/malloc.c:5772 #6 0x00007f0bb96a9bf4 in _int_free (av=0x7f0bb97f1ac0 <main_arena>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4507 #7 0x00007f0bb96ac43f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3398 #8 0x00007f0ba62b908a in (anonymous namespace)::MenuHelper::get_item_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5684 #9 0x00007f0ba63013d8 in (anonymous namespace)::GtkInstanceMenu::get_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11694 #10 0x00007f0ba6301b2f in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_label(rtl::OUString const&) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11823 #11 0x00007f0bb482d026 in (anonymous namespace)::SelectionTypePopup::GetItemTextForState (this=0x7ffed304ad80, nState=0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:56 #12 0x00007f0bb482cc59 in SvxSelectionModeControl::StateChangedAtStatusBarControl (this=0x55b0c8d2d6e0, eState=SfxItemState::DEFAULT, pState=0x55b0c8f331c0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:128 #13 0x00007f0bb5f9af1e in SfxStatusBarControl::statusChanged (this=0x55b0c8d2d6e0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/statbar/stbitem.cxx:263 #14 0x00007f0bb5a9d4c8 in SfxDispatchController_Impl::addStatusListener (this=0x55b0c8ed6380, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:841 #15 0x00007f0bb5a9d174 in SfxOfficeDispatch::addStatusListener (this=0x55b0c8f280e0, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:283 #16 0x00007f0bb28a8577 in svt::StatusbarController::bindListener (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:462 #17 0x00007f0bb28a7f09 in svt::StatusbarController::update (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:169 #18 0x00007f0bb6d41a6b in framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > >::operator() (this=0x7ffed304b547, rElement={...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:69 #19 0x00007f0bb6d3e5ef in std::for_each<__gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > >, std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > >, std::bidirectional_iterator_tag>, framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > > > (__first={...}, __last={...}, __f=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786 #20 0x00007f0bb6d3d9a5 in framework::StatusBarManager::UpdateControllers (this=0x55b0c8cefc90) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:269 #21 0x00007f0bb6d4028b in framework::StatusBarManager::FillStatusBar (this=0x55b0c8cefc90, rItemContainer=uno::Reference to (framework::ConstItemContainer *) 0x55b0c8e017e8) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:479 #22 0x00007f0bb6d4ae38 in framework::StatusBarWrapper::initialize (this=0x55b0c8d0f060, aArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarwrapper.cxx:117 #23 0x00007f0bb6df9104 in framework::MenuBarFactory::CreateUIElement (ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}, ResourceType=u"private:resource/statusbar/", _xMenuBar=uno::Reference to (framework::StatusBarWrapper *) 0x55b0c8d0f0f8, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55b0ba8b8308) at /home/michi/development/git/libreoffice/framework/source/uifactory/menubarfactory.cxx:158 #24 0x00007f0bb6df9c0a in (anonymous namespace)::StatusBarFactory::createUIElement (this=0x55b0c8e03800, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/statusbarfactory.cxx:68 #25 0x00007f0bb6df9d74 in non-virtual thunk to (anonymous namespace)::StatusBarFactory::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #26 0x00007f0bb6e01290 in (anonymous namespace)::UIElementFactoryManager::createUIElement (this=0x55b0bf803260, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/uielementfactorymanager.cxx:440 #27 0x00007f0bb6e024f4 in non-virtual thunk to (anonymous namespace)::UIElementFactoryManager::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #28 0x00007f0bb6b6d427 in framework::LayoutManager::implts_createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:730 #29 0x00007f0bb6b71852 in framework::LayoutManager::implts_createStatusBar (this=0x55b0c1e3a170, aStatusBarName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:849 #30 0x00007f0bb6b75bcc in framework::LayoutManager::createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1443 #31 0x00007f0bb6b76b57 in framework::LayoutManager::requestElement (this=0x55b0c1e3a170, rResourceURL="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1570 #32 0x00007f0bb595f0b5 in SfxWorkWindow::UpdateStatusBar_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1471 #33 0x00007f0bb595e9a0 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1242 #34 0x00007f0bb595e001 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #35 0x00007f0bb59ca573 in SfxDispatcher::Update_Impl (this=0x55b0c742b5b0, bForce=false) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1123 #36 0x00007f0bb6003921 in SfxBaseController::ConnectSfxFrame_Impl (this=0x55b0c7469930, i_eConnect=SfxBaseController::E_CONNECT) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1207 #37 0x00007f0bb6002ade in SfxBaseController::attachFrame (this=0x55b0c7469930, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:531 #38 0x00007f0bb5fd38b9 in utl::ConnectFrameControllerModel (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, xController=uno::Reference to (SwXTextView *) 0x55b0c7469958, xModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670) at include/unotools/fcm.hxx:57 #39 0x00007f0bb5fcfec1 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585 #40 0x00007f0bb5fcd45c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x55b0c22dc9f0, rArgs=uno::Sequence of length 9 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764 #41 0x00007f0bb6bc2644 in framework::LoadEnv::impl_loadContent (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180 #42 0x00007f0bb6bbf7a5 in framework::LoadEnv::start (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415 #43 0x00007f0bb6bbd452 in framework::LoadEnv::startLoading (this=0x55b0c1271ec8, sURL="private:factory/swriter", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x55b0bbbee8c8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatu--Type <RET> for more, q to quit, c to continue without paging-- res::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311 #44 0x00007f0bb6a56311 in framework::LoadDispatcher::impl_dispatch (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107 #45 0x00007f0bb6a57071 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #46 0x00007f0bb6a57114 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #47 0x00007f0bb80110b0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x55b0bbbee8b8, sURL="private:factory/swriter", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62 #48 0x00007f0bb99757fd in desktop::DispatchWatcher::executeDispatchRequests (this=0x55b0c16043b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529 #49 0x00007f0bb9993b5a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347 #50 0x00007f0bb992f196 in desktop::Desktop::OpenDefault () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2276 #51 0x00007f0bb992e5cd in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2220 #52 0x00007f0bb992c3a3 in desktop::Desktop::OpenClients_Impl (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979 #53 0x00007f0bb992aa3d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffed3055280, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963 #54 0x00007f0bb02ac091 in Link<void*, void>::Call (this=0x55b0bffb6ba8, data=0x0) at include/tools/link.hxx:105 #55 0x00007f0bb02a8291 in ImplHandleUserEvent (pSVEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #56 0x00007f0bb02a51ba in ImplWindowFrameProc (_pWindow=0x55b0bfc9e9b0, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #57 0x00007f0bb0e665bc in SalFrame::CallCallback (this=0x55b0bf7eaa50, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at vcl/inc/salframe.hxx:311 #58 0x00007f0bb0e8ef5f in SalGenericDisplay::ProcessEvent (this=0x55b0baa61510, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #59 0x00007f0bb09aaddd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffed3053530) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #60 0x00007f0bb09aacb6 in SalUserEventList::DispatchUserEvents (this=0x55b0baa61510, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #61 0x00007f0bb0e8eeb5 in SalGenericDisplay::DispatchInternalEvent (this=0x55b0baa61510, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #62 0x00007f0ba628536f in call_userEventFn (data=0x55b0ba8d13e0) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:827 #63 0x00007f0babd03d5f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #64 0x00007f0babd05fd7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #65 0x00007f0babd06740 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #66 0x00007f0ba62840ac in GtkSalData::Yield (this=0x55b0ba8d13e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:405 #67 0x00007f0ba6289863 in GtkInstance::DoYield (this=0x55b0ba8d1290, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:439 #68 0x00007f0bb0a75c06 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #69 0x00007f0bb0a7551f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #70 0x00007f0bb0a75300 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #71 0x00007f0bb9928a19 in desktop::Desktop::Main (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #72 0x00007f0bb0a970d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #73 0x00007f0bb0a98cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #74 0x00007f0bb99a22fa in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #75 0x000055b09e4b3a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #76 0x000055b09e4b3a47 in main (argc=2, argv=0x7ffed3055488) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://docs.gtk.org/glib/gvariant-format-strings.html#pointers Change-Id: I87bd2840ac573426264d1dff2fd40ab292f09fc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181666 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 38024bc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 28, 2025
This fixes the below assert seen with gtk4 when hovering over paragraph styles in the "Styles" sidebar deck in Writer with. soffice.bin: /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed. Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007fe0abe9e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89 #2 0x00007fe0abe49cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fe0abe324ac in __GI_abort () at ./stdlib/abort.c:73 #4 0x00007fe0abe32420 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=36, function=<optimized out>) at ./assert/assert.c:118 #5 0x00007fe0a31b5ccc in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36 #6 0x00007fe0aa32b044 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54 #7 0x00007fe0549fc572 in SwModify::CallSwClientNotify (this=0x559770009880, rHint=...) at /home/michi/development/git/libreoffice/sw/source/core/attr/calbck.cxx:273 #8 0x00007fe0549fc9b1 in sw::BroadcastingModify::CallSwClientNotify (this=0x559770009880, rHint=...) at /home/michi/development/git/libreoffice/sw/source/core/attr/calbck.cxx:297 #9 0x00007fe054f0cd67 in SwDoc::IsUsed (this=0x55976fdd1cf0, rModify=...) at /home/michi/development/git/libreoffice/sw/source/core/doc/poolfmt.cxx:109 #10 0x00007fe055e8fe47 in SwDocStyleSheet::IsUsed (this=0x55976fe02e80) at /home/michi/development/git/libreoffice/sw/source/uibase/app/docstyle.cxx:2481 #11 0x00007fe0a83f603d in StyleList::QueryTooltipHdl (this=0x559771b48dd0, rEntry=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/StyleList.cxx:1753 #12 0x00007fe0a83edd68 in StyleList::LinkStubQueryTooltipHdl (instance=0x559771b48dd0, data=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/StyleList.cxx:1743 #13 0x00007fe09a7907bd in Link<weld::TreeIter const&, rtl::OUString>::Call (this=0x559771b27bb8, data=...) at include/tools/link.hxx:105 #14 0x00007fe09a79075f in weld::TreeView::signal_query_tooltip (this=0x559771b27a08, rIter=...) at include/vcl/weld.hxx:1025 #15 0x00007fe09a6e8d09 in (anonymous namespace)::GtkInstanceTreeView::signalQueryTooltip (x=382, y=153, keyboard_tip=0, tooltip=0x559769fbaa90, widget=0x559771b27400) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:14531 #16 0x00007fe0994dedfc in _gtk_marshal_BOOLEAN__INT_INT_BOOLEAN_OBJECT (closure=0x559771b24580, return_value=0x7ffef76e15b0, n_param_values=5, param_values=0x7ffef76e1640, invocation_hint=0x7ffef76e1590, marshal_data=0x0) at gtk/gtkmarshalers.c:1109 #17 0x00007fe0a967d950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #18 0x00007fe0a9691d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #19 0x00007fe0a9693032 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #20 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #22 0x00007fe0997c6ada in gtk_widget_query_tooltip (widget=0x55976892b2b0, x=382, y=153, keyboard_mode=0, tooltip=0x559769fbaa90) at ../gtk/gtkwidget.c:5114 #23 0x00007fe0997af430 in gtk_tooltip_run_requery (widget=0x7ffef76e1a58, tooltip=0x559769fbaa90, x=0x7ffef76e1a90, y=0x7ffef76e1a8c) at ../gtk/gtktooltip.c:559 #24 0x00007fe0997b01bb in gtk_tooltip_handle_event_internal (event_type=GDK_MOTION_NOTIFY, surface=0x559764aa88a0, target_widget=0x55976892b2b0, dx=382.953125, dy=153.796875) at ../gtk/gtktooltip.c:1009 #25 0x00007fe0997b0065 in _gtk_tooltip_handle_event (target=0x55976892b2b0, event=0x559772515280) at ../gtk/gtktooltip.c:957 #26 0x00007fe099686120 in gtk_main_do_event (event=0x559772515280) at ../gtk/gtkmain.c:1751 #27 0x00007fe0997e6720 in surface_event (surface=0x559764aa88a0, event=0x559772515280, widget=0x55976a125f10) at ../gtk/gtkwindow.c:4951 #28 0x00007fe099a684cb in _gdk_marshal_BOOLEAN__POINTERv (closure=0x55976bc7ddf0, return_value=0x7ffef76e1eb0, instance=0x559764aa88a0, args=0x7ffef76e1fb0, marshal_data=0x0, n_params=1, param_types=0x559764ac5730) at gdk/gdkmarshalers.c:302 #29 0x00007fe099b50e3c in gdk_surface_event_marshallerv (closure=0x55976bc7ddf0, return_value=0x7ffef76e1eb0, instance=0x559764aa88a0, args=0x7ffef76e1fb0, marshal_data=0x0, n_params=1, param_types=0x559764ac5730) at ../gdk/gdksurface.c:465 #30 0x00007fe0a967db81 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #31 0x00007fe0a9692b33 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #32 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #33 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #34 0x00007fe099b55ee7 in gdk_surface_handle_event (event=0x559772515280) at ../gdk/gdksurface.c:3001 #35 0x00007fe099b0ae91 in _gdk_event_emit (event=0x559772515280) at ../gdk/gdkevents.c:491 #36 0x00007fe099b0b946 in _gdk_event_queue_flush (display=0x5597649c1140) at ../gdk/gdkevents.c:856 #37 0x00007fe099b54d84 in gdk_surface_flush_events (clock=0x559764a437b0, data=0x559764aa88a0) at ../gdk/gdksurface.c:2419 #38 0x00007fe0a967db81 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #39 0x00007fe0a96938b8 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #40 0x00007fe0a96995a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #41 0x00007fe0a9699663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #42 0x00007fe099b13cae in _gdk_frame_clock_emit_flush_events (frame_clock=0x559764a437b0) at ../gdk/gdkframeclock.c:701 #43 0x00007fe099b1492d in gdk_frame_clock_flush_idle (data=0x559764a437b0) at ../gdk/gdkframeclockidle.c:391 #44 0x00007fe09e50744e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #45 0x00007fe09e5043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #46 0x00007fe09e5065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #47 0x00007fe09e506d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #48 0x00007fe09a683dac in GtkSalData::Yield (this=0x5597637370a0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:403 #49 0x00007fe09a689403 in GtkInstance::DoYield (this=0x559763736f50, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:440 #50 0x00007fe0a328c606 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #51 0x00007fe0a328bf1f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #52 0x00007fe0a328bd00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #53 0x00007fe0ac129915 in desktop::Desktop::Main (this=0x7ffef76e4160) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678 #54 0x00007fe0a32b8526 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #55 0x00007fe0a32ba019 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #56 0x00007fe0ac1a35ca in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #57 0x0000559759c3b9fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #58 0x0000559759c3b9d7 in main (argc=2, argv=0x7ffef76e4368) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: If520816e8f748a7f082226d216b10aa5a2c27717 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190318 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
tdf-gerrit
pushed a commit
that referenced
this pull request
Aug 30, 2025
...cf. > warn:sal.osl:998109:998080:sal/osl/unx/module.cxx:103: dlopen(.../core/instdir/program/libacclo.so, 1): .../core/instdir/program/libacclo.so: undefined symbol: _ZTI7TabPage and the failing assert at > #0 in vcl::AccessibleFactoryAccess::ensureInitialized() at core/vcl/source/helper/svtaccessiblefactory.cxx:252:80 > #1 in vcl::AccessibleFactoryAccess::getFactory() at core/vcl/source/helper/svtaccessiblefactory.cxx:280:9 > #2 in IconView::CreateAccessible() at core/vcl/source/treelist/iconview.cxx:248:44 > #3 in SalInstanceIconView::SalInstanceIconView(IconView*, SalInstanceBuilder*, bool) at core/vcl/source/app/salvtables.cxx:5398:45 > #4 in JSWidget<SalInstanceIconView, IconView>::JSWidget(JSDialogSender*, IconView*, SalInstanceBuilder*, bool) at core/vcl/inc/jsdialog/jsdialogbuilder.hxx:300:11 > #5 in JSIconView::JSIconView(JSDialogSender*, IconView*, SalInstanceBuilder*, bool) at core/vcl/jsdialog/jsdialogbuilder.cxx:1892:7 > #6 in std::__detail::_MakeUniq<JSIconView>::__single_object std::make_unique<JSIconView, JSInstanceBuilder*, IconView*&, JSInstanceBuilder*, bool>(JSInstanceBuilder*&&, IconView*&, JSInstanceBuilder*&&, bool&&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/unique_ptr.h:1085:34 > #7 in JSInstanceBuilder::weld_icon_view(rtl::OUString const&) at core/vcl/jsdialog/jsdialogbuilder.cxx:772:23 > #8 in StylesPreviewWindow_Base::StylesPreviewWindow_Base(weld::Builder&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/svx/source/tbxctrls/StylesPreviewWindow.cxx:449:30 > #9 in StylesPreviewWindow_Impl::StylesPreviewWindow_Impl(vcl::Window*, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/svx/source/tbxctrls/StylesPreviewWindow.cxx:661:7 > #10 in VclPtr<StylesPreviewWindow_Impl> VclPtr<StylesPreviewWindow_Impl>::Create<VclPtr<vcl::Window>&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&>(VclPtr<vcl::Window>&, std::__debug::vector<std::pair<rtl::OUString, rtl::OUString>, std::allocator<std::pair<rtl::OUString, rtl::OUString>>>&&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&) at core/include/vcl/vclptr.hxx:130:46 > #11 in StylesPreviewToolBoxControl::createItemWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&) at core/svx/source/tbxctrls/StylesPreviewToolBoxControl.cxx:159:25 > #12 in non-virtual thunk to StylesPreviewToolBoxControl::createItemWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&) at core/svx/source/tbxctrls/StylesPreviewToolBoxControl.cxx > #13 in sfx2::sidebar::ControllerFactory::CreateToolBoxController(ToolBox*, o3tl::strong_int<unsigned short, ToolBoxItemIdTag>, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::uno::Reference<com::sun::star::frame::XController> const&, com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, int, bool) at core/sfx2/source/sidebar/ControllerFactory.cxx:117:63 > #14 in sfx2::sidebar::SidebarToolBox::CreateController(o3tl::strong_int<unsigned short, ToolBoxItemIdTag>, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, int, bool) at core/sfx2/source/sidebar/SidebarToolBox.cxx:169:59 > #15 in sfx2::sidebar::SidebarToolBox::InsertItem(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, ToolBoxItemBits, Size const&, unsigned long) at core/sfx2/source/sidebar/SidebarToolBox.cxx:137:5 > #16 in VclBuilder::makeObject(vcl::Window*, rtl::OUString const&, rtl::OUString const&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&) at core/vcl/source/window/builder.cxx:1973:27 > #17 in VclBuilder::insertObject(vcl::Window*, rtl::OUString const&, std::basic_string_view<char, std::char_traits<char>>, rtl::OUString const&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>&) at core/vcl/source/window/builder.cxx:2350:25 > #18 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:285:29 > #19 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37 > #20 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21 > #21 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37 > #22 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21 > #23 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37 > #24 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleObject(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>, bool) at core/include/vcl/widgetbuilder.hxx:233:21 > #25 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::handleChild(vcl::Window*, std::__debug::map<rtl::OUString, rtl::OUString, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, rtl::OUString>>>*, xmlreader::XmlReader&, bool) at core/include/vcl/widgetbuilder.hxx:127:37 > #26 in WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>::processUIFile(vcl::Window*) at core/include/vcl/widgetbuilder.hxx:70:13 > #27 in VclBuilder::VclBuilder(vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, rtl::OUString, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>, bool, std::unique_ptr<NotebookBarAddonsItem, std::default_delete<NotebookBarAddonsItem>>) at core/vcl/source/window/builder.cxx:535:5 > #28 in SalInstanceBuilder::SalInstanceBuilder(vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/vcl/source/app/salvtables.cxx:7164:22 > #29 in JSInstanceBuilder::JSInstanceBuilder(weld::Widget*, vcl::Window*, std::basic_string_view<char16_t, std::char_traits<char16_t>>, rtl::OUString const&, JSInstanceBuilder::Type, unsigned long, std::basic_string_view<char16_t, std::char_traits<char16_t>> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at core/vcl/jsdialog/jsdialogbuilder.cxx:276:7 > #30 in std::__detail::_MakeUniq<JSInstanceBuilder>::__single_object std::make_unique<JSInstanceBuilder, std::nullptr_t, vcl::Window*&, rtl::OUString const&, rtl::OUString const&, JSInstanceBuilder::Type, unsigned long&, char16_t const (&) [1], com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&>(std::nullptr_t&&, vcl::Window*&, rtl::OUString const&, rtl::OUString const&, JSInstanceBuilder::Type&&, unsigned long&, char16_t const (&) [1], com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/unique_ptr.h:1085:34 > #31 in JSInstanceBuilder::CreateNotebookbarBuilder(vcl::Window*, rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, unsigned long) at core/vcl/jsdialog/jsdialogbuilder.cxx:331:12 > #32 in WeldedTabbedNotebookbar::WeldedTabbedNotebookbar(VclPtr<vcl::Window> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, unsigned long) at core/vcl/source/control/WeldedTabbedNotebookbar.cxx:17:18 > #33 in sfx2::SfxNotebookBar::StateMethod(SystemWindow*, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, bool) at core/sfx2/source/notebookbar/SfxNotebookBar.cxx:513:29 > #34 in sfx2::SfxNotebookBar::StateMethod(SfxBindings&, std::basic_string_view<char16_t, std::char_traits<char16_t>>, bool) at core/sfx2/source/notebookbar/SfxNotebookBar.cxx:423:12 > #35 in SwDocShell::GetState(SfxItemSet&) at core/sw/source/uibase/app/docsh.cxx:1117:28 > #36 in SfxStubSwDocShellGetState(SfxShell*, SfxItemSet&) at core/workdir/SdiTarget/sw/sdi/swslots.hxx:1427:1 > #37 in SfxShell::GetSlotState(unsigned short, SfxInterface const*, SfxItemSet*) at core/sfx2/source/control/shell.cxx:492:13 > #38 in SfxDispatcher::QueryState(unsigned short, SfxPoolItemHolder&) at core/sfx2/source/control/dispatch.cxx:2051:26 > #39 in SfxApplication::MiscExec_Impl(SfxRequest&) at core/sfx2/source/appl/appserv.cxx:1144:50 > #40 in SfxStubSfxApplicationMiscExec_Impl(SfxShell*, SfxRequest&) at core/workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1307:1 > #41 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) at core/sfx2/source/control/dispatch.cxx:255:9 > #42 in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) at core/sfx2/source/control/dispatch.cxx:754:9 > #43 in SfxDispatcher::Execute(unsigned short, SfxCallMode, SfxItemSet const*, SfxItemSet const*, unsigned short) at core/sfx2/source/control/dispatch.cxx:813:9 > #44 in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/sfx2/source/control/unoctitm.cxx:716:46 > #45 in SfxOfficeDispatch::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at core/sfx2/source/control/unoctitm.cxx:255:20 > #46 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:63:12 > #47 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:73:12 > #48 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) at core/comphelper/source/misc/dispatchcommand.cxx:94:12 > #49 in doc_postUnoCommand(_LibreOfficeKitDocument*, char const*, char const*, bool) at core/desktop/source/lib/init.cxx:5617:19 > #50 in ChildSession::unoCommand(StringVector const&) at online/kit/ChildSession.cpp:2357:25 > #51 in ChildSession::_handleInput(char const*, int) at online/kit/ChildSession.cpp:703:20 > #52 in Session::handleMessage(std::vector<char, std::allocator<char>> const&) at online/common/Session.cpp > #53 in Document::forwardToChild(std::basic_string_view<char, std::char_traits<char>>, std::vector<char, std::allocator<char>> const&) at online/kit/Kit.cpp:2283:26 > #54 in Document::drainQueue() at online/kit/Kit.cpp:2553:17 > #55 in KitSocketPoll::drainQueue() at online/kit/Kit.cpp:2961:20 > #56 in KitSocketPoll::kitPoll(int) at online/kit/Kit.cpp:3034:13 > #57 in SvpSalInstance::ImplYield(bool, bool) at core/vcl/headless/svpinst.cxx:463:31 > #58 in SvpSalInstance::DoYield(bool, bool) at core/vcl/headless/svpinst.cxx:504:21 > #59 in ImplYield(bool, bool) at core/vcl/source/app/svapp.cxx:389:48 > #60 in Application::Yield() at core/vcl/source/app/svapp.cxx:492:5 > #61 in Application::Execute() at core/vcl/source/app/svapp.cxx:364:13 > #62 in desktop::Desktop::Main() at core/desktop/source/app/app.cxx:1680:13 > #63 in ImplSVMain() at core/vcl/source/app/svmain.cxx:228:35 > #64 in SVMain() at core/vcl/source/app/svmain.cxx:246:12 > #65 in soffice_main at core/desktop/source/app/sofficemain.cxx:121:12 > #66 in lo_runLoop(_LibreOfficeKit*, int (*)(void*, int), void (*)(void*), void*) at core/desktop/source/lib/init.cxx:7849:9 > #67 in lokit_main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool, bool, bool, bool, bool, unsigned long) at online/kit/Kit.cpp:3928:16 > #68 in createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0::operator()() const at online/kit/ForKit.cpp:553:13 > #69 in void std::__invoke_impl<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>(std::__invoke_other, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:63:14 > #70 in std::enable_if<is_invocable_r_v<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>, void>::type std::__invoke_r<void, createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&>(createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:113:2 > #71 in std::_Function_handler<void (), createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool)::$_0>::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:292:9 > #72 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:593:9 > #73 in forkKit(std::function<void ()> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::function<void (int)> const&) at online/kit/ForKit.cpp:496:9 > #74 in createLibreOfficeKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, bool) at online/kit/ForKit.cpp:573:20 > #75 in createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0::operator()() const at online/kit/ForKit.cpp:620:33 > #76 in void std::__invoke_impl<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>(std::__invoke_other, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:63:14 > #77 in std::enable_if<is_invocable_r_v<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>, void>::type std::__invoke_r<void, createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&>(createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/invoke.h:113:2 > #78 in std::_Function_handler<void (), createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)::$_0>::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:292:9 > #79 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/15/../../../../include/c++/15/bits/std_function.h:593:9 > #80 in forkKit(std::function<void ()> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::function<void (int)> const&) at online/kit/ForKit.cpp:496:9 > #81 in createSubForKit(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) at online/kit/ForKit.cpp:657:16 > #82 in createSubForKits(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool) at online/kit/ForKit.cpp:674:13 > #83 in forkit_main(int, char**) at online/kit/ForKit.cpp:1102:17 > #84 in __libc_start_call_main at <null> (and this is no longer relevant on master after 9283da8 "a11y: Merge accessibility module into vcl") Change-Id: Icc49bcf8e9bd95b4fdb86b9420cc360e5fa17c08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190390 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
tdf-gerrit
pushed a commit
that referenced
this pull request
Sep 18, 2025
coolforkit-ns: /home/mk/core/vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool): Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not owned!"' failed. Seen with this call stack: #0 0x00007f71b2b7ee96 in __GI___assert_fail ( assertion=0x7f71aa2c4de0 "ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && \"SolarMutex not owned!\"", file=0x7f71aa2c4db8 "/home/mk/core/vcl/source/app/dbggui.cxx", line=36, function=0x7f71aa2c4d90 "void ImplDbgTestSolarMutex(bool)") at ./assert/assert.c:103 #1 0x00007f71a952e69b in ImplDbgTestSolarMutex (owned=true) at /home/mk/core/vcl/source/app/dbggui.cxx:36 #2 0x00007f71ab311ee0 in DbgTestSolarMutex (owned=true) at /home/mk/core/tools/source/debug/debug.cxx:54 #3 0x00007f719ae4156d in SwModify::Add (this=0x55ace7ff8ec0, rDepend=...) at /home/mk/core/sw/source/core/attr/calbck.cxx:172 #4 0x00007f719b42e062 in SwContentNode::SwContentNode (this=0x55ace8021f50, rWhere=..., nNdType=SwNodeType::Text, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/node.cxx:1082 #5 0x00007f719ba84bee in SwTextNode::SwTextNode (this=0x55ace8021f50, rWhere=..., pTextColl=0x55ace7ff8ec0, pAutoAttr=0x0) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:219 #6 0x00007f719ba84661 in SwNodes::MakeTextNode (this=0x55ace83b0ee0, rWhere=..., pColl=0x55ace7ff8ec0, bNewFrames=true) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:133 #7 0x00007f719b442347 in SwNodes::MakeTextSection (this=0x55ace83b0ee0, rWhere=..., eSttNdTyp=SwNormalStartNode, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/nodes.cxx:1953 #8 0x00007f719b18c9a2 in SwRangeRedline::MoveToSection (this=0x55ace8302bd0) at /home/mk/core/sw/source/core/doc/docredln.cxx:1962 #9 0x00007f719b18b8c8 in SwRangeRedline::ShowOriginal (this=0x55ace8302bd0, nLoop=0, nMyPos=3) at /home/mk/core/sw/source/core/doc/docredln.cxx:1772 #10 0x00007f719c650b17 in (anonymous namespace)::HideNewerShowOlder::Hide (pRedline=0x55ace8302bd0, rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:934 #11 0x00007f719c650668 in (anonymous namespace)::HideNewerShowOlder::HideNewerShowOlder (this=0x7ffea7e20b60, limit=..., rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:885 #12 0x00007f719c651152 in (anonymous namespace)::GetDocStructureTrackChanges (rJsonWriter=..., pDocShell=0x55ace7d72d00, filterArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:997 #13 0x00007f719c651cc3 in (anonymous namespace)::GetDocStructure (rJsonWriter=..., pDocShell=0x55ace7d72d00, rArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1077 #14 0x00007f719c6524a4 in SwXTextDocument::getCommandValues (this=0x55ace836de60, rJsonWriter=..., rCommand=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1162 #15 0x00007f71b272492f in lo_extractDocumentStructureRequest (pFilePath=0x55ace4085040 "file:///tmp/user/docs/IvJPNWKKqE4D3jXV/works.docx", pFilter=0x55ace7b2a450 "trackchanges,contextLen:100") at /home/mk/core/desktop/source/lib/init.cxx:3352 #16 0x000055accb8ae888 in lok::Office::extractDocumentStructureRequest (pFilter=<optimized out>, pFilePath=<optimized out>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1301 #17 ChildSession::_handleInput (this=0x55ace78ead30, buffer=<optimized out>, length=<optimized out>) at kit/ChildSession.cpp:371 #18 0x000055accb95f62c in Session::handleMessage (this=0x55ace78ead30, data=...) at common/Session.cpp:326 #19 0x000055accb901e25 in Document::forwardToChild (this=0x55ace7a662b0, prefix=..., payload=...) at kit/Kit.cpp:2283 #20 0x000055accb902a8e in Document::drainQueue (this=0x55ace7a662b0) at /usr/include/c++/13/string_view:146 #21 0x000055accb9036cd in KitSocketPoll::drainQueue (this=0x55ace7a8c880) at kit/Kit.cpp:2961 #22 KitSocketPoll::kitPoll (this=0x55ace7a8c880, timeoutMicroS=<optimized out>) at kit/Kit.cpp:3034 #23 0x00007f71a99ac661 in SvpSalInstance::ImplYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:463 #24 0x00007f71a99ac938 in SvpSalInstance::DoYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:504 #25 0x00007f71a95f88d9 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/mk/core/vcl/source/app/svapp.cxx:389 #26 0x00007f71a95f9794 in Application::Yield () at /home/mk/core/vcl/source/app/svapp.cxx:492 #27 0x00007f71a95f855a in Application::Execute () at /home/mk/core/vcl/source/app/svapp.cxx:364 #28 0x00007f71b26602a7 in desktop::Desktop::Main (this=0x7ffea7e23f30) at /home/mk/core/desktop/source/app/app.cxx:1680 #29 0x00007f71a96249f1 in ImplSVMain () at /home/mk/core/vcl/source/app/svmain.cxx:228 #30 0x00007f71a9624ad6 in SVMain () at /home/mk/core/vcl/source/app/svmain.cxx:246 #31 0x00007f71b26d300e in soffice_main () at /home/mk/core/desktop/source/app/sofficemain.cxx:121 #32 0x00007f71b2743c40 in lo_runLoop (pPollCallback=0x55accb904070 <pollCallback(void*, int)>, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pData=0x55ace7a8c880) at /home/mk/core/desktop/source/lib/init.cxx:7873 #33 0x000055accb90c3af in lok::Office::runLoop (pData=0x55ace7a8c880, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pPollCallback=0x55accb904070 <pollCallback(void*, int)>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1156 #34 lokit_main (childRoot=..., jailId=..., configId=..., sysTemplate=..., loTemplate=..., noCapabilities=<optimized out>, noSeccomp=<optimized out>, useMountNamespaces=<optimized out>, queryVersion=<optimized out>, displayVersion=<optimized out>, sysTemplateIncomplete=<optimized out>, numericIdentifier=<optimized out>) at kit/Kit.cpp:3926 #35 0x000055accb8c7ea9 in operator() (__closure=<optimized out>) at kit/ForKit.cpp:556 #36 std::__invoke_impl<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61 #37 std::__invoke_r<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111 #38 std::_Function_handler<void(), createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/13/bits/std_function.h:290 #39 0x000055accb8cb1c2 in std::function<void ()>::operator()() const (this=0x7ffea7e24e90) at /usr/include/c++/13/bits/std_function.h:591 #40 forkKit(const std::function<void()> &, const std::string &, const std::function<void(int)> &) (childFunc=..., childProcessName=..., parentFunc=...) at kit/ForKit.cpp:499 #41 0x000055accb8cc6ef in createLibreOfficeKit (childRoot=..., sysTemplate=..., loTemplate=..., useMountNamespaces=<optimized out>, queryVersion=<optimized out>, configId=...) at kit/ForKit.cpp:576 #42 0x000055accb8d1578 in forkit_main (argc=<optimized out>, argv=<optimized out>) at kit/ForKit.cpp:1042 #43 0x00007f71b2b6ed90 in __libc_start_call_main (main=main@entry=0x55accb8835a0 <main(int, char**)>, argc=argc@entry=10, argv=argv@entry=0x7ffea7e25e58) at ../sysdeps/nptl/libc_start_call_main.h:58 #44 0x00007f71b2b6ee40 in __libc_start_main_impl (main=0x55accb8835a0 <main(int, char**)>, argc=10, argv=0x7ffea7e25e58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea7e25e48) at ../csu/libc-start.c:392 #45 0x000055accb884845 in _start () Change-Id: Ib7e8f93b094db925b6bb60134d23aeb325a10f54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191016 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
tdf-gerrit
pushed a commit
that referenced
this pull request
Oct 6, 2025
After commit 94442bd94e504b067efd0b992525b53fc660f114 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Aug 5 11:07:25 2025 +0200 tdf#163802 a11y: Fully initialize SpellDialog before showing , triggering the spell check dialog in Impress for an empty presentation would result in infinite recursion e.g. with the gtk3 or gen VCL plugins on Linux, because the initialization of the svx::SpellDialogChildWindow triggers a message dialog asking whether to start spell check from the beginning (s. frame #252 in below backtrace). For gtk3 and gen, that dialog triggers processing of pending events, which triggers an update of the child windows (s. frame #230), which triggers the logic to create the spell check child window again (as it isn't shown yet). (For qt6, that problem wasn't seen, because synchronously showing the message dialog doesn't trigger processing of pending events.) Fix the problem by detecting cases where a child window is already in the process of being created, and return early in that case. Change SfxWorkWindow::CreateChildWin_Impl to return a bool result indicating whether the child window was created or not, and evaluate that in the callers. Sample backtrace for the gtk3 VCL plugin: #0 0x00007fffe94490c0 in memcmp@plt () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #1 0x00007fffe955c206 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #2 0x00007fffe955c97f in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #3 0x00007fffe955a4a3 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007fffe94db449 in ??? () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #5 0x00007fffe6b6e484 in ??? () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 #6 0x00007fffe6b716e9 in ??? () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 #7 0x00007fffe6b71b6d in gdk_pixbuf_loader_close () at /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 #8 0x00007fffe5be2fe0 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #9 0x00007fffe5be40b1 in gtk_image_set_from_file () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #10 0x00007fffe5be41fd in gtk_image_new_from_file () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #11 0x00007fffe6498cf9 in (anonymous namespace)::image_new_from_xgraphic (rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750, bMirror=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:4973 #12 0x00007fffe6504ec8 in (anonymous namespace)::GtkInstanceToolbar::set_item_image (pItem=0x55555ef42d20, rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750, bMirror=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:11838 #13 0x00007fffe64ffb31 in (anonymous namespace)::GtkInstanceToolbar::set_item_image (this=0x55555e956af0, rIdent="toggle", rIcon=uno::Reference to (unographic::Graphic *) 0x55555ef17750) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:12214 #14 0x00007ffff4137ba1 in sfx2::sidebar::TabBar::UpdateButtonIcons (this=0x5555597c0230) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/TabBar.cxx:159 #15 0x00007ffff4137634 in sfx2::sidebar::TabBar::SetDecks (this=0x5555597c0230, rDecks=std::__debug::vector of length 8, capacity 8 = {...}) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/TabBar.cxx:148 #16 0x00007ffff40b0f0b in sfx2::sidebar::SidebarController::UpdateConfigurations (this=0x555558960ae0) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarController.cxx:604 #17 0x00007ffff40b0a49 in sfx2::sidebar::SidebarController::notifyContextChangeEvent (this=0x555558960ae0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/sidebar/SidebarController.cxx:371 #18 0x00007ffff4dcba91 in (anonymous namespace)::ContextChangeEventMultiplexer::BroadcastEventToSingleContainer (this=0x5555590d95c0, rEventObject=..., rxEventFocus=uno::Reference to (sd::DrawController *) 0x55555830b5e8) at /home/michi/development/git/libreoffice/framework/source/services/ContextChangeEventMultiplexer.cxx:252 #19 0x00007ffff4dca942 in (anonymous namespace)::ContextChangeEventMultiplexer::broadcastContextChangeEvent (this=0x5555590d95c0, rEventObject=..., rxEventFocus=uno::Reference to (sd::DrawController *) 0x55555830b5e8) at /home/michi/development/git/libreoffice/framework/source/services/ContextChangeEventMultiplexer.cxx:235 #20 0x00007ffff2948f8f in ContextChangeEventMultiplexer::NotifyContextChange (rxController=uno::Reference to (sd::DrawController *) 0x55555830b5e8, eContext=vcl::EnumContext::Context::DrawPage) at /home/michi/development/git/libreoffice/svx/source/sidebar/ContextChangeEventMultiplexer.cxx:51 #21 0x00007ffff295e246 in svx::sidebar::SelectionChangeHandler::selectionChanged (this=0x55555edcd3f0) at /home/michi/development/git/libreoffice/svx/source/sidebar/SelectionChangeHandler.cxx:56 #22 0x00007fff9dc6b3cf in sd::DrawController::FireSelectionChangeListener (this=0x55555830b5c0) at /home/michi/development/git/libreoffice/sd/source/ui/unoidl/DrawController.cxx:396 #23 0x00007fff9dc6b2dc in sd::DrawController::SetSubController (this=0x55555830b5c0, rxSubController=empty uno::Reference) at /home/michi/development/git/libreoffice/sd/source/ui/unoidl/DrawController.cxx:99 #24 0x00007fff9d99a936 in sd::framework::BasicViewFactory::releaseResource (this=0x55555894ad50, rxView=rtl::Reference to 0x55555ef81a80) at /home/michi/development/git/libreoffice/sd/source/ui/framework/factories/BasicViewFactory.cxx:219 #25 0x00007fff9d97161c in sd::framework::ConfigurationControllerResourceManager::DeactivateResource (this=0x55555894c0f0, rxResourceId=rtl::Reference to 0x55555edb5110, rxConfiguration=rtl::Reference to 0x55555894eb00) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:203 #26 0x00007fff9d971fb4 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0::operator()(rtl::Reference<sd::framework::ResourceId> const&) const (this=0x7ffffffe7950, xResource=rtl::Reference to 0x55555edb5110) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:90 #27 0x00007fff9d9712cb in std::for_each<std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0>(std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, std::reverse_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<rtl::Reference<sd::framework::ResourceId> const*, std::__cxx1998::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > >, std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > >, std::random_access_iterator_tag> >, sd::framework::ConfigurationControllerResourceManager::DeactivateResources(std::__debug::vector<rtl::Reference<sd::framework::ResourceId>, std::allocator<rtl::Reference<sd::framework::ResourceId> > > const&, rtl::Reference<sd::framework::Configuration> const&)::$_0) (__first=..., __last=..., __f=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/stl_algo.h:3798 #28 0x00007fff9d971074 in sd::framework::ConfigurationControllerResourceManager::DeactivateResources (this=0x55555894c0f0, rResources=std::__debug::vector of length 1, capacity 1 = {...}, rxConfiguration=rtl::Reference to 0x55555894eb00) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.cxx:86 #29 0x00007fff9d978cae in sd::framework::ConfigurationUpdater::UpdateCore (this=0x55555894dd00, rClassifier=...) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:250 #30 0x00007fff9d97829c in sd::framework::ConfigurationUpdater::UpdateConfiguration (this=0x55555894dd00) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:161 #31 0x00007fff9d977d1b in sd::framework::ConfigurationUpdater::RequestUpdate (this=0x55555894dd00, rxRequestedConfiguration=rtl::Reference to 0x55555894cf50) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationUpdater.cxx:108 #32 0x00007fff9d94c5b2 in sd::framework::ChangeRequestQueueProcessor::ProcessOneEvent (this=0x55555894eba0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:163 #33 0x00007fff9d94c6fe in sd::framework::ChangeRequestQueueProcessor::ProcessUntilEmpty (this=0x55555894eba0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ChangeRequestQueueProcessor.cxx:175 #34 0x00007fff9d95e8ef in sd::framework::ConfigurationController::RequestSynchronousUpdate (this=0x55555894a210) at /home/michi/development/git/libreoffice/sd/source/ui/framework/configuration/ConfigurationController.cxx:167 #35 0x00007fff9d9c69d8 in sd::framework::FrameworkHelper::RequestSynchronousUpdate (this=0x555558959cb0) at /home/michi/development/git/libreoffice/sd/source/ui/framework/tools/FrameworkHelper.cxx:643 #36 0x00007fff9dd53f6c in SdOutliner::SetViewMode (this=0x55555ee0e070, ePageKind=PageKind::Standard) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1652 #37 0x00007fff9dd55071 in SdOutliner::SetObject (this=0x55555ee0e070, rPosition=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1851 #38 0x00007fff9dd4e830 in SdOutliner::EndOfSearch (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1418 #39 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #40 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #41 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555ee0e070) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #42 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e56afa0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #43 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555eca57c0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #44 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555eca57c0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #45 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555eca57c0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #46 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555edb1bc0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #47 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e56afa0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #48 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #49 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #50 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #51 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #52 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #53 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #54 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #55 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e3c7c40, data=0x555556877340) at include/tools/link.hxx:105 #56 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e3c7c40) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #57 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e3c7c40, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #58 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e86e7e8, data=0x0) at include/tools/link.hxx:105 #59 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e86e7e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #60 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e86e7e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #61 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e86e7e0) at vcl/inc/salframe.hxx:310 #62 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #63 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffffffebc20) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #64 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #65 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #66 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #67 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #68 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #69 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #70 0x00007fffe652062a in main_loop_run (pLoop=0x55555edb57d0) at vcl/inc/unx/gtk/gtkdata.hxx:59 #71 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555ed86530) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #72 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555ed863d0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #73 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #74 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #75 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #76 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #77 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555ed78a80) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #78 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555eaeead0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #79 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555eb6ef60, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #80 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555eb6ef60, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #81 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555eb6ef60) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #82 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x5555599c5060) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #83 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555eaeead0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #84 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #85 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #86 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #87 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #88 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #89 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #90 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #91 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e38cad0, data=0x555556877340) at include/tools/link.hxx:105 #92 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e38cad0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #93 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e38cad0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #94 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e780b88, data=0x0) at include/tools/link.hxx:105 #95 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e780b80) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #96 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e780b80) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #97 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e780b80) at vcl/inc/salframe.hxx:310 #98 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #99 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffffffee430) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #100 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #101 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #102 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #103 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #104 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #105 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #106 0x00007fffe652062a in main_loop_run (pLoop=0x55555eb90ac0) at vcl/inc/unx/gtk/gtkdata.hxx:59 #107 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555eb76cc0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #108 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555eb76b60) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #109 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #110 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #111 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #112 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #113 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555eb6a760) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #114 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e92cf20) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #115 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e7bc0e0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #116 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e7bc0e0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #117 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e7bc0e0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #118 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e75e580) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #119 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e92cf20) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #120 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #121 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #122 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #123 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #124 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #125 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #126 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #127 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555a823ba0, data=0x555556877340) at include/tools/link.hxx:105 #128 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555a823ba0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #129 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555a823ba0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #130 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e6ff308, data=0x0) at include/tools/link.hxx:105 #131 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e6ff300) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #132 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e6ff300) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #133 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e6ff300) at vcl/inc/salframe.hxx:310 #134 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #135 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff0c40) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #136 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #137 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #138 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #139 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #140 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #141 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #142 0x00007fffe652062a in main_loop_run (pLoop=0x55555e92fb70) at vcl/inc/unx/gtk/gtkdata.hxx:59 #143 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e950a20) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #144 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e9508c0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #145 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #146 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #147 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #148 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #149 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e8e0e30) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #150 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e8f0390) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #151 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e9c6ac0, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #152 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e9c6ac0, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #153 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e9c6ac0) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #154 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e319180) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #155 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e8f0390) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #156 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #157 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #158 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #159 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #160 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #161 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #162 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #163 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e3f61c0, data=0x555556877340) at include/tools/link.hxx:105 #164 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e3f61c0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #165 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e3f61c0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #166 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e58c6e8, data=0x0) at include/tools/link.hxx:105 #167 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e58c6e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #168 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e58c6e0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #169 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e58c6e0) at vcl/inc/salframe.hxx:310 #170 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #171 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff3450) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #172 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #173 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #174 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #175 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #176 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #177 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #178 0x00007fffe652062a in main_loop_run (pLoop=0x55555e8ec500) at vcl/inc/unx/gtk/gtkdata.hxx:59 #179 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e867400) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #180 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e8672a0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #181 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #182 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #183 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #184 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #185 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e859950) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #186 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e7623d0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #187 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e4fc700, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #188 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e4fc700, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #189 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e4fc700) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #190 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x555558f1e9c0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #191 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e7623d0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #192 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #193 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #194 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #195 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #196 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #197 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #198 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #199 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e45d520, data=0x555556877340) at include/tools/link.hxx:105 #200 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e45d520) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #201 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e45d520, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #202 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x555559999828, data=0x0) at include/tools/link.hxx:105 #203 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x555559999820) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #204 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x555559999820) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #205 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x555559999820) at vcl/inc/salframe.hxx:310 #206 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #207 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff5c60) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #208 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #209 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #210 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #211 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #212 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #213 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #214 0x00007fffe652062a in main_loop_run (pLoop=0x55555e75b650) at vcl/inc/unx/gtk/gtkdata.hxx:59 #215 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x55555e6e17e0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #216 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x55555e6e1680) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #217 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #218 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #219 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #220 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #221 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x55555e6be710) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #222 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x555558b3fbc0) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #223 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e586600, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #224 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e586600, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #225 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e586600) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #226 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e52b360) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #227 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x555558b3fbc0) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #228 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #229 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=false) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #230 0x00007ffff3b3bbc6 in SfxWorkWindow::UpdateChildWindows_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1299 #231 0x00007ffff3b3b205 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1247 #232 0x00007ffff3b3a831 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x7fff980287c0) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #233 0x00007ffff3ba83b3 in SfxDispatcher::Update_Impl (this=0x555556877340, bForce=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1124 #234 0x00007ffff3bfebbe in DispatcherUpdate_Impl (pArg=0x555556877340) at /home/michi/development/git/libreoffice/sfx2/source/control/shell.cxx:681 #235 0x00007ffff0889f71 in Link<void*, void>::Call (this=0x55555e50f300, data=0x555556877340) at include/tools/link.hxx:105 #236 0x00007ffff08df2c8 in svtools::AsynchronLink::HandleCall_PostUserEvent (this=0x55555e50f300) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:66 #237 0x00007ffff08df21d in svtools::AsynchronLink::LinkStubHandleCall_PostUserEvent (instance=0x55555e50f300, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/control/asynclink.cxx:58 #238 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x555559c0e478, data=0x0) at include/tools/link.hxx:105 #239 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x555559c0e470) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #240 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x555559c0e470) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #241 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x555559c0e470) at vcl/inc/salframe.hxx:310 #242 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #243 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffff8470) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #244 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #245 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #246 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #247 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #248 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #249 0x00007fffe9d0701f in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #250 0x00007fffe652062a in main_loop_run (pLoop=0x55555e56d830) at vcl/inc/unx/gtk/gtkdata.hxx:59 #251 0x00007fffe64964ad in (anonymous namespace)::DialogRunner::run (this=0x555558b52070) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:6768 #252 0x00007fffe6491af0 in (anonymous namespace)::GtkInstanceDialog::run (this=0x555558b51f10) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:10190 #253 0x00007fff9dd55d03 in SdOutliner::ShowWrapAroundDialog (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1526 #254 0x00007fff9dd4e88f in SdOutliner::EndOfSearch (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1432 #255 0x00007fff9dd4f9e2 in SdOutliner::ProvideNextTextObject (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:1399 #256 0x00007fff9dd4e68b in SdOutliner::SpellNextDocument (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:393 #257 0x00007fff9dd4fbc0 in SdOutliner::GetNextSpellSentence (this=0x555559646c20) at /home/michi/development/git/libreoffice/sd/source/ui/view/Outliner.cxx:436 #258 0x00007fff9d8f4ee0 in sd::SpellDialogChildWindow::GetNextWrongSentence (this=0x55555e44ba10) at /home/michi/development/git/libreoffice/sd/source/ui/dlg/SpellDialogChildWindow.cxx:72 #259 0x00007fff9480ddaa in svx::SpellDialog::GetNextSentence_Impl (this=0x55555e445f10, pGuard=0x0, bUseSavedSentence=false, bRecheck=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:1050 #260 0x00007fff9480caa4 in svx::SpellDialog::SpellContinue_Impl (this=0x55555e445f10, pGuard=0x0, bUseSavedSentence=false, bIgnoreCurrentError=false) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:402 #261 0x00007fff9480f0dd in svx::SpellDialog::Initialize (this=0x55555e445f10) at /home/michi/development/git/libreoffice/cui/source/dialogs/SpellDialog.cxx:432 #262 0x00007fff9485d131 in (anonymous namespace)::AbstractSpellDialog_Impl::Initialize (this=0x55555e3212b0) at /home/michi/development/git/libreoffice/cui/source/factory/dlgfact.cxx:452 #263 0x00007ffff27ef522 in svx::SpellDialogChildWindow::Initialize (this=0x55555e44ba10) at /home/michi/development/git/libreoffice/svx/source/dialog/SpellDialogChildWindow.cxx:49 #264 0x00007ffff3aa0d49 in SfxChildWindow::CreateChildWindow (nId=10243, pParent=0x5555589410f0, pBindings=0x555556a7ef20, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:244 #265 0x00007ffff3b3be5d in SfxWorkWindow::CreateChildWin_Impl (this=0x7fff980287c0, pCW=0x5555598d22b0, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350 #266 0x00007ffff3b3e0f3 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x7fff980287c0, nId=10243, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835 #267 0x00007ffff42110c9 in SfxViewFrame::ToggleChildWindow (this=0x555556819530, nId=10243) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3703 #268 0x00007fff9de38d3c in sd::DrawViewShell::Execute (this=0x555556b4b610, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews7.cxx:1976 #269 0x00007fff9de64075 in SfxStubDrawViewShellExecute (pShell=0x555556b4b610, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1575 #270 0x00007ffff3ba6bfe in SfxDispatcher::Call_Impl (this=0x555556877340, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256 #271 0x00007ffff3bab4a6 in SfxDispatcher::Execute_ (this=0x555556877340, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:755 #272 0x00007ffff3b9302e in SfxBindings::Execute_Impl (this=0x555556a7ef20, aReq=..., pSlot=0x7fff9df8d038 <aDrawViewShellSlots_Impl+10728>, pShell=0x555556b4b610) at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1045 #273 0x00007ffff3c720cd in SfxDispatchController_Impl::dispatch (this=0x55555915d2e0, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:736 #274 0x00007ffff3c70b84 in SfxOfficeDispatch::dispatch (this=0x55555915cfa0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255 #275 0x00007ffff09d3792 in svt::(anonymous namespace)::AsyncAccelExec::impl_ts_asyncCallback (this=0x55555e321fc0) at /home/michi/development/git/libreoffice/svtools/source/misc/acceleratorexecute.cxx:509 #276 0x00007ffff09d34cd in svt::(anonymous namespace)::AsyncAccelExec::LinkStubimpl_ts_asyncCallback (instance=0x55555e321fc0, data=0x0) at /home/michi/development/git/libreoffice/svtools/source/misc/acceleratorexecute.cxx:501 #277 0x00007fffee18f511 in Link<LinkParamNone*, void>::Call (this=0x55555e322060, data=0x0) at include/tools/link.hxx:105 #278 0x00007fffeea21eea in vcl::EventPoster::DoEvent_Impl (this=0x55555e322058) at /home/michi/development/git/libreoffice/vcl/source/helper/evntpost.cxx:52 #279 0x00007fffeea21e9d in vcl::EventPoster::LinkStubDoEvent_Impl (instance=0x55555e322058, data=0x0) at /home/michi/development/git/libreoffice/vcl/source/helper/evntpost.cxx:48 #280 0x00007fffee4622d1 in Link<void*, void>::Call (this=0x55555e3148c8, data=0x0) at include/tools/link.hxx:105 #281 0x00007fffee45dbf1 in ImplHandleUserEvent (pSVEvent=0x55555e3148c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2312 #282 0x00007fffee45ab1f in ImplWindowFrameProc (_pWindow=0x555556a70090, nEvent=SalEvent::UserEvent, pEvent=0x55555e3148c0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2869 #283 0x00007fffef031fec in SalFrame::CallCallback (this=0x5555569484e0, nEvent=SalEvent::UserEvent, pEvent=0x55555e3148c0) at vcl/inc/salframe.hxx:310 #284 0x00007fffef0584df in SalGenericDisplay::ProcessEvent (this=0x5555569f26e0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #285 0x00007fffeea32ced in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb850) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #286 0x00007fffeea32bbb in SalUserEventList::DispatchUserEvents (this=0x5555569f26e0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #287 0x00007fffef058435 in SalGenericDisplay::DispatchInternalEvent (this=0x5555569f26e0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #288 0x00007fffe647995f in call_userEventFn (data=0x5555555b3760) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:825 #289 0x00007fffe9d04385 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #290 0x00007fffe9d065b7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #291 0x00007fffe9d06d20 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #292 0x00007fffe64785dc in GtkSalData::Yield (this=0x5555555b3760, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:403 #293 0x00007fffe647d613 in GtkInstance::DoYield (this=0x5555555b3610, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:440 #294 0x00007fffeeafec46 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389 #295 0x00007fffeeafe55f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:492 #296 0x00007fffeeafe340 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364 #297 0x00007ffff7b21d05 in desktop::Desktop::Main (this=0x7fffffffd590) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1682 #298 0x00007fffeeb2b356 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #299 0x00007fffeeb2ce79 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #300 0x00007ffff7b9ba3a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #301 0x00005555555559fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #302 0x00005555555559d7 in main (argc=2, argv=0x7fffffffd798) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: Ic2e12a1ef163bb4ece04d631c92cc926bcbd0d5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191950 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Oct 6, 2025
When the TreeView has special checkboxes enabled, block signals while calling QStandardItem::setCheckable for the item in the first column. This prevents triggering the QAbstractItemModel::dataChanged signal which would trigger weld::TreeView::signal_toggled from QtInstanceTreeView::handleDataChanged for the newly inserted row. Since the row is new, there is no logical change from a previous value from the weld API perspective. This fixes a crash otherwise seen with upcoming commit Change-Id: I6262b0e9d235f9efc6cde81614d42ba28025989d Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Oct 6 11:28:33 2025 +0200 tdf#130857 qt weld: Support Writer "Caption" dialog when triggering the then newly supported dialog. Backtrace: Thread 1 received signal SIGSEGV, Segmentation fault. rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839 839 return pData->length == 0; (rr) bt #0 rtl::OUString::isEmpty (this=0x18) at include/rtl/ustring.hxx:839 #1 0x00007fd750a9fb07 in SwCaptionOptPage::UpdateEntry (this=0x55d1ea326dc0, nSelEntry=0) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1235 #2 0x00007fd750aa4e42 in SwCaptionOptPage::ToggleEntryHdl (this=0x55d1ea326dc0, rRowCol={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1344 #3 0x00007fd750a9ce4d in SwCaptionOptPage::LinkStubToggleEntryHdl (instance=0x55d1ea326dc0, data={...}) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1342 #4 0x00007fd78ef17411 in Link<std::pair<weld::TreeIter const&, int> const&, void>::Call (this=0x55d1ea332d70, data={...}) at include/tools/link.hxx:105 #5 0x00007fd78ef112f1 in weld::TreeView::signal_toggled (this=0x55d1ea332d00, rIterCol={...}) at include/vcl/weld.hxx:1011 #6 0x00007fd78eef8507 in QtInstanceTreeView::handleDataChanged (this=0x55d1ea332b50, rTopLeft=..., rBottomRight=..., rRoles=...) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:1214 #7 0x00007fd78ef17f4a in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()#1}::operator()() const (this=0x7ffe16a0ef90) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #8 0x00007fd78ef17eb9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtInstanceTreeView*, void**)::{lambda()#1}&&) (args=0x7ffe16a0f360, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #9 0x00007fd78ef17e83 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call (f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78eef83b0 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #10 0x00007fd78ef17dfd in QtPrivate::FunctionPointer<void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void> (f=(void (QtInstanceTreeView::*)(QtInstanceTreeView * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78eef83b0 <QtInstanceTreeView::handleDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1ea332b50, arg=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #11 0x00007fd78ef17d26 in QtPrivate::QCallableObject<void (QtInstanceTreeView::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>::impl (which=1, this_=0x55d1ea270ae0, r=0x55d1ea332b50, a=0x7ffe16a0f360, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545 #12 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call (this=0x55d1ea270ae0, r=0x55d1ea332b50, a=0x7ffe16a0f360) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #13 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea25a160, signal_index=3, argv=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342 #14 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea25a160, m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffe16a0f360) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402 #15 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55d1ea25a160, mo=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:319 #16 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged (this=0x55d1ea25a160, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658 #17 0x00007fd78e3f83c4 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=0x55d1e2894d60, source_top_left=..., source_bottom_right=..., roles=...) at /home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1528 #18 0x00007fd78e43c83e in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()#1}::operator()() const (this=0x7ffe16a0f8a0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127 #19 0x00007fd78e43c79d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call(void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QSortFilterProxyModelPrivate*, void**)::{lambda()#1}&&) (args=0x7ffe16a0fc80, fn=...) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65 #20 0x00007fd78e43c757 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void, void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call (f=(void (QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78e3f74a0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126 #21 0x00007fd78e43c6c1 in QtPrivate::FunctionPointer<void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&)>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void> (f=(void (QSortFilterProxyModelPrivate::*)(QSortFilterProxyModelPrivate * const, const QModelIndex &, const QModelIndex &, const QList<int> &)) 0x7fd78e3f74a0 <QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QList<int> const&)>, o=0x55d1e2894d60, arg=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174 #22 0x00007fd78e43c5f0 in QtPrivate::QPrivateSlotObject<void (QSortFilterProxyModelPrivate::*)(QModelIndex const&, QModelIndex const&, QList<int> const&), QtPrivate::List<QModelIndex const&, QModelIndex const&, QList<int> const&>, void>::impl (which=1, this_=0x55d1ea25a960, r=0x55d1ea25a160, a=0x7ffe16a0fc80, ret=0x0) at qtbase/src/corelib/kernel/qobject_p.h:272 #23 0x00007fd78dce95e2 in QtPrivate::QSlotObjectBase::call (this=0x55d1ea25a960, r=0x55d1ea25a160, a=0x7ffe16a0fc80) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #24 0x00007fd78df1400f in doActivate<false> (sender=0x55d1ea259540, signal_index=3, argv=0x7ffe16a0fc80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342 #25 0x00007fd78df0a353 in QMetaObject::activate (sender=0x55d1ea259540, m=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, argv=0x7ffe16a0fc80) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4402 #26 0x00007fd78e36b5ce in QMetaObject::activate<void, QModelIndex, QModelIndex, QList<int> > (sender=0x55d1ea259540, mo=0x7fd78e85ee68 <QAbstractItemModel::staticMetaObject>, local_signal_index=0, ret=0x0, args=..., args=..., args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:319 #27 0x00007fd78e3667f0 in QAbstractItemModel::dataChanged (this=0x55d1ea259540, _t1=..., _t2=..., _t3=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:658 #28 0x00007fd78d23d7cd in QStandardItemModelPrivate::itemChanged (this=0x55d1ea259fb0, item=0x55d1ea28adf0, roles=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:568 #29 0x00007fd78d240701 in QStandardItem::setData (this=0x55d1ea28adf0, value=..., role=10) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:909 #30 0x00007fd78d240ccd in QStandardItem::setCheckable (this=0x55d1ea28adf0, checkable=true) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1345 #31 0x00007fd78ef0387f in QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0::operator()() const (this=0x55d1ea28a600) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:88 #32 0x00007fd78ef03355 in std::__invoke_impl<void, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&>(std::__invoke_other, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&) (__f=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63 #33 0x00007fd78ef03315 in std::__invoke_r<void, QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&>(QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0&) (__fn=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113 #34 0x00007fd78ef031fd in std::_Function_handler<void(), QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*)::$_0>::_M_invoke (__functor=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292 #35 0x00007fd78ee2adde in std::function<void()>::operator() (this=0x7ffe16a10278) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593 #36 0x00007fd78ee2200f in QtInstance::RunInMainThread (this=0x55d1e1053a60, func=...) at vcl/qt6/../qt5/QtInstance.cxx:205 #37 0x00007fd78eef9580 in QtInstanceTreeView::insert (this=0x55d1ea332b50, pParent=0x0, nPos=0, pStr=0x0, pId=0x0, pIconName=0x0, pImageSurface=0x0, bChildrenOnDemand=false, pRet=0x0) at vcl/qt6/../qt5/QtInstanceTreeView.cxx:62 #38 0x00007fd78eef9735 in virtual thunk to QtInstanceTreeView::insert(weld::TreeIter const*, int, rtl::OUString const*, rtl::OUString const*, rtl::OUString const*, VirtualDevice*, bool, weld::TreeIter*) () at /home/michi/development/git/libreoffice/instdir/program/libvclplug_qt6lo.so #39 0x00007fd750a91799 in weld::TreeView::insert (this=0x55d1ea332d00, nRow=-1, pRet=0x0) at include/vcl/weld.hxx:1053 #40 0x00007fd750a90c92 in weld::TreeView::append (this=0x55d1ea332d00, pRet=0x0) at include/vcl/weld.hxx:1056 #41 0x00007fd750a9e2e9 in SwCaptionOptPage::Reset (this=0x55d1ea326dc0, rSet=0x7ffe16a10990) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:1096 #42 0x00007fd79c8bdd00 in SfxSingleTabDialogController::SetTabPage (this=0x7ffe16a10938, xTabPage=std::unique_ptr<SfxTabPage> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:273 #43 0x00007fd750a99f2d in SwCaptionOptDlg::SwCaptionOptDlg (this=0x7ffe16a10938, pParent=0x55d1e7e35f78, rSet=SfxItemSet of pool 0x55d1e2a38060 with parent 0x0 and Which ranges: [(1, 160), (1000, 1252), (4021, 4078)]) at /home/michi/development/git/libreoffice/sw/source/ui/config/optload.cxx:854 #44 0x00007fd750c21914 in SwCaptionDialog::CaptionHdl (this=0x7fd77c003ea0) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:374 #45 0x00007fd750c2006d in SwCaptionDialog::LinkStubCaptionHdl (instance=0x7fd77c003ea0, data=...) at /home/michi/development/git/libreoffice/sw/source/ui/frmdlg/cption.cxx:371 #46 0x00007fd7976aa801 in Link<weld::Button&, void>::Call (this=0x55d1e7e35748, data=...) at include/tools/link.hxx:105 #47 0x00007fd79768582c in weld::Button::signal_clicked (this=0x55d1e7e35740) at include/vcl/weld.hxx:1563 [...] Change-Id: I7ced40096c5d8cf840db3a185688017e0fdae692 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191954 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
tdf-gerrit
pushed a commit
that referenced
this pull request
Oct 8, 2025
in headless vclplug too. Same deadlock can happen in that mode as seen originally as: commit d193d65 Date: Thu Sep 8 17:30:38 2022 +0200 tdf#151894 Pre-init NSSpellCHecker to avoid SolarMutex deadlock current example bts are main on thread 1, vcl launched to run on its event loop on 'lo_startmain' side thread. (lldb) thread backtrace 1 * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00000001966f489c libsystem_kernel.dylib`__psynch_mutexwait + 8 frame #1: 0x0000000196730e58 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 84 frame #2: 0x000000019672e840 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 220 frame #3: 0x0000000105ad554c libuno_sal.dylib.3`osl_acquireMutex(pMutex=<unavailable>) at mutex.cxx:99:20 frame #4: 0x000000015a6e8370 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(unsigned int) [inlined] osl::Mutex::acquire(this=0x00000001497e7ec8) at mutex.hxx:63:20 frame #5: 0x000000015a6e8368 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(this=0x00000001497e7ec0, nLockCount=1) at svpinst.cxx:357:18 frame #6: 0x000000015952fda8 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] comphelper::SolarMutex::acquire(this=0x00000001497e7ec0, nLockCount=1) at solarmutex.hxx:86:5 frame #7: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] osl::Guard<comphelper::SolarMutex>::Guard(this=<unavailable>, t=0x00000001497e7ec0) at mutex.hxx:144:17 frame #8: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:11 frame #9: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:78 frame #10: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(pThis=0x000060000124a9a0, sUrl="/tmp/ErrareHumanumEst.fodg", pFormat="fodg", pFilterOptions="{\"DecomposePDF\":{\"type\":\"boolean\",\"value\":\"true\"}}") at init.cxx:3698:21 ... frame #32: 0x0000000102965334 main + 228 (lldb) thread backtrace 11 thread #11, name = 'lo_startmain' frame #0: 0x00000001966f53cc libsystem_kernel.dylib`__psynch_cvwait + 8 frame #1: 0x00000001967340e0 libsystem_pthread.dylib`_pthread_cond_wait + 984 frame #2: 0x0000000197ddefd0 Foundation`-[NSOperation waitUntilFinished] + 488 frame #3: 0x00000001967e28f8 CoreFoundation`_CFXNotificationPost + 804 frame #4: 0x0000000197d9c680 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88 frame #5: 0x000000019a737554 AppKit`-[NSMenu insertItem:atIndex:] + 892 frame #6: 0x000000019a8f1e00 AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] + 1380 frame #7: 0x000000019a8f1550 AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] + 76 frame #8: 0x000000019a8f0688 AppKit`-[NSSpellChecker init] + 248 frame #9: 0x000000019a8f0580 AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke + 20 frame #10: 0x000000019659585c libdispatch.dylib`_dispatch_client_callout + 16 frame #11: 0x000000019657ea28 libdispatch.dylib`_dispatch_once_callout + 32 frame #12: 0x000000019a8f0568 AppKit`+[NSSpellChecker sharedSpellChecker] + 140 frame #13: 0x0000000158dbb054 libmergedlo.dylib`MacSpellChecker::getLocales(this=0x00006000006fc500) at macspellimp.mm:118:42 frame #14: 0x0000000158da1e94 libmergedlo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl(this=0x000000014966e020) at lngsvcmgr.cxx:975:63 frame #15: 0x0000000158da46f8 libmergedlo.dylib`LngSvcMgr::getAvailableServices(this=0x000000014966e020, rServiceName=0x000000015c044600, rLocale=0x000000016e3ae1d0) at lngsvcmgr.cxx:1369:9 frame #16: 0x0000000158d9c434 libmergedlo.dylib`LngSvcMgr::UpdateAll(this=0x000000014966e020) at lngsvcmgr.cxx:655:46 frame #17: 0x0000000158d9bd38 libmergedlo.dylib`LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:414:5 frame #18: 0x0000000158da7a70 libmergedlo.dylib`::linguistic_LngSvcMgr_get_implementation(com::sun::star::uno::XComponentContext *, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> &) [inlined] LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:402:1 frame #19: 0x0000000158da7a6c libmergedlo.dylib`linguistic_LngSvcMgr_get_implementation((null)=<unavailable>, (null)=<unavailable>) at lngsvcmgr.cxx:1816:30 frame #20: 0x000000012dc30ee0 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()[abi:ne190102](this=0x0000000149747c90, __args=0x000000016e3ae310, __args=0x000000016e3ae308) const at function.h:430:12 frame #21: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(this= Function = linguistic_LngSvcMgr_get_implementation , __arg=0x0000600000cc86b8, __arg=0x000000016e3ae308) const at function.h:989:10 frame #22: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(this=0x0000000149747c18, context=0x000000015c487110) at servicemanager.cxx:701:13 frame #23: 0x000000012dc30d4c libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance(this=0x0000000149747c18, context=0x000000015c487110, singletonRequest=false) at servicemanager.cxx:666:30 frame #24: 0x000000012dc34ed8 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] cppuhelper::ServiceManager::createInstanceWithContext(this=<unavailable>, aServiceSpecifier=<unavailable>, Context=0x000000015c487110) at servicemanager.cxx:1002:36 frame #25: 0x000000012dc34eb4 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) at servicemanager.cxx:0 frame #26: 0x00000001588b29c8 libmergedlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create(the_context=0x000000015c487110) at LinguServiceManager.hpp:38:129 frame #27: 0x00000001588b3444 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl() [inlined] GetLngSvcMgr_Impl() at unolingu.cxx:60:52 frame #28: 0x00000001588b3438 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl(this=0x0000600002df4300) at unolingu.cxx:216:61 frame #29: 0x00000001588b3314 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) [inlined] (anonymous namespace)::SpellDummy_Impl::isValid(this=<unavailable>, rWord=<unavailable>, nLanguage=<unavailable>, rProperties=<unavailable>) at unolingu.cxx:248:5 frame #30: 0x00000001588b3310 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unolingu.cxx:0 frame #31: 0x00000001588405ec libmergedlo.dylib`ImpEditEngine::DoOnlineSpelling(this=0x0000000149859800, pThisNodeOnly=<unavailable>, bSpellAtCursorPos=<unavailable>, bInterruptible=<unavailable>) at impedit4.cxx:2480:37 frame #32: 0x0000000134059498 libsdlo.dylib`SdDrawDocument::SpellObject(this=0x000000014961cb20, pObj=0x0000000149646150) at drawdoc4.cxx:885:16 frame #33: 0x00000001340591b0 libsdlo.dylib`SdDrawDocument::OnlineSpellingHdl(this=0x000000014961cb20, (null)=<unavailable>) at drawdoc4.cxx:823:17 frame #34: 0x000000015a52b9b0 libmergedlo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:584:20 frame #35: 0x000000015a6e7bf8 libmergedlo.dylib`SvpSalInstance::CheckTimeout(bool) [inlined] SalTimer::CallCallback(this=<unavailable>) at saltimer.hxx:53:13 frame #36: 0x000000015a6e7bec libmergedlo.dylib`SvpSalInstance::CheckTimeout(this=<unavailable>, bExecuteTimers=true) at svpinst.cxx:167:53 frame #37: 0x000000015a6e863c libmergedlo.dylib`SvpSalInstance::ImplYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:430:17 frame #38: 0x000000015a6e8950 libmergedlo.dylib`SvpSalInstance::DoYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:504:21 frame #39: 0x000000015a53d920 libmergedlo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:389:48 frame #40: 0x000000015a53d328 libmergedlo.dylib`Application::Yield() at svapp.cxx:492:5 [artificial] frame #41: 0x000000015a53d210 libmergedlo.dylib`Application::Execute() at svapp.cxx:364:13 frame #42: 0x00000001594ffeb4 libmergedlo.dylib`desktop::Desktop::Main(this=0x000000016e3aeed0) at app.cxx:1680:13 frame #43: 0x000000015a5475d0 libmergedlo.dylib`ImplSVMain() at svmain.cxx:228:35 frame #44: 0xffffffffffffffff libmergedlo.dylib`SVMain() frame #45: 0x000000015951e5e4 libmergedlo.dylib`soffice_main at sofficemain.cxx:121:12 frame #46: 0x00000001595669bc libmergedlo.dylib`lo_startmain((null)=<unavailable>) at init.cxx:7860:5 frame #47: 0x0000000105ae59d8 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00006000005cb330) at thread.cxx:240:9 frame #48: 0x0000000196733c0c libsystem_pthread.dylib`_pthread_start + 136 Change-Id: I8d25ed364f131434ce4f738604ddcf3f586cf6d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192052 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
tdf-gerrit
pushed a commit
that referenced
this pull request
Oct 8, 2025
in headless vclplug too. Same deadlock can happen in that mode as seen originally as: commit d193d65 Date: Thu Sep 8 17:30:38 2022 +0200 tdf#151894 Pre-init NSSpellCHecker to avoid SolarMutex deadlock current example bts are main on thread 1, vcl launched to run on its event loop on 'lo_startmain' side thread. (lldb) thread backtrace 1 * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00000001966f489c libsystem_kernel.dylib`__psynch_mutexwait + 8 frame #1: 0x0000000196730e58 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_wait + 84 frame #2: 0x000000019672e840 libsystem_pthread.dylib`_pthread_mutex_firstfit_lock_slow + 220 frame #3: 0x0000000105ad554c libuno_sal.dylib.3`osl_acquireMutex(pMutex=<unavailable>) at mutex.cxx:99:20 frame #4: 0x000000015a6e8370 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(unsigned int) [inlined] osl::Mutex::acquire(this=0x00000001497e7ec8) at mutex.hxx:63:20 frame #5: 0x000000015a6e8368 libmergedlo.dylib`SvpSalYieldMutex::doAcquire(this=0x00000001497e7ec0, nLockCount=1) at svpinst.cxx:357:18 frame #6: 0x000000015952fda8 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] comphelper::SolarMutex::acquire(this=0x00000001497e7ec0, nLockCount=1) at solarmutex.hxx:86:5 frame #7: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] osl::Guard<comphelper::SolarMutex>::Guard(this=<unavailable>, t=0x00000001497e7ec0) at mutex.hxx:144:17 frame #8: 0x000000015952fd98 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:11 frame #9: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(_LibreOfficeKitDocument*, char const*, char const*, char const*) [inlined] SolarMutexGuard::SolarMutexGuard(this=<unavailable>) at svapp.hxx:1344:78 frame #10: 0x000000015952fd90 libmergedlo.dylib`doc_saveAs(pThis=0x000060000124a9a0, sUrl="/tmp/ErrareHumanumEst.fodg", pFormat="fodg", pFilterOptions="{\"DecomposePDF\":{\"type\":\"boolean\",\"value\":\"true\"}}") at init.cxx:3698:21 ... frame #32: 0x0000000102965334 main + 228 (lldb) thread backtrace 11 thread #11, name = 'lo_startmain' frame #0: 0x00000001966f53cc libsystem_kernel.dylib`__psynch_cvwait + 8 frame #1: 0x00000001967340e0 libsystem_pthread.dylib`_pthread_cond_wait + 984 frame #2: 0x0000000197ddefd0 Foundation`-[NSOperation waitUntilFinished] + 488 frame #3: 0x00000001967e28f8 CoreFoundation`_CFXNotificationPost + 804 frame #4: 0x0000000197d9c680 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88 frame #5: 0x000000019a737554 AppKit`-[NSMenu insertItem:atIndex:] + 892 frame #6: 0x000000019a8f1e00 AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] + 1380 frame #7: 0x000000019a8f1550 AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] + 76 frame #8: 0x000000019a8f0688 AppKit`-[NSSpellChecker init] + 248 frame #9: 0x000000019a8f0580 AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke + 20 frame #10: 0x000000019659585c libdispatch.dylib`_dispatch_client_callout + 16 frame #11: 0x000000019657ea28 libdispatch.dylib`_dispatch_once_callout + 32 frame #12: 0x000000019a8f0568 AppKit`+[NSSpellChecker sharedSpellChecker] + 140 frame #13: 0x0000000158dbb054 libmergedlo.dylib`MacSpellChecker::getLocales(this=0x00006000006fc500) at macspellimp.mm:118:42 frame #14: 0x0000000158da1e94 libmergedlo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl(this=0x000000014966e020) at lngsvcmgr.cxx:975:63 frame #15: 0x0000000158da46f8 libmergedlo.dylib`LngSvcMgr::getAvailableServices(this=0x000000014966e020, rServiceName=0x000000015c044600, rLocale=0x000000016e3ae1d0) at lngsvcmgr.cxx:1369:9 frame #16: 0x0000000158d9c434 libmergedlo.dylib`LngSvcMgr::UpdateAll(this=0x000000014966e020) at lngsvcmgr.cxx:655:46 frame #17: 0x0000000158d9bd38 libmergedlo.dylib`LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:414:5 frame #18: 0x0000000158da7a70 libmergedlo.dylib`::linguistic_LngSvcMgr_get_implementation(com::sun::star::uno::XComponentContext *, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> &) [inlined] LngSvcMgr::LngSvcMgr(this=0x000000014966e020) at lngsvcmgr.cxx:402:1 frame #19: 0x0000000158da7a6c libmergedlo.dylib`linguistic_LngSvcMgr_get_implementation((null)=<unavailable>, (null)=<unavailable>) at lngsvcmgr.cxx:1816:30 frame #20: 0x000000012dc30ee0 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()[abi:ne190102](this=0x0000000149747c90, __args=0x000000016e3ae310, __args=0x000000016e3ae308) const at function.h:430:12 frame #21: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator()(this= Function = linguistic_LngSvcMgr_get_implementation , __arg=0x0000600000cc86b8, __arg=0x000000016e3ae308) const at function.h:989:10 frame #22: 0x000000012dc30ec4 libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(this=0x0000000149747c18, context=0x000000015c487110) at servicemanager.cxx:701:13 frame #23: 0x000000012dc30d4c libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance(this=0x0000000149747c18, context=0x000000015c487110, singletonRequest=false) at servicemanager.cxx:666:30 frame #24: 0x000000012dc34ed8 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) [inlined] cppuhelper::ServiceManager::createInstanceWithContext(this=<unavailable>, aServiceSpecifier=<unavailable>, Context=0x000000015c487110) at servicemanager.cxx:1002:36 frame #25: 0x000000012dc34eb4 libuno_cppuhelpergcc3.dylib.3`non-virtual thunk to cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) at servicemanager.cxx:0 frame #26: 0x00000001588b29c8 libmergedlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create(the_context=0x000000015c487110) at LinguServiceManager.hpp:38:129 frame #27: 0x00000001588b3444 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl() [inlined] GetLngSvcMgr_Impl() at unolingu.cxx:60:52 frame #28: 0x00000001588b3438 libmergedlo.dylib`(anonymous namespace)::SpellDummy_Impl::GetSpell_Impl(this=0x0000600002df4300) at unolingu.cxx:216:61 frame #29: 0x00000001588b3314 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) [inlined] (anonymous namespace)::SpellDummy_Impl::isValid(this=<unavailable>, rWord=<unavailable>, nLanguage=<unavailable>, rProperties=<unavailable>) at unolingu.cxx:248:5 frame #30: 0x00000001588b3310 libmergedlo.dylib`non-virtual thunk to (anonymous namespace)::SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unolingu.cxx:0 frame #31: 0x00000001588405ec libmergedlo.dylib`ImpEditEngine::DoOnlineSpelling(this=0x0000000149859800, pThisNodeOnly=<unavailable>, bSpellAtCursorPos=<unavailable>, bInterruptible=<unavailable>) at impedit4.cxx:2480:37 frame #32: 0x0000000134059498 libsdlo.dylib`SdDrawDocument::SpellObject(this=0x000000014961cb20, pObj=0x0000000149646150) at drawdoc4.cxx:885:16 frame #33: 0x00000001340591b0 libsdlo.dylib`SdDrawDocument::OnlineSpellingHdl(this=0x000000014961cb20, (null)=<unavailable>) at drawdoc4.cxx:823:17 frame #34: 0x000000015a52b9b0 libmergedlo.dylib`Scheduler::CallbackTaskScheduling() at scheduler.cxx:584:20 frame #35: 0x000000015a6e7bf8 libmergedlo.dylib`SvpSalInstance::CheckTimeout(bool) [inlined] SalTimer::CallCallback(this=<unavailable>) at saltimer.hxx:53:13 frame #36: 0x000000015a6e7bec libmergedlo.dylib`SvpSalInstance::CheckTimeout(this=<unavailable>, bExecuteTimers=true) at svpinst.cxx:167:53 frame #37: 0x000000015a6e863c libmergedlo.dylib`SvpSalInstance::ImplYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:430:17 frame #38: 0x000000015a6e8950 libmergedlo.dylib`SvpSalInstance::DoYield(this=0x00006000008c50e0, bWait=true, bHandleAllCurrentEvents=false) at svpinst.cxx:504:21 frame #39: 0x000000015a53d920 libmergedlo.dylib`ImplYield(i_bWait=true, i_bAllEvents=false) at svapp.cxx:389:48 frame #40: 0x000000015a53d328 libmergedlo.dylib`Application::Yield() at svapp.cxx:492:5 [artificial] frame #41: 0x000000015a53d210 libmergedlo.dylib`Application::Execute() at svapp.cxx:364:13 frame #42: 0x00000001594ffeb4 libmergedlo.dylib`desktop::Desktop::Main(this=0x000000016e3aeed0) at app.cxx:1680:13 frame #43: 0x000000015a5475d0 libmergedlo.dylib`ImplSVMain() at svmain.cxx:228:35 frame #44: 0xffffffffffffffff libmergedlo.dylib`SVMain() frame #45: 0x000000015951e5e4 libmergedlo.dylib`soffice_main at sofficemain.cxx:121:12 frame #46: 0x00000001595669bc libmergedlo.dylib`lo_startmain((null)=<unavailable>) at init.cxx:7860:5 frame #47: 0x0000000105ae59d8 libuno_sal.dylib.3`osl_thread_start_Impl(pData=0x00006000005cb330) at thread.cxx:240:9 frame #48: 0x0000000196733c0c libsystem_pthread.dylib`_pthread_start + 136 Change-Id: I8d25ed364f131434ce4f738604ddcf3f586cf6d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192060 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Understanding Bug 143148 - "Use pragma once instead of include guards"
This bug is about refactoring header files in the LibreOffice codebase to use #pragma once instead of traditional include guards (#ifndef, #define, #endif).
When writing C++ header files, include guards prevent multiple inclusions of the same file, which can lead to compiler errors.
Traditional include guards look like this:
example:
#ifndef MY_HEADER_FILE_H // If not defined
#define MY_HEADER_FILE_H // Define it
// Code inside the header file
#endif // End of include guard
These prevent multiple inclusions, but they are verbose and error-prone (e.g., developers might accidentally use the same macro name in different files).
#pragma once is a modern, simpler alternative to include guards. Instead of using #ifndef and #define, you just write:
#pragma once
Find header files that use traditional include guards and replace them with #pragma once.
Steps to Solve the Issue:
LibreOffice is a large codebase. You need to identify header files (.h or .hpp) that use #ifndef include guards.
The best way is to search for #ifndef in the codebase.
Modified the files
Removed the #ifndef and #define lines.
Replaced them with #pragma once.
Removed the #endif at the end.