Skip to content

Conversation

@charles-hennge
Copy link

No description provided.

removed unneeded workflow
added script to build android binary
@github-actions
Copy link

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

@github-actions github-actions bot closed this Aug 15, 2025
@charles-hennge charles-hennge deleted the android_build_test branch August 15, 2025 05:09
@charles-hennge
Copy link
Author

This was supposed to be on my fork

pull bot referenced this pull request in chenlong622/LibreOffice Aug 16, 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 <[email protected]>
pull bot referenced this pull request in chenlong622/LibreOffice Aug 16, 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 <[email protected]>
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 <[email protected]>
(cherry picked from commit 38024bc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096
Reviewed-by: Xisco Fauli <[email protected]>
kohei-us pushed a commit to kohei-us/core that referenced this pull request Aug 21, 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
    LibreOffice#1  0x00007fa78409e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    LibreOffice#2  0x00007fa784049cc2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    LibreOffice#3  0x00007fa7840324ac in __GI_abort () at ./stdlib/abort.c:73
    LibreOffice#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
    LibreOffice#5  0x00007fa77b38413c in ImplDbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/vcl/source/app/dbggui.cxx:36
    LibreOffice#6  0x00007fa78252be74 in DbgTestSolarMutex (owned=true) at /home/michi/development/git/libreoffice/tools/source/debug/debug.cxx:54
    LibreOffice#7  0x00007fa77ac6732b in vcl::WindowOutputDevice::AcquireGraphics (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:819
    LibreOffice#8  0x00007fa77ae68d7b in OutputDevice::ImplIsAntiparallel (this=0x55f164887f80) at /home/michi/development/git/libreoffice/vcl/source/outdev/outdev.cxx:614
    LibreOffice#9  0x00007fa77aba212f in vcl::Window::GetPointerPosPixel (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:548
    LibreOffice#10 0x00007fa77aba2030 in vcl::Window::ImplTestMousePointerSet (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:90
    LibreOffice#11 0x00007fa77aba47bb in vcl::Window::EnterWait (this=0x55f167b88570) at /home/michi/development/git/libreoffice/vcl/source/window/mouse.cxx:613
    LibreOffice#12 0x00007fa7476b98d7 in SwWait::EnterWaitAndLockDispatcher (this=0x7ffe7c5985d8) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:47
    LibreOffice#13 0x00007fa7476b9864 in SwWait::SwWait (this=0x7ffe7c5985d8, rDocShell=..., bLockUnlockDispatcher=false) at /home/michi/development/git/libreoffice/sw/source/uibase/app/swwait.cxx:34
    LibreOffice#14 0x00007fa7478a051b in SwModelessRedlineAcceptDlg::Activate (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sw/source/uibase/misc/redlndlg.cxx:95
    LibreOffice#15 0x00007fa7804e12f5 in SfxDialogController::FocusChangeHdl (this=0x55f1689d4140) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:114
    LibreOffice#16 0x00007fa7804e129d in SfxDialogController::LinkStubFocusChangeHdl (instance=0x55f1689d4140, data=...) at /home/michi/development/git/libreoffice/sfx2/source/dialog/basedlgs.cxx:111
    LibreOffice#17 0x00007fa772af7211 in Link<weld::Container&, void>::Call (this=0x55f168a187d0, data=...) at include/tools/link.hxx:105
    LibreOffice#18 0x00007fa772af712c in weld::Container::signal_container_focus_changed (this=0x55f168a187c8) at include/vcl/weld.hxx:396
    LibreOffice#19 0x00007fa772af4b1f in QtInstanceWindow::eventFilter (this=0x55f168a18600, pObject=0x55f168483010, pEvent=0x7ffe7c599350) at vcl/qt6/../qt5/QtInstanceWindow.cxx:228
    LibreOffice#20 0x00007fa771a52f9d in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1246
    LibreOffice#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
    LibreOffice#22 0x00007fa76f9e9fd4 in QApplication::notify (this=0x55f162d31a60, receiver=0x55f168483010, e=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3253
    LibreOffice#23 0x00007fa771a52a99 in QCoreApplication::notifyInternal2 (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109
    LibreOffice#24 0x00007fa771a53799 in QCoreApplication::sendSpontaneousEvent (receiver=0x55f168483010, event=0x7ffe7c599350) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1563
    LibreOffice#25 0x00007fa76f9e48ee in QApplicationPrivate::setActiveWindow (act=0x55f168483010) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1880
    LibreOffice#26 0x00007fa76f9e5015 in QApplicationPrivate::notifyActiveWindowChange (this=0x55f162d3fb40, previous=0x0) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:1950
    LibreOffice#27 0x00007fa7708973c4 in QGuiApplicationPrivate::processFocusWindowEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2726
    LibreOffice#28 0x00007fa7708935a8 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x55f1690e6910) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2215
    LibreOffice#29 0x00007fa77097c52d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    LibreOffice#30 0x00007fa77097c3de in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    LibreOffice#31 0x00007fa76b8b5665 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55f162d8feb0) at /home/michi/development/git/qt5/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:523
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#35 0x00007fa771a3b8b6 in QAbstractEventDispatcher::aboutToBlock (this=0x55f162d326e0) at qtbase/src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:122
    LibreOffice#36 0x00007fa772059673 in QEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:386
    LibreOffice#37 0x00007fa77119ba38 in QPAEventDispatcherGlib::processEvents (this=0x55f162d326e0, flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:89
    LibreOffice#38 0x00007fa7729f8212 in QtInstance::ImplYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:500
    LibreOffice#39 0x00007fa7729fb551 in QtInstance::DoYield (this=0x55f162dbc230, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:511
    LibreOffice#40 0x00007fa77b45b226 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385
    LibreOffice#41 0x00007fa77b45ab3f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488
    LibreOffice#42 0x00007fa77b45a920 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360
    LibreOffice#43 0x00007fa784328e65 in desktop::Desktop::Main (this=0x7ffe7c59b5c0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1678
    LibreOffice#44 0x00007fa77b487146 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    LibreOffice#45 0x00007fa77b488c39 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    LibreOffice#46 0x00007fa7843a2b0a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    LibreOffice#47 0x000055f1441869fd in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    LibreOffice#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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Reviewed-by: Andras Timar <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 6, 2025
After

    commit 94442bd94e504b067efd0b992525b53fc660f114
    Author: Michael Weghorn <[email protected]>
    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 <[email protected]>
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 <[email protected]>
Reviewed-by: Miklos Vajna <[email protected]>
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 <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Oct 15, 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 <[email protected]>
Reviewed-by: Miklos Vajna <[email protected]>
matbeedotcom pushed a commit to matbeedotcom/libreoffice-core-wasm that referenced this pull request Dec 10, 2025
Besides the obvious cases handled in previous commit

    Change-Id: Ifa84a038fc56f34958cd732caeb9c436b48b3c75
    Author: Michael Weghorn <[email protected]>
    Date:   Fri Aug 30 10:12:21 2024 +0200

        tdf#162696 qt weld: Do GUI things in main thread

, the destruction of `QtInstanceDialog::m_pDialog` (that
previously implicitly happened due to it being a
`std::unique_ptr`) also needs to happen in the main
thread.

Otherwise, it triggers this assert with a debug Qt build
for the tdf#162696 of installing an extension via drag'n'drop
into the start center:

    ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread QThread(0x7f4b14003390). Receiver 'QDialog(0x562e6ba77450)' was created in thread QThread(0x562e69709f60, name = "Qt mainThread")", file /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp, line 551
    terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException'

    Fatal exception: Signal 6
    Stack:
    #0 sal::backtrace_get(unsigned int) at /home/michi/development/git/libreoffice/sal/osl/unx/backtraceapi.cxx:42
    LibreOffice#1 (anonymous namespace)::printStack(int) at /home/michi/development/git/libreoffice/sal/osl/unx/signal.cxx:289
    LibreOffice#2 (anonymous namespace)::callSystemHandler(int, siginfo_t*, void*) at /home/michi/development/git/libreoffice/sal/osl/unx/signal.cxx:330
    LibreOffice#3 (anonymous namespace)::signalHandlerFunction(int, siginfo_t*, void*) at /home/michi/development/git/libreoffice/sal/osl/unx/signal.cxx:427
    LibreOffice#4 /lib/x86_64-linux-gnu/libc.so.6(+0x3f590) [0x7f4be7455590]
    LibreOffice#5 __pthread_kill_implementation at ./nptl/pthread_kill.c:44 (discriminator 1)
    LibreOffice#6 raise at ./signal/../sysdeps/posix/raise.c:27
    LibreOffice#7 abort at ./stdlib/abort.c:81
    LibreOffice#8 /lib/x86_64-linux-gnu/libstdc++.so.6(+0xa1a3d) [0x7f4be70a1a3d]
    LibreOffice#9 /lib/x86_64-linux-gnu/libstdc++.so.6(+0xb306a) [0x7f4be70b306a]
    LibreOffice#10 std::unexpected() in /lib/x86_64-linux-gnu/libstdc++.so.6
    LibreOffice#11 /home/michi/development/git/qt5/qtbase/lib/libQt6Core.so.6(+0xed562) [0x7f4bd2eed562]
    LibreOffice#12 QMessageLogger::fatal() const at /home/michi/development/git/qt5/qtbase/src/corelib/global/qlogging.cpp:901
    LibreOffice#13 qt_assert_x(char const*, char const*, char const*, int) at /home/michi/development/git/qt5/qtbase/src/corelib/global/qassert.cpp:0
    LibreOffice#14 QCoreApplicationPrivate::checkReceiverThread(QObject*) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:0
    LibreOffice#15 QApplication::notify(QObject*, QEvent*) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2583
    LibreOffice#16 QCoreApplication::notifyInternal2(QObject*, QEvent*) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1170
    LibreOffice#17 QCoreApplication::sendEvent(QObject*, QEvent*) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1614
    LibreOffice#18 QWidgetPrivate::setVisible(bool) at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8415
    LibreOffice#19 QDialogPrivate::setVisible(bool) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:832
    LibreOffice#20 QMessageBoxPrivate::setVisible(bool) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qmessagebox.cpp:1676
    LibreOffice#21 QDialog::setVisible(bool) at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:750
    LibreOffice#22 QWidget::hide() at /home/michi/development/git/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8176
    LibreOffice#23 QDialog::~QDialog() at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qdialog.cpp:390
    LibreOffice#24 QMessageBox::~QMessageBox() at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qmessagebox.cpp:879
    LibreOffice#25 QMessageBox::~QMessageBox() at /home/michi/development/git/qt5/qtbase/src/widgets/dialogs/qmessagebox.cpp:878
    LibreOffice#26 std::default_delete<QDialog>::operator()(QDialog*) const at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:94
    LibreOffice#27 std::unique_ptr<QDialog, std::default_delete<QDialog>>::~unique_ptr() at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:398
    LibreOffice#28 QtInstanceDialog::~QtInstanceDialog() at /home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtInstanceDialog.hxx:14
    LibreOffice#29 QtInstanceMessageDialog::~QtInstanceMessageDialog() at /home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtInstanceMessageDialog.hxx:16
    LibreOffice#30 QtInstanceMessageDialog::~QtInstanceMessageDialog() at /home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtInstanceMessageDialog.hxx:16
    LibreOffice#31 QtInstanceMessageDialog::~QtInstanceMessageDialog() at /home/michi/development/git/libreoffice/vcl/inc/qt6/../qt5/QtInstanceMessageDialog.hxx:16
    LibreOffice#32 std::default_delete<weld::MessageDialog>::operator()(weld::MessageDialog*) const at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:94
    LibreOffice#33 std::__uniq_ptr_impl<weld::MessageDialog, std::default_delete<weld::MessageDialog>>::reset(weld::MessageDialog*) at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:206
    LibreOffice#34 std::unique_ptr<weld::MessageDialog, std::default_delete<weld::MessageDialog>>::reset(weld::MessageDialog*) at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:504
    LibreOffice#35 dp_gui::DialogHelper::installExtensionWarn(std::basic_string_view<char16_t, std::char_traits<char16_t>>) at /home/michi/development/git/libreoffice/desktop/source/deployment/gui/dp_gui_dialog2.cxx:379
    LibreOffice#36 dp_gui::(anonymous namespace)::ProgressCmdEnv::handle(com::sun::star::uno::Reference<com::sun::star::task::XInteractionRequest> const&) at /home/michi/development/git/libreoffice/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx:477
    LibreOffice#37 dp_misc::interactContinuation(com::sun::star::uno::Any const&, com::sun::star::uno::Type const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&, bool*, bool*) at /home/michi/development/git/libreoffice/desktop/source/deployment/misc/dp_interact.cxx:114
    LibreOffice#38 dp_manager::ExtensionManager::checkInstall(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at /home/michi/development/git/libreoffice/desktop/source/deployment/manager/dp_extensionmanager.cxx:1315
    LibreOffice#39 dp_manager::ExtensionManager::doChecksForAddExtension(com::sun::star::uno::Reference<com::sun::star::deployment::XPackageManager> const&, com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&, com::sun::star::uno::Reference<com::sun::star::deployment::XPackage> const&, com::sun::star::uno::Reference<com::sun::star::task::XAbortChannel> const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&, com::sun::star::uno::Reference<com::sun::star::deployment::XPackage>&) at /home/michi/development/git/libreoffice/desktop/source/deployment/manager/dp_extensionmanager.cxx:565
    LibreOffice#40 dp_manager::ExtensionManager::addExtension(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::task::XAbortChannel> const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at /home/michi/development/git/libreoffice/desktop/source/deployment/manager/dp_extensionmanager.cxx:655
    LibreOffice#41 non-virtual thunk to dp_manager::ExtensionManager::addExtension(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::NamedValue> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::task::XAbortChannel> const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) at /home/michi/development/git/libreoffice/desktop/source/deployment/manager/dp_extensionmanager.cxx:0
    LibreOffice#42 dp_gui::ExtensionCmdQueue::Thread::_addExtension(rtl::Reference<dp_gui::(anonymous namespace)::ProgressCmdEnv> const&, rtl::OUString const&, rtl::OUString const&, bool) at /home/michi/development/git/libreoffice/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx:864
    LibreOffice#43 dp_gui::ExtensionCmdQueue::Thread::execute() at /home/michi/development/git/libreoffice/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx:738
    LibreOffice#44 salhelper::Thread::run() at /home/michi/development/git/libreoffice/salhelper/source/thread.cxx:39
    LibreOffice#45 threadFunc at /home/michi/development/git/libreoffice/include/osl/thread.hxx:190
    LibreOffice#46 osl_thread_start_Impl(void*) at /home/michi/development/git/libreoffice/sal/osl/unx/thread.cxx:245
    LibreOffice#47 start_thread at ./nptl/pthread_create.c:447
    LibreOffice#48 clone3 at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:80

Change-Id: Idb5b20bde8c306ed14efd5467887d55fdf470202
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172643
Reviewed-by: Michael Weghorn <[email protected]>
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172653
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 2025
...in code newly introduced in 135ce25
"tdf#146487 Don't show generic diagram title when there is an empty title
given", which caused CppunitTest_chart2_export2 to fail with

> /oox/inc/drawingml/chart/plotareaconverter.hxx:78:62: runtime error: load of value 222, which is not a valid value for type 'bool'
>     #0 0x7f95cd9ed87c in oox::drawingml::chart::PlotAreaConverter::isSingleSeriesTitle() const /oox/inc/drawingml/chart/plotareaconverter.hxx:78:62
>     LibreOffice#1 0x7f95cd9e506f in oox::drawingml::chart::ChartSpaceConverter::convertFromModel(com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, com::sun::star::awt::Point const&) /oox/source/drawingml/chart/chartspaceconverter.cxx:189:53
>     LibreOffice#2 0x7f95cd9b6c34 in oox::drawingml::chart::ChartConverter::convertFromModel(oox::core::XmlFilterBase&, oox::drawingml::chart::ChartSpaceModel&, com::sun::star::uno::Reference<com::sun::star::chart2::XChartDocument> const&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, com::sun::star::awt::Point const&, com::sun::star::awt::Size const&) /oox/source/drawingml/chart/chartconverter.cxx:93:20
>     LibreOffice#3 0x7f95ce548f59 in oox::drawingml::Shape::finalizeXShape(oox::core::XmlFilterBase&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&) /oox/source/drawingml/shape.cxx:2245:50
>     LibreOffice#4 0x7f95438150b2 in oox::xls::Shape::finalizeXShape(oox::core::XmlFilterBase&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&) /sc/source/filter/oox/drawingfragment.cxx:113:30
>     LibreOffice#5 0x7f95ce5267bb in oox::drawingml::Shape::createAndInsert(oox::core::XmlFilterBase&, rtl::OUString const&, oox::drawingml::Theme const*, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, bool, bool, basegfx::B2DHomMatrix&, oox::drawingml::FillProperties const&, std::shared_ptr<oox::drawingml::Shape>) /oox/source/drawingml/shape.cxx:1964:9
>     LibreOffice#6 0x7f95ce4edb54 in oox::drawingml::Shape::addShape(oox::core::XmlFilterBase&, oox::drawingml::Theme const*, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, basegfx::B2DHomMatrix const&, oox::drawingml::FillProperties const&, std::__debug::map<rtl::OUString, std::shared_ptr<oox::drawingml::Shape>, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, std::shared_ptr<oox::drawingml::Shape> > > >*, std::shared_ptr<oox::drawingml::Shape>) /oox/source/drawingml/shape.cxx:366:41
>     LibreOffice#7 0x7f954381ef79 in oox::xls::DrawingFragment::onEndElement() /sc/source/filter/oox/drawingfragment.cxx:335:30
>     LibreOffice#8 0x7f95cdcaee54 in oox::core::ContextHandler2Helper::implEndElement(int) /oox/source/core/contexthandler2.cxx:125:9
>     LibreOffice#9 0x7f95cdd5c116 in oox::core::FragmentHandler2::endFastElement(int) /oox/source/core/fragmenthandler2.cxx:91:5
>     LibreOffice#10 0x7f95caf68fca in (anonymous namespace)::Entity::endElement() /sax/source/fastparser/fastparser.cxx:514:27
>     LibreOffice#11 0x7f95caf68998 in sax_fastparser::FastSaxParserImpl::callbackEndElement() /sax/source/fastparser/fastparser.cxx:1331:17
>     LibreOffice#12 0x7f95caf58444 in (anonymous namespace)::call_callbackEndElement(void*, unsigned char const*, unsigned char const*, unsigned char const*) /sax/source/fastparser/fastparser.cxx:338:18
>     LibreOffice#13 0x7f960adebeda in xmlParseEndTag2 /workdir/UnpackedTarball/libxml2/parser.c:10090:2
>     LibreOffice#14 0x7f960ad929b5 in xmlParseTryOrFinish /workdir/UnpackedTarball/libxml2/parser.c:11868:14
>     LibreOffice#15 0x7f960ad86334 in xmlParseChunk /workdir/UnpackedTarball/libxml2/parser.c:12151:5
>     LibreOffice#16 0x7f95caf53231 in sax_fastparser::FastSaxParserImpl::parse() /sax/source/fastparser/fastparser.cxx:1085:21
>     LibreOffice#17 0x7f95caf4cd18 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:890:9
>     LibreOffice#18 0x7f95caf6e950 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1470:13
>     LibreOffice#19 0x7f95cdce50d1 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     LibreOffice#20 0x7f95cdce5868 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     LibreOffice#21 0x7f95cddbb234 in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:414:21
>     LibreOffice#22 0x7f95cddb9b8d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:344:12
>     LibreOffice#23 0x7f95441ceaa8 in oox::xls::WorkbookHelper::importOoxFragment(rtl::Reference<oox::core::FragmentHandler> const&) /sc/source/filter/oox/workbookhelper.cxx:1046:27
>     LibreOffice#24 0x7f95442797f1 in oox::xls::WorksheetGlobals::finalizeDrawings() /sc/source/filter/oox/worksheethelper.cxx:1373:9
>     LibreOffice#25 0x7f95442789e0 in oox::xls::WorksheetGlobals::finalizeDrawingImport() /sc/source/filter/oox/worksheethelper.cxx:996:5
>     LibreOffice#26 0x7f954428744d in oox::xls::WorksheetHelper::finalizeDrawingImport() /sc/source/filter/oox/worksheethelper.cxx:1637:17
>     LibreOffice#27 0x7f95441771de in oox::xls::WorkbookFragment::finalizeImport() /sc/source/filter/oox/workbookfragment.cxx:511:18
>     LibreOffice#28 0x7f95cdd5b3ae in oox::core::FragmentHandler2::endDocument() /oox/source/core/fragmenthandler2.cxx:53:5
>     LibreOffice#29 0x7f95caf4cfc2 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:896:36
>     LibreOffice#30 0x7f95caf6e950 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1470:13
>     LibreOffice#31 0x7f95cdce50d1 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     LibreOffice#32 0x7f95cdce5868 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     LibreOffice#33 0x7f95cddbb234 in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:414:21
>     LibreOffice#34 0x7f95cddb9b8d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:344:12
>     LibreOffice#35 0x7f95435c4daa in oox::xls::ExcelFilter::importDocument() /sc/source/filter/oox/excelfilter.cxx:113:25
>     LibreOffice#36 0x7f95cdcf953b in oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/core/filterbase.cxx:488:49
>     LibreOffice#37 0x7f95435c7733 in oox::xls::ExcelFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sc/source/filter/oox/excelfilter.cxx:176:25
>     LibreOffice#38 0x7f95857c5b40 in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sfx2/source/doc/objstor.cxx:2393:34
>     LibreOffice#39 0x7f9585781c6a in SfxObjectShell::DoLoad(SfxMedium*) /sfx2/source/doc/objstor.cxx:761:23
>     LibreOffice#40 0x7f95859a9652 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sfx2/source/doc/sfxbasemodel.cxx:1980:36
>     LibreOffice#41 0x7f95862145e9 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) /sfx2/source/view/frmload.cxx:720:28
>     LibreOffice#42 0x7f95536a9900 in framework::LoadEnv::impl_loadContent() /framework/source/loadenv/loadenv.cxx:1176:37
>     LibreOffice#43 0x7f95536a091b in framework::LoadEnv::start() /framework/source/loadenv/loadenv.cxx:412:20
>     LibreOffice#44 0x7f9553698f59 in framework::LoadEnv::startLoading(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&, rtl::OUString const&, int, LoadEnvFeatures) /framework/source/loadenv/loadenv.cxx:308:5
>     LibreOffice#45 0x7f95536946e7 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/loadenv/loadenv.cxx:168:14
>     LibreOffice#46 0x7f955376867d in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx:591:16
>     LibreOffice#47 0x7f95537688a6 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx
>     LibreOffice#48 0x7f9569f7cafa in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /unotest/source/cpp/macros_test.cxx:71:62
>     LibreOffice#49 0x7f9580718c56 in UnoApiTest::loadWithParams(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /test/source/unoapi_test.cxx:126:19
>     LibreOffice#50 0x7f9580717ef8 in UnoApiTest::load(rtl::OUString const&, char const*) /test/source/unoapi_test.cxx:108:5
>     LibreOffice#51 0x7f9580719254 in UnoApiTest::loadFromFile(std::basic_string_view<char16_t, std::char_traits<char16_t> >, char const*) /test/source/unoapi_test.cxx:132:5
>     LibreOffice#52 0x7f95d8bf1018 in testTdf123647::TestBody() /chart2/qa/extras/chart2export2.cxx:1242:5

(<https://ci.libreoffice.org//job/lo_ubsan/3048/>)

Change-Id: I870d811e78b8c55b84627ae609f98f623465dd9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162294
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 3fb9859)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174442
Tested-by: Stephan Bergmann <[email protected]>
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  LibreOffice#1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  LibreOffice#2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  LibreOffice#3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  LibreOffice#4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  LibreOffice#5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  LibreOffice#6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  LibreOffice#7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  LibreOffice#8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  LibreOffice#9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  LibreOffice#10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  LibreOffice#11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  LibreOffice#12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  LibreOffice#13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  LibreOffice#14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  LibreOffice#15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  LibreOffice#16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  LibreOffice#17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  LibreOffice#18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  LibreOffice#19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  LibreOffice#20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  LibreOffice#21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  LibreOffice#22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  LibreOffice#23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  LibreOffice#24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  LibreOffice#25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  LibreOffice#26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  LibreOffice#27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  LibreOffice#28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  LibreOffice#29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  LibreOffice#30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  LibreOffice#31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  LibreOffice#32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  LibreOffice#33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  LibreOffice#34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  LibreOffice#35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  LibreOffice#36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  LibreOffice#37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  LibreOffice#38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  LibreOffice#39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  LibreOffice#40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  LibreOffice#41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  LibreOffice#42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  LibreOffice#43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  LibreOffice#44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  LibreOffice#45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  LibreOffice#46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  LibreOffice#47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  LibreOffice#48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  LibreOffice#49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  LibreOffice#50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  LibreOffice#51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  LibreOffice#52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  LibreOffice#53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t>>, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  LibreOffice#1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  LibreOffice#2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  LibreOffice#3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  LibreOffice#4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  LibreOffice#5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  LibreOffice#6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  LibreOffice#7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  LibreOffice#8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  LibreOffice#9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  LibreOffice#10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  LibreOffice#11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  LibreOffice#12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  LibreOffice#13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  LibreOffice#14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  LibreOffice#15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  LibreOffice#16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  LibreOffice#17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  LibreOffice#18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  LibreOffice#19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  LibreOffice#20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  LibreOffice#21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  LibreOffice#22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  LibreOffice#23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  LibreOffice#24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  LibreOffice#25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  LibreOffice#26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  LibreOffice#27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  LibreOffice#28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  LibreOffice#29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  LibreOffice#30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  LibreOffice#31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  LibreOffice#32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  LibreOffice#33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  LibreOffice#34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  LibreOffice#35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  LibreOffice#36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  LibreOffice#37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  LibreOffice#38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  LibreOffice#39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  LibreOffice#40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  LibreOffice#41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  LibreOffice#42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  LibreOffice#43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  LibreOffice#44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  LibreOffice#45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  LibreOffice#46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  LibreOffice#47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  LibreOffice#48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  LibreOffice#49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  LibreOffice#50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  LibreOffice#51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  LibreOffice#52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  LibreOffice#53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t>>, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 2025
...in code newly introduced in 135ce25
"tdf#146487 Don't show generic diagram title when there is an empty title
given", which caused CppunitTest_chart2_export2 to fail with

> /oox/inc/drawingml/chart/plotareaconverter.hxx:78:62: runtime error: load of value 222, which is not a valid value for type 'bool'
>     #0 0x7f95cd9ed87c in oox::drawingml::chart::PlotAreaConverter::isSingleSeriesTitle() const /oox/inc/drawingml/chart/plotareaconverter.hxx:78:62
>     LibreOffice#1 0x7f95cd9e506f in oox::drawingml::chart::ChartSpaceConverter::convertFromModel(com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, com::sun::star::awt::Point const&) /oox/source/drawingml/chart/chartspaceconverter.cxx:189:53
>     LibreOffice#2 0x7f95cd9b6c34 in oox::drawingml::chart::ChartConverter::convertFromModel(oox::core::XmlFilterBase&, oox::drawingml::chart::ChartSpaceModel&, com::sun::star::uno::Reference<com::sun::star::chart2::XChartDocument> const&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, com::sun::star::awt::Point const&, com::sun::star::awt::Size const&) /oox/source/drawingml/chart/chartconverter.cxx:93:20
>     LibreOffice#3 0x7f95ce548f59 in oox::drawingml::Shape::finalizeXShape(oox::core::XmlFilterBase&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&) /oox/source/drawingml/shape.cxx:2245:50
>     LibreOffice#4 0x7f95438150b2 in oox::xls::Shape::finalizeXShape(oox::core::XmlFilterBase&, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&) /sc/source/filter/oox/drawingfragment.cxx:113:30
>     LibreOffice#5 0x7f95ce5267bb in oox::drawingml::Shape::createAndInsert(oox::core::XmlFilterBase&, rtl::OUString const&, oox::drawingml::Theme const*, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, bool, bool, basegfx::B2DHomMatrix&, oox::drawingml::FillProperties const&, std::shared_ptr<oox::drawingml::Shape>) /oox/source/drawingml/shape.cxx:1964:9
>     LibreOffice#6 0x7f95ce4edb54 in oox::drawingml::Shape::addShape(oox::core::XmlFilterBase&, oox::drawingml::Theme const*, com::sun::star::uno::Reference<com::sun::star::drawing::XShapes> const&, basegfx::B2DHomMatrix const&, oox::drawingml::FillProperties const&, std::__debug::map<rtl::OUString, std::shared_ptr<oox::drawingml::Shape>, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, std::shared_ptr<oox::drawingml::Shape> > > >*, std::shared_ptr<oox::drawingml::Shape>) /oox/source/drawingml/shape.cxx:366:41
>     LibreOffice#7 0x7f954381ef79 in oox::xls::DrawingFragment::onEndElement() /sc/source/filter/oox/drawingfragment.cxx:335:30
>     LibreOffice#8 0x7f95cdcaee54 in oox::core::ContextHandler2Helper::implEndElement(int) /oox/source/core/contexthandler2.cxx:125:9
>     LibreOffice#9 0x7f95cdd5c116 in oox::core::FragmentHandler2::endFastElement(int) /oox/source/core/fragmenthandler2.cxx:91:5
>     LibreOffice#10 0x7f95caf68fca in (anonymous namespace)::Entity::endElement() /sax/source/fastparser/fastparser.cxx:514:27
>     LibreOffice#11 0x7f95caf68998 in sax_fastparser::FastSaxParserImpl::callbackEndElement() /sax/source/fastparser/fastparser.cxx:1331:17
>     LibreOffice#12 0x7f95caf58444 in (anonymous namespace)::call_callbackEndElement(void*, unsigned char const*, unsigned char const*, unsigned char const*) /sax/source/fastparser/fastparser.cxx:338:18
>     LibreOffice#13 0x7f960adebeda in xmlParseEndTag2 /workdir/UnpackedTarball/libxml2/parser.c:10090:2
>     LibreOffice#14 0x7f960ad929b5 in xmlParseTryOrFinish /workdir/UnpackedTarball/libxml2/parser.c:11868:14
>     LibreOffice#15 0x7f960ad86334 in xmlParseChunk /workdir/UnpackedTarball/libxml2/parser.c:12151:5
>     LibreOffice#16 0x7f95caf53231 in sax_fastparser::FastSaxParserImpl::parse() /sax/source/fastparser/fastparser.cxx:1085:21
>     LibreOffice#17 0x7f95caf4cd18 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:890:9
>     LibreOffice#18 0x7f95caf6e950 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1470:13
>     LibreOffice#19 0x7f95cdce50d1 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     LibreOffice#20 0x7f95cdce5868 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     LibreOffice#21 0x7f95cddbb234 in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:414:21
>     LibreOffice#22 0x7f95cddb9b8d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:344:12
>     LibreOffice#23 0x7f95441ceaa8 in oox::xls::WorkbookHelper::importOoxFragment(rtl::Reference<oox::core::FragmentHandler> const&) /sc/source/filter/oox/workbookhelper.cxx:1046:27
>     LibreOffice#24 0x7f95442797f1 in oox::xls::WorksheetGlobals::finalizeDrawings() /sc/source/filter/oox/worksheethelper.cxx:1373:9
>     LibreOffice#25 0x7f95442789e0 in oox::xls::WorksheetGlobals::finalizeDrawingImport() /sc/source/filter/oox/worksheethelper.cxx:996:5
>     LibreOffice#26 0x7f954428744d in oox::xls::WorksheetHelper::finalizeDrawingImport() /sc/source/filter/oox/worksheethelper.cxx:1637:17
>     LibreOffice#27 0x7f95441771de in oox::xls::WorkbookFragment::finalizeImport() /sc/source/filter/oox/workbookfragment.cxx:511:18
>     LibreOffice#28 0x7f95cdd5b3ae in oox::core::FragmentHandler2::endDocument() /oox/source/core/fragmenthandler2.cxx:53:5
>     LibreOffice#29 0x7f95caf4cfc2 in sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:896:36
>     LibreOffice#30 0x7f95caf6e950 in sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) /sax/source/fastparser/fastparser.cxx:1470:13
>     LibreOffice#31 0x7f95cdce50d1 in oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) /oox/source/core/fastparser.cxx:121:15
>     LibreOffice#32 0x7f95cdce5868 in oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) /oox/source/core/fastparser.cxx:129:5
>     LibreOffice#33 0x7f95cddbb234 in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) /oox/source/core/xmlfilterbase.cxx:414:21
>     LibreOffice#34 0x7f95cddb9b8d in oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&) /oox/source/core/xmlfilterbase.cxx:344:12
>     LibreOffice#35 0x7f95435c4daa in oox::xls::ExcelFilter::importDocument() /sc/source/filter/oox/excelfilter.cxx:113:25
>     LibreOffice#36 0x7f95cdcf953b in oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /oox/source/core/filterbase.cxx:488:49
>     LibreOffice#37 0x7f95435c7733 in oox::xls::ExcelFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sc/source/filter/oox/excelfilter.cxx:176:25
>     LibreOffice#38 0x7f95857c5b40 in SfxObjectShell::ImportFrom(SfxMedium&, com::sun::star::uno::Reference<com::sun::star::text::XTextRange> const&) /sfx2/source/doc/objstor.cxx:2393:34
>     LibreOffice#39 0x7f9585781c6a in SfxObjectShell::DoLoad(SfxMedium*) /sfx2/source/doc/objstor.cxx:761:23
>     LibreOffice#40 0x7f95859a9652 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /sfx2/source/doc/sfxbasemodel.cxx:1980:36
>     LibreOffice#41 0x7f95862145e9 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) /sfx2/source/view/frmload.cxx:720:28
>     LibreOffice#42 0x7f95536a9900 in framework::LoadEnv::impl_loadContent() /framework/source/loadenv/loadenv.cxx:1176:37
>     LibreOffice#43 0x7f95536a091b in framework::LoadEnv::start() /framework/source/loadenv/loadenv.cxx:412:20
>     LibreOffice#44 0x7f9553698f59 in framework::LoadEnv::startLoading(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&, rtl::OUString const&, int, LoadEnvFeatures) /framework/source/loadenv/loadenv.cxx:308:5
>     LibreOffice#45 0x7f95536946e7 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/loadenv/loadenv.cxx:168:14
>     LibreOffice#46 0x7f955376867d in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx:591:16
>     LibreOffice#47 0x7f95537688a6 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/desktop.cxx
>     LibreOffice#48 0x7f9569f7cafa in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /unotest/source/cpp/macros_test.cxx:71:62
>     LibreOffice#49 0x7f9580718c56 in UnoApiTest::loadWithParams(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /test/source/unoapi_test.cxx:126:19
>     LibreOffice#50 0x7f9580717ef8 in UnoApiTest::load(rtl::OUString const&, char const*) /test/source/unoapi_test.cxx:108:5
>     LibreOffice#51 0x7f9580719254 in UnoApiTest::loadFromFile(std::basic_string_view<char16_t, std::char_traits<char16_t> >, char const*) /test/source/unoapi_test.cxx:132:5
>     LibreOffice#52 0x7f95d8bf1018 in testTdf123647::TestBody() /chart2/qa/extras/chart2export2.cxx:1242:5

(<https://ci.libreoffice.org//job/lo_ubsan/3048/>)

Change-Id: I870d811e78b8c55b84627ae609f98f623465dd9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162294
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 3fb9859)
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 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
    LibreOffice#49 0x00007fffe2284e66 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x7fffd0001560) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2212
    LibreOffice#50 0x00007fffe236d57d in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    LibreOffice#51 0x00007fffe236d42e in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /home/michi/development/git/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1082
    LibreOffice#52 0x00007fffdf8b2685 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555555c8390) at /home/michi/development/git/qt5/qtwayland/src/client/qwaylanddisplay.cpp:526
    LibreOffice#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 <[email protected]>
(cherry picked from commit 71d1432)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181543
Reviewed-by: Patrick Luby <[email protected]>
Tested-by: Adolfo Jayme Barrientos <[email protected]>
Reviewed-by: Adolfo Jayme Barrientos <[email protected]>
Reviewed-by: Michael Stahl <[email protected]>
muhannad-ibrahim pushed a commit to searchjob-codesa/LibreOffice-core that referenced this pull request Dec 15, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  LibreOffice#1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  LibreOffice#2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  LibreOffice#3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  LibreOffice#4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  LibreOffice#5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  LibreOffice#6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  LibreOffice#7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  LibreOffice#8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  LibreOffice#9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  LibreOffice#10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  LibreOffice#11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  LibreOffice#12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  LibreOffice#13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  LibreOffice#14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  LibreOffice#15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  LibreOffice#16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  LibreOffice#17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  LibreOffice#18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  LibreOffice#19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  LibreOffice#20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  LibreOffice#21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  LibreOffice#22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  LibreOffice#23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  LibreOffice#24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  LibreOffice#25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  LibreOffice#26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  LibreOffice#27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  LibreOffice#28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  LibreOffice#29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  LibreOffice#30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  LibreOffice#31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  LibreOffice#32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  LibreOffice#33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  LibreOffice#34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  LibreOffice#35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  LibreOffice#36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  LibreOffice#37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  LibreOffice#38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  LibreOffice#39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  LibreOffice#40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  LibreOffice#41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  LibreOffice#42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  LibreOffice#43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  LibreOffice#44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  LibreOffice#45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  LibreOffice#46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  LibreOffice#47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  LibreOffice#48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  LibreOffice#49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  LibreOffice#50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  LibreOffice#51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  LibreOffice#52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  LibreOffice#53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t>>, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
(cherry picked from commit dfea2cd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183367
Tested-by: Jenkins CollaboraOffice <[email protected]>
jrheinlaender pushed a commit to jrheinlaender/lo-core that referenced this pull request Dec 17, 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 <[email protected]>
    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
    LibreOffice#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
    LibreOffice#3  0x00007fffe62b15c4 in (anonymous namespace)::GtkInstanceDrawingArea::GetAtkObject (this=0x555558f99f60, pDefaultAccessible=0x555558dd9210) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18964
    LibreOffice#4  0x00007fffe62b14ea in (anonymous namespace)::drawing_area_get_accessible (pWidget=0x55555d7192f0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:23966
    LibreOffice#5  0x00007fffe5c131b5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0
    LibreOffice#6  0x00007ffff09b4950 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#7  0x00007ffff09c8d43 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#8  0x00007ffff09ca769 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#9  0x00007ffff09d05a6 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#10 0x00007ffff09d0663 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#11 0x00007ffff09b8b14 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#12 0x00007ffff09ba767 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
    LibreOffice#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
    LibreOffice#14 0x00007ffff2617c53 in IMapWindow::SetDrawingArea (this=0x55555d7068e0, pDrawingArea=0x555558f9a210) at /home/michi/development/git/libreoffice/svx/source/dialog/imapwnd.cxx:92
    LibreOffice#15 0x00007fffee96f280 in weld::CustomWeld::CustomWeld (this=0x5555598c6520, rBuilder=..., rDrawingId="container", rWidgetController=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:28
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#27 0x00007ffff38c3b6f in SfxChildWindow::CreateChildWindow (nId=10371, pParent=0x5555576ad680, pBindings=0x555556aadbd0, rInfo=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/childwin.cxx:242
    LibreOffice#28 0x00007ffff395f5bd in SfxWorkWindow::CreateChildWin_Impl (this=0x5555571433b0, pCW=0x55555864a020, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1350
    LibreOffice#29 0x00007ffff3961853 in SfxWorkWindow::ToggleChildWindow_Impl (this=0x5555571433b0, nId=10371, bSetFocus=true) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1835
    LibreOffice#30 0x00007ffff403ba89 in SfxViewFrame::ToggleChildWindow (this=0x555557128f90, nId=10371) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:3695
    LibreOffice#31 0x00007fffbb6290d4 in sd::DrawViewShell::FuTemporary (this=0x55555728c010, rReq=...) at /home/michi/development/git/libreoffice/sd/source/ui/view/drviews2.cxx:3893
    LibreOffice#32 0x00007fffbb6949b5 in SfxStubDrawViewShellFuTemporary (pShell=0x55555728c010, rReq=...) at workdir/SdiTarget/sd/sdi/sdslots.hxx:1551
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#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
    LibreOffice#37 0x00007ffff3a948e4 in SfxOfficeDispatch::dispatch (this=0x555557e278b0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:255
    LibreOffice#38 0x00007ffff4f0bd04 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x5555588c6000) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:790
    LibreOffice#39 0x00007fffee275a41 in Link<void*, void>::Call (this=0x55555d70f598, data=0x5555588c6000) at include/tools/link.hxx:105
    LibreOffice#40 0x00007fffee271c71 in ImplHandleUserEvent (pSVEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285
    LibreOffice#41 0x00007fffee26eb9f in ImplWindowFrameProc (_pWindow=0x555556ba6530, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849
    LibreOffice#42 0x00007fffeee4638c in SalFrame::CallCallback (this=0x5555569908a0, nEvent=SalEvent::UserEvent, pEvent=0x55555d70f590) at vcl/inc/salframe.hxx:310
    LibreOffice#43 0x00007fffeee6ed1f in SalGenericDisplay::ProcessEvent (this=0x5555568f8ef0, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    LibreOffice#44 0x00007fffee97966d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb920) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    LibreOffice#45 0x00007fffee97953b in SalUserEventList::DispatchUserEvents (this=0x5555568f8ef0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    LibreOffice#46 0x00007fffeee6ec75 in SalGenericDisplay::DispatchInternalEvent (this=0x5555568f8ef0, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    LibreOffice#47 0x00007fffe62891ef in call_userEventFn (data=0x5555555b3ab0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:827
    LibreOffice#48 0x00007fffe99043c5 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    LibreOffice#49 0x00007fffe99065f7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    LibreOffice#50 0x00007fffe9906d60 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
    LibreOffice#51 0x00007fffe6287e6c in GtkSalData::Yield (this=0x5555555b3ab0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405
    LibreOffice#52 0x00007fffe628cf13 in GtkInstance::DoYield (this=0x5555555b3960, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439
    LibreOffice#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 <[email protected]>
Tested-by: Jenkins
(cherry picked from commit fdffaac)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187190
Reviewed-by: Xisco Fauli <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jan 3, 2026
for soffice --headless --convert-to pdf tdf103059-2.odt

==2656459==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c994604b938 at pc 0x7b2929cd73cd bp 0x7ffc818cc110 sp 0x7ffc818cc108
READ of size 8 at 0x7c994604b938 thread T0
    #0 0x7b2929cd73cc in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3220
    #1 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #2 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #3 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #4 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #5 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #6 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #7 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #8 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #9 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
    #10 0x7b2929756a65 in SwContentFrame::ShouldBwdMoved(SwLayoutFrame*, bool&) core-asan/sw/source/core/layout/calcmove.cxx:199
    #11 0x7b292979f8bd in SwFlowFrame::MoveBwd(bool&) core-asan/sw/source/core/layout/flowfrm.cxx:2669
    #12 0x7b2929761592 in SwContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1654
    #13 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #14 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #15 0x7b29298c2bd0 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:688
    #16 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #17 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #18 0x7b29298c33a4 in SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:774
    #19 0x7b29297c06dd in SwFlyAtContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flycnt.cxx:440
    #20 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #21 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #22 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #23 0x7b292984693b in SwLayAction::FormatLayoutFly(SwFlyFrame*) core-asan/sw/source/core/layout/layact.cxx:1553
    #24 0x7b29298ba5f3 in SwObjectFormatter::FormatObj_(SwAnchoredObject&) core-asan/sw/source/core/layout/objectformatter.cxx:287
    #25 0x7b29298c05fb in SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject&, bool) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:132
    #26 0x7b29298ba207 in SwObjectFormatter::FormatObj(SwAnchoredObject&, SwFrame*, SwPageFrame const*, SwLayAction*) core-asan/sw/source/core/layout/objectformatter.cxx:191
    #27 0x7b29297b0cc5 in CalcContent(SwLayoutFrame*, bool) core-asan/sw/source/core/layout/fly.cxx:1852
    #28 0x7b2929a2c3f0 in SwLayoutFrame::FormatWidthCols(SwBorderAttrs const&, long, long) core-asan/sw/source/core/layout/wsfrm.cxx:4024
    #29 0x7b292998a2b2 in SwSectionFrame::Format(OutputDevice*, SwBorderAttrs const*) core-asan/sw/source/core/layout/sectfrm.cxx:1563
    #30 0x7b292975d1b7 in SwLayoutFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1073
    #31 0x7b292998618a in SwSectionFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/sectfrm.cxx:932
    #32 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #33 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #34 0x7b2929844913 in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1315
    #35 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #36 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #37 0x7b292983f951 in SwLayAction::InternalAction(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:629
    #38 0x7b292983d4b7 in SwLayAction::Action(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:404
    #39 0x7b292a7e2aad in SwViewShell::CalcLayout() core-asan/sw/source/core/view/viewsh.cxx:1248
    #40 0x7b2929504fd1 in SwEditShell::CalcLayout() core-asan/sw/source/core/edit/edws.cxx:89
    #41 0x7b292b84944f in SwXTextDocument::getRendererCount(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) core-asan/sw/source/uibase/uno/unotxdoc.cxx:2766
    #42 0x7b2918f8118b in PDFExport::Export(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x16a18b) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #43 0x7b2918fb7781 in PDFFilter::implExport(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a0781) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #44 0x7b2918fb8c26 in PDFFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a1c26) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #45 0x7f2966849fa0 in SfxObjectShell::ExportTo(SfxMedium&) (core-asan/instdir/program/libsfxlo.so+0x2649fa0) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #46 0x7f296683c239 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) (core-asan/instdir/program/libsfxlo.so+0x263c239) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #47 0x7f2966851353 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x2651353) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #48 0x7f296684e6e2 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x264e6e2) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #49 0x7f29667f24ab in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t> >, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x25f24ab) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #50 0x7f29669353f9 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) (core-asan/instdir/program/libsfxlo.so+0x27353f9) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #51 0x7f29669237ad in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x27237ad) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #52 0x7f296e59ea3d in desktop::DispatchWatcher::executeDispatchRequests(std::__debug::vector<desktop::DispatchWatcher::DispatchRequest, std::allocator<desktop::DispatchWatcher::DispatchRequest> > const&, bool, desktop::DispatchRequestFlags*) (core-asan/instdir/program/libsofficeapp.so+0x39ea3d) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #53 0x7f296e5d9fae in desktop::RequestHandler::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest&, bool) (core-asan/instdir/program/libsofficeapp.so+0x3d9fae) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #54 0x7f296e503193 in desktop::Desktop::OpenClients() (core-asan/instdir/program/libsofficeapp.so+0x303193) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #55 0x7f296e50005c in desktop::Desktop::OpenClients_Impl(void*) (core-asan/instdir/program/libsofficeapp.so+0x30005c) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #56 0x7f296e4ffc16 in desktop::Desktop::LinkStubOpenClients_Impl(void*, void*) (core-asan/instdir/program/libsofficeapp.so+0x2ffc16) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #57 0x7f29552e3410 in Link<void*, void>::Call(void*) const (core-asan/instdir/program/libvcllo.so+0x42e3410) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #58 0x7f29552db964 in ImplHandleUserEvent(ImplSVEvent*) (core-asan/instdir/program/libvcllo.so+0x42db964) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #59 0x7f29552e0e3b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (core-asan/instdir/program/libvcllo.so+0x42e0e3b) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #60 0x7f2956b44430 in SalFrame::CallCallback(SalEvent, void const*) const (core-asan/instdir/program/libvcllo.so+0x5b44430) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #61 0x7f2956b8d114 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (core-asan/instdir/program/libvcllo.so+0x5b8d114) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #62 0x7f2955efea9f in SalUserEventList::DispatchUserEvents(bool)::{lambda()#1}::operator()() const (core-asan/instdir/program/libvcllo.so+0x4efea9f) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #63 0x7f2955eff104 in SalUserEventList::DispatchUserEvents(bool) (core-asan/instdir/program/libvcllo.so+0x4eff104) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #64 0x7f2956b8e540 in SvpSalInstance::ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8e540) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #65 0x7f2956b8edd2 in SvpSalInstance::DoYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8edd2) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #66 0x7f2956096112 in ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5096112) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #67 0x7f2956097f83 in Application::Yield() (core-asan/instdir/program/libvcllo.so+0x5097f83) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #68 0x7f29560953b0 in Application::Execute() (core-asan/instdir/program/libvcllo.so+0x50953b0) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #69 0x7f296e4fc9e9 in desktop::Desktop::Main() (core-asan/instdir/program/libsofficeapp.so+0x2fc9e9) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #70 0x7f29560eb3c7 in ImplSVMain() (core-asan/instdir/program/libvcllo.so+0x50eb3c7) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #71 0x7f29560eb590 in SVMain() (core-asan/instdir/program/libvcllo.so+0x50eb590) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #72 0x7f296e5ee383 in soffice_main (core-asan/instdir/program/libsofficeapp.so+0x3ee383) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #73 0x000000201cc6 in sal_main (core-asan/instdir/program/soffice.bin+0x201cc6) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #74 0x000000201cac in main (core-asan/instdir/program/soffice.bin+0x201cac) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #75 0x7f296e011574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #76 0x7f296e011627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #77 0x000000201b64 in _start (core-asan/instdir/program/soffice.bin+0x201b64) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)

0x7c994604b938 is located 56 bytes inside of 696-byte region [0x7c994604b900,0x7c994604bbb8)
freed by thread T0 here:
    #0 0x7f296eae899b in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xe899b) (BuildId: 0adabddcb77130fc2ea3840d060eb4e8a9ae0c85)
    #1 0x7b2929df5401 in std::__new_allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/new_allocator.h:172
    #2 0x7b2929df4edb in std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/allocator.h:215
    #3 0x7b2929df4edb in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:649
    #4 0x7b2929df4edb in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() /usr/include/c++/15/bits/allocated_ptr.h:74
    #5 0x7b2929df5647 in std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/include/c++/15/bits/shared_ptr_base.h:625
    #6 0x7b29283b09bd in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/15/bits/shared_ptr_base.h:346
    #7 0x7b29283b4dd1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/15/bits/shared_ptr_base.h:1069
    #8 0x7b2929c05619 in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/15/bits/shared_ptr_base.h:1531
    #9 0x7b2929df424e in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::reset() /usr/include/c++/15/bits/shared_ptr_base.h:1649
    #10 0x7b2929df3f4f in SwTextFrame::ClearPara() core-asan/sw/source/core/text/txtcache.cxx:41
    #11 0x7b2929e2d129 in SwTextFrame::Init() core-asan/sw/source/core/text/txtfrm.cxx:754
    #12 0x7b2929e45d75 in SwTextFrame::Prepare(PrepareHint, void const*, bool) core-asan/sw/source/core/text/txtfrm.cxx:3358
    #13 0x7b29297e0987 in SwFlyInContentFrame::NotifyBackground(SwPageFrame*, SwRect const&, PrepareHint) core-asan/sw/source/core/layout/flyincnt.cxx:230
    #14 0x7b2929805046 in Notify(SwFlyFrame*, SwPageFrame*, SwRect const&, SwRect const*) core-asan/sw/source/core/layout/frmtool.cxx:3301
    #15 0x7b29297f0a5a in SwFlyNotify::ImplDestroy() core-asan/sw/source/core/layout/frmtool.cxx:696
    #16 0x7b29297f1083 in SwFlyNotify::~SwFlyNotify() core-asan/sw/source/core/layout/frmtool.cxx:798
    #17 0x7b29297e11f0 in SwFlyInContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flyincnt.cxx:316
    #18 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #19 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #20 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #21 0x7b29297e09cf in SwFlyInContentFrame::GetRelPos() const core-asan/sw/source/core/layout/flyincnt.cxx:235
    #22 0x7b2929cd7309 in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3213
    #23 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #24 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #25 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #26 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #27 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #28 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #29 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #30 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #31 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192

Change-Id: I291348ddbaaf0e9e8255e2fca5842dc2d2bfe733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196426
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins
tdf-gerrit pushed a commit that referenced this pull request Jan 8, 2026
for soffice --headless --convert-to pdf tdf103059-2.odt

==2656459==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c994604b938 at pc 0x7b2929cd73cd bp 0x7ffc818cc110 sp 0x7ffc818cc108
READ of size 8 at 0x7c994604b938 thread T0
    #0 0x7b2929cd73cc in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3220
    #1 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #2 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #3 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #4 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #5 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #6 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #7 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #8 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #9 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
    #10 0x7b2929756a65 in SwContentFrame::ShouldBwdMoved(SwLayoutFrame*, bool&) core-asan/sw/source/core/layout/calcmove.cxx:199
    #11 0x7b292979f8bd in SwFlowFrame::MoveBwd(bool&) core-asan/sw/source/core/layout/flowfrm.cxx:2669
    #12 0x7b2929761592 in SwContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1654
    #13 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #14 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #15 0x7b29298c2bd0 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:688
    #16 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #17 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #18 0x7b29298c33a4 in SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:774
    #19 0x7b29297c06dd in SwFlyAtContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flycnt.cxx:440
    #20 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #21 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #22 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #23 0x7b292984693b in SwLayAction::FormatLayoutFly(SwFlyFrame*) core-asan/sw/source/core/layout/layact.cxx:1553
    #24 0x7b29298ba5f3 in SwObjectFormatter::FormatObj_(SwAnchoredObject&) core-asan/sw/source/core/layout/objectformatter.cxx:287
    #25 0x7b29298c05fb in SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject&, bool) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:132
    #26 0x7b29298ba207 in SwObjectFormatter::FormatObj(SwAnchoredObject&, SwFrame*, SwPageFrame const*, SwLayAction*) core-asan/sw/source/core/layout/objectformatter.cxx:191
    #27 0x7b29297b0cc5 in CalcContent(SwLayoutFrame*, bool) core-asan/sw/source/core/layout/fly.cxx:1852
    #28 0x7b2929a2c3f0 in SwLayoutFrame::FormatWidthCols(SwBorderAttrs const&, long, long) core-asan/sw/source/core/layout/wsfrm.cxx:4024
    #29 0x7b292998a2b2 in SwSectionFrame::Format(OutputDevice*, SwBorderAttrs const*) core-asan/sw/source/core/layout/sectfrm.cxx:1563
    #30 0x7b292975d1b7 in SwLayoutFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1073
    #31 0x7b292998618a in SwSectionFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/sectfrm.cxx:932
    #32 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #33 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #34 0x7b2929844913 in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1315
    #35 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #36 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #37 0x7b292983f951 in SwLayAction::InternalAction(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:629
    #38 0x7b292983d4b7 in SwLayAction::Action(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:404
    #39 0x7b292a7e2aad in SwViewShell::CalcLayout() core-asan/sw/source/core/view/viewsh.cxx:1248
    #40 0x7b2929504fd1 in SwEditShell::CalcLayout() core-asan/sw/source/core/edit/edws.cxx:89
    #41 0x7b292b84944f in SwXTextDocument::getRendererCount(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) core-asan/sw/source/uibase/uno/unotxdoc.cxx:2766
    #42 0x7b2918f8118b in PDFExport::Export(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x16a18b) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #43 0x7b2918fb7781 in PDFFilter::implExport(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a0781) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #44 0x7b2918fb8c26 in PDFFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a1c26) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #45 0x7f2966849fa0 in SfxObjectShell::ExportTo(SfxMedium&) (core-asan/instdir/program/libsfxlo.so+0x2649fa0) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #46 0x7f296683c239 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) (core-asan/instdir/program/libsfxlo.so+0x263c239) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #47 0x7f2966851353 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x2651353) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #48 0x7f296684e6e2 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x264e6e2) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #49 0x7f29667f24ab in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t> >, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x25f24ab) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #50 0x7f29669353f9 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) (core-asan/instdir/program/libsfxlo.so+0x27353f9) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #51 0x7f29669237ad in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x27237ad) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #52 0x7f296e59ea3d in desktop::DispatchWatcher::executeDispatchRequests(std::__debug::vector<desktop::DispatchWatcher::DispatchRequest, std::allocator<desktop::DispatchWatcher::DispatchRequest> > const&, bool, desktop::DispatchRequestFlags*) (core-asan/instdir/program/libsofficeapp.so+0x39ea3d) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #53 0x7f296e5d9fae in desktop::RequestHandler::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest&, bool) (core-asan/instdir/program/libsofficeapp.so+0x3d9fae) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #54 0x7f296e503193 in desktop::Desktop::OpenClients() (core-asan/instdir/program/libsofficeapp.so+0x303193) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #55 0x7f296e50005c in desktop::Desktop::OpenClients_Impl(void*) (core-asan/instdir/program/libsofficeapp.so+0x30005c) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #56 0x7f296e4ffc16 in desktop::Desktop::LinkStubOpenClients_Impl(void*, void*) (core-asan/instdir/program/libsofficeapp.so+0x2ffc16) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #57 0x7f29552e3410 in Link<void*, void>::Call(void*) const (core-asan/instdir/program/libvcllo.so+0x42e3410) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #58 0x7f29552db964 in ImplHandleUserEvent(ImplSVEvent*) (core-asan/instdir/program/libvcllo.so+0x42db964) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #59 0x7f29552e0e3b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (core-asan/instdir/program/libvcllo.so+0x42e0e3b) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #60 0x7f2956b44430 in SalFrame::CallCallback(SalEvent, void const*) const (core-asan/instdir/program/libvcllo.so+0x5b44430) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #61 0x7f2956b8d114 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (core-asan/instdir/program/libvcllo.so+0x5b8d114) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #62 0x7f2955efea9f in SalUserEventList::DispatchUserEvents(bool)::{lambda()#1}::operator()() const (core-asan/instdir/program/libvcllo.so+0x4efea9f) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #63 0x7f2955eff104 in SalUserEventList::DispatchUserEvents(bool) (core-asan/instdir/program/libvcllo.so+0x4eff104) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #64 0x7f2956b8e540 in SvpSalInstance::ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8e540) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #65 0x7f2956b8edd2 in SvpSalInstance::DoYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8edd2) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #66 0x7f2956096112 in ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5096112) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #67 0x7f2956097f83 in Application::Yield() (core-asan/instdir/program/libvcllo.so+0x5097f83) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #68 0x7f29560953b0 in Application::Execute() (core-asan/instdir/program/libvcllo.so+0x50953b0) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #69 0x7f296e4fc9e9 in desktop::Desktop::Main() (core-asan/instdir/program/libsofficeapp.so+0x2fc9e9) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #70 0x7f29560eb3c7 in ImplSVMain() (core-asan/instdir/program/libvcllo.so+0x50eb3c7) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #71 0x7f29560eb590 in SVMain() (core-asan/instdir/program/libvcllo.so+0x50eb590) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #72 0x7f296e5ee383 in soffice_main (core-asan/instdir/program/libsofficeapp.so+0x3ee383) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #73 0x000000201cc6 in sal_main (core-asan/instdir/program/soffice.bin+0x201cc6) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #74 0x000000201cac in main (core-asan/instdir/program/soffice.bin+0x201cac) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #75 0x7f296e011574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #76 0x7f296e011627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #77 0x000000201b64 in _start (core-asan/instdir/program/soffice.bin+0x201b64) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)

0x7c994604b938 is located 56 bytes inside of 696-byte region [0x7c994604b900,0x7c994604bbb8)
freed by thread T0 here:
    #0 0x7f296eae899b in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xe899b) (BuildId: 0adabddcb77130fc2ea3840d060eb4e8a9ae0c85)
    #1 0x7b2929df5401 in std::__new_allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/new_allocator.h:172
    #2 0x7b2929df4edb in std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/allocator.h:215
    #3 0x7b2929df4edb in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:649
    #4 0x7b2929df4edb in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() /usr/include/c++/15/bits/allocated_ptr.h:74
    #5 0x7b2929df5647 in std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/include/c++/15/bits/shared_ptr_base.h:625
    #6 0x7b29283b09bd in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/15/bits/shared_ptr_base.h:346
    #7 0x7b29283b4dd1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/15/bits/shared_ptr_base.h:1069
    #8 0x7b2929c05619 in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/15/bits/shared_ptr_base.h:1531
    #9 0x7b2929df424e in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::reset() /usr/include/c++/15/bits/shared_ptr_base.h:1649
    #10 0x7b2929df3f4f in SwTextFrame::ClearPara() core-asan/sw/source/core/text/txtcache.cxx:41
    #11 0x7b2929e2d129 in SwTextFrame::Init() core-asan/sw/source/core/text/txtfrm.cxx:754
    #12 0x7b2929e45d75 in SwTextFrame::Prepare(PrepareHint, void const*, bool) core-asan/sw/source/core/text/txtfrm.cxx:3358
    #13 0x7b29297e0987 in SwFlyInContentFrame::NotifyBackground(SwPageFrame*, SwRect const&, PrepareHint) core-asan/sw/source/core/layout/flyincnt.cxx:230
    #14 0x7b2929805046 in Notify(SwFlyFrame*, SwPageFrame*, SwRect const&, SwRect const*) core-asan/sw/source/core/layout/frmtool.cxx:3301
    #15 0x7b29297f0a5a in SwFlyNotify::ImplDestroy() core-asan/sw/source/core/layout/frmtool.cxx:696
    #16 0x7b29297f1083 in SwFlyNotify::~SwFlyNotify() core-asan/sw/source/core/layout/frmtool.cxx:798
    #17 0x7b29297e11f0 in SwFlyInContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flyincnt.cxx:316
    #18 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #19 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #20 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #21 0x7b29297e09cf in SwFlyInContentFrame::GetRelPos() const core-asan/sw/source/core/layout/flyincnt.cxx:235
    #22 0x7b2929cd7309 in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3213
    #23 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #24 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #25 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #26 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #27 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #28 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #29 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #30 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #31 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192

Change-Id: I291348ddbaaf0e9e8255e2fca5842dc2d2bfe733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196426
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <[email protected]>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196558
tdf-gerrit pushed a commit that referenced this pull request Jan 10, 2026
for soffice --headless --convert-to pdf tdf103059-2.odt

==2656459==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c994604b938 at pc 0x7b2929cd73cd bp 0x7ffc818cc110 sp 0x7ffc818cc108
READ of size 8 at 0x7c994604b938 thread T0
    #0 0x7b2929cd73cc in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3220
    #1 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #2 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #3 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #4 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #5 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #6 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #7 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #8 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #9 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
    #10 0x7b2929756a65 in SwContentFrame::ShouldBwdMoved(SwLayoutFrame*, bool&) core-asan/sw/source/core/layout/calcmove.cxx:199
    #11 0x7b292979f8bd in SwFlowFrame::MoveBwd(bool&) core-asan/sw/source/core/layout/flowfrm.cxx:2669
    #12 0x7b2929761592 in SwContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1654
    #13 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #14 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #15 0x7b29298c2bd0 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:688
    #16 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #17 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #18 0x7b29298c33a4 in SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:774
    #19 0x7b29297c06dd in SwFlyAtContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flycnt.cxx:440
    #20 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #21 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #22 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #23 0x7b292984693b in SwLayAction::FormatLayoutFly(SwFlyFrame*) core-asan/sw/source/core/layout/layact.cxx:1553
    #24 0x7b29298ba5f3 in SwObjectFormatter::FormatObj_(SwAnchoredObject&) core-asan/sw/source/core/layout/objectformatter.cxx:287
    #25 0x7b29298c05fb in SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject&, bool) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:132
    #26 0x7b29298ba207 in SwObjectFormatter::FormatObj(SwAnchoredObject&, SwFrame*, SwPageFrame const*, SwLayAction*) core-asan/sw/source/core/layout/objectformatter.cxx:191
    #27 0x7b29297b0cc5 in CalcContent(SwLayoutFrame*, bool) core-asan/sw/source/core/layout/fly.cxx:1852
    #28 0x7b2929a2c3f0 in SwLayoutFrame::FormatWidthCols(SwBorderAttrs const&, long, long) core-asan/sw/source/core/layout/wsfrm.cxx:4024
    #29 0x7b292998a2b2 in SwSectionFrame::Format(OutputDevice*, SwBorderAttrs const*) core-asan/sw/source/core/layout/sectfrm.cxx:1563
    #30 0x7b292975d1b7 in SwLayoutFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1073
    #31 0x7b292998618a in SwSectionFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/sectfrm.cxx:932
    #32 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #33 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #34 0x7b2929844913 in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1315
    #35 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #36 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #37 0x7b292983f951 in SwLayAction::InternalAction(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:629
    #38 0x7b292983d4b7 in SwLayAction::Action(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:404
    #39 0x7b292a7e2aad in SwViewShell::CalcLayout() core-asan/sw/source/core/view/viewsh.cxx:1248
    #40 0x7b2929504fd1 in SwEditShell::CalcLayout() core-asan/sw/source/core/edit/edws.cxx:89
    #41 0x7b292b84944f in SwXTextDocument::getRendererCount(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) core-asan/sw/source/uibase/uno/unotxdoc.cxx:2766
    #42 0x7b2918f8118b in PDFExport::Export(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x16a18b) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #43 0x7b2918fb7781 in PDFFilter::implExport(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a0781) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #44 0x7b2918fb8c26 in PDFFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a1c26) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #45 0x7f2966849fa0 in SfxObjectShell::ExportTo(SfxMedium&) (core-asan/instdir/program/libsfxlo.so+0x2649fa0) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #46 0x7f296683c239 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) (core-asan/instdir/program/libsfxlo.so+0x263c239) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #47 0x7f2966851353 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x2651353) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #48 0x7f296684e6e2 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x264e6e2) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #49 0x7f29667f24ab in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t> >, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x25f24ab) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #50 0x7f29669353f9 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) (core-asan/instdir/program/libsfxlo.so+0x27353f9) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #51 0x7f29669237ad in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x27237ad) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #52 0x7f296e59ea3d in desktop::DispatchWatcher::executeDispatchRequests(std::__debug::vector<desktop::DispatchWatcher::DispatchRequest, std::allocator<desktop::DispatchWatcher::DispatchRequest> > const&, bool, desktop::DispatchRequestFlags*) (core-asan/instdir/program/libsofficeapp.so+0x39ea3d) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #53 0x7f296e5d9fae in desktop::RequestHandler::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest&, bool) (core-asan/instdir/program/libsofficeapp.so+0x3d9fae) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #54 0x7f296e503193 in desktop::Desktop::OpenClients() (core-asan/instdir/program/libsofficeapp.so+0x303193) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #55 0x7f296e50005c in desktop::Desktop::OpenClients_Impl(void*) (core-asan/instdir/program/libsofficeapp.so+0x30005c) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #56 0x7f296e4ffc16 in desktop::Desktop::LinkStubOpenClients_Impl(void*, void*) (core-asan/instdir/program/libsofficeapp.so+0x2ffc16) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #57 0x7f29552e3410 in Link<void*, void>::Call(void*) const (core-asan/instdir/program/libvcllo.so+0x42e3410) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #58 0x7f29552db964 in ImplHandleUserEvent(ImplSVEvent*) (core-asan/instdir/program/libvcllo.so+0x42db964) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #59 0x7f29552e0e3b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (core-asan/instdir/program/libvcllo.so+0x42e0e3b) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #60 0x7f2956b44430 in SalFrame::CallCallback(SalEvent, void const*) const (core-asan/instdir/program/libvcllo.so+0x5b44430) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #61 0x7f2956b8d114 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (core-asan/instdir/program/libvcllo.so+0x5b8d114) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #62 0x7f2955efea9f in SalUserEventList::DispatchUserEvents(bool)::{lambda()#1}::operator()() const (core-asan/instdir/program/libvcllo.so+0x4efea9f) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #63 0x7f2955eff104 in SalUserEventList::DispatchUserEvents(bool) (core-asan/instdir/program/libvcllo.so+0x4eff104) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #64 0x7f2956b8e540 in SvpSalInstance::ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8e540) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #65 0x7f2956b8edd2 in SvpSalInstance::DoYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8edd2) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #66 0x7f2956096112 in ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5096112) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #67 0x7f2956097f83 in Application::Yield() (core-asan/instdir/program/libvcllo.so+0x5097f83) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #68 0x7f29560953b0 in Application::Execute() (core-asan/instdir/program/libvcllo.so+0x50953b0) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #69 0x7f296e4fc9e9 in desktop::Desktop::Main() (core-asan/instdir/program/libsofficeapp.so+0x2fc9e9) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #70 0x7f29560eb3c7 in ImplSVMain() (core-asan/instdir/program/libvcllo.so+0x50eb3c7) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #71 0x7f29560eb590 in SVMain() (core-asan/instdir/program/libvcllo.so+0x50eb590) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #72 0x7f296e5ee383 in soffice_main (core-asan/instdir/program/libsofficeapp.so+0x3ee383) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #73 0x000000201cc6 in sal_main (core-asan/instdir/program/soffice.bin+0x201cc6) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #74 0x000000201cac in main (core-asan/instdir/program/soffice.bin+0x201cac) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #75 0x7f296e011574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #76 0x7f296e011627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #77 0x000000201b64 in _start (core-asan/instdir/program/soffice.bin+0x201b64) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)

0x7c994604b938 is located 56 bytes inside of 696-byte region [0x7c994604b900,0x7c994604bbb8)
freed by thread T0 here:
    #0 0x7f296eae899b in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xe899b) (BuildId: 0adabddcb77130fc2ea3840d060eb4e8a9ae0c85)
    #1 0x7b2929df5401 in std::__new_allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/new_allocator.h:172
    #2 0x7b2929df4edb in std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/allocator.h:215
    #3 0x7b2929df4edb in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:649
    #4 0x7b2929df4edb in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() /usr/include/c++/15/bits/allocated_ptr.h:74
    #5 0x7b2929df5647 in std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/include/c++/15/bits/shared_ptr_base.h:625
    #6 0x7b29283b09bd in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/15/bits/shared_ptr_base.h:346
    #7 0x7b29283b4dd1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/15/bits/shared_ptr_base.h:1069
    #8 0x7b2929c05619 in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/15/bits/shared_ptr_base.h:1531
    #9 0x7b2929df424e in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::reset() /usr/include/c++/15/bits/shared_ptr_base.h:1649
    #10 0x7b2929df3f4f in SwTextFrame::ClearPara() core-asan/sw/source/core/text/txtcache.cxx:41
    #11 0x7b2929e2d129 in SwTextFrame::Init() core-asan/sw/source/core/text/txtfrm.cxx:754
    #12 0x7b2929e45d75 in SwTextFrame::Prepare(PrepareHint, void const*, bool) core-asan/sw/source/core/text/txtfrm.cxx:3358
    #13 0x7b29297e0987 in SwFlyInContentFrame::NotifyBackground(SwPageFrame*, SwRect const&, PrepareHint) core-asan/sw/source/core/layout/flyincnt.cxx:230
    #14 0x7b2929805046 in Notify(SwFlyFrame*, SwPageFrame*, SwRect const&, SwRect const*) core-asan/sw/source/core/layout/frmtool.cxx:3301
    #15 0x7b29297f0a5a in SwFlyNotify::ImplDestroy() core-asan/sw/source/core/layout/frmtool.cxx:696
    #16 0x7b29297f1083 in SwFlyNotify::~SwFlyNotify() core-asan/sw/source/core/layout/frmtool.cxx:798
    #17 0x7b29297e11f0 in SwFlyInContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flyincnt.cxx:316
    #18 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #19 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #20 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #21 0x7b29297e09cf in SwFlyInContentFrame::GetRelPos() const core-asan/sw/source/core/layout/flyincnt.cxx:235
    #22 0x7b2929cd7309 in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3213
    #23 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #24 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #25 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #26 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #27 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #28 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #29 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #30 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #31 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192

Change-Id: I291348ddbaaf0e9e8255e2fca5842dc2d2bfe733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196426
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <[email protected]>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196558
tdf-gerrit pushed a commit that referenced this pull request Jan 17, 2026
As is the case in other weld methods, signals about
ComboBox changes are not supposed to be
emitted when the change happens programatically
and not by manual user interaction.

Therefore, disable notify events in ComboBox::insert
by renaming the actual toolkit implementations to
do_insert and making the weld::ComboBox::insert
base class method block signals while calling
the virtual methods.

See also e.g. weld::TreeView::insert which
uses the same approach.

The GTK implementation was already blocking signals
because it calls GtkInstanceComboBox::insert_including_mru
which in turn blocks signals during insertion.

This fixes a nullptr deref seen with the qt6 VCL
plugin and env var SAL_VCL_QT_USE_WELDED_WIDGETS=1
in a WIP branch to declare support for native widgets
in the dialog triggered as follows:

* start Writer
* "Insert" -> "Chart"
* right-click on the X axes to open the context menu
* activate the "Format Axis" context menu entry

Backtrace:

    Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault.
    0x00007ffff2525a54 in SvxNumberFormatShell::LanguageChanged (this=0x0, eLangType=..., rFmtSelPos=@0x7fffffff79ee: 0, rFmtEntries=std::__debug::vector of length 0, capacity 0)
        at /home/michi/development/git/libreoffice/svx/source/items/numfmtsh.cxx:190
    190         eCurLanguage = eLangType;
    (gdb) bt
    #0  0x00007ffff2525a54 in SvxNumberFormatShell::LanguageChanged (this=0x0, eLangType=..., rFmtSelPos=@0x7fffffff79ee: 0, rFmtEntries=std::__debug::vector of length 0, capacity 0)
        at /home/michi/development/git/libreoffice/svx/source/items/numfmtsh.cxx:190
    #1  0x00007fff8a6c5bfc in SvxNumberFormatTabPage::UpdateFormatListBox_Impl (this=0x5555606d5ea0, bCat=false, bUpdateEdit=true) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:990
    #2  0x00007fff8a6caa4a in SvxNumberFormatTabPage::SelFormatHdl_Impl (this=0x5555606d5ea0, pLb=0x555560788f98) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1240
    #3  0x00007fff8a6cab98 in SvxNumberFormatTabPage::SelFormatListBoxHdl_Impl (this=0x5555606d5ea0, rLb=...) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1131
    #4  0x00007fff8a6c43bd in SvxNumberFormatTabPage::LinkStubSelFormatListBoxHdl_Impl (instance=0x5555606d5ea0, data=...) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:1129
    #5  0x00007ffff115bb01 in Link<weld::ComboBox&, void>::Call (this=0x555560788f18, data=...) at include/tools/link.hxx:105
    #6  0x00007ffff114e85b in SvxLanguageBox::ChangeHdl (this=0x555560788f10, rControl=...) at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:534
    #7  0x00007ffff114e51d in SvxLanguageBox::LinkStubChangeHdl (instance=0x555560788f10, data=...) at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:464
    #8  0x00007fffe58a4371 in Link<weld::ComboBox&, void>::Call (this=0x555560789150, data=...) at include/tools/link.hxx:105
    #9  0x00007fffe58a3f88 in weld::ComboBox::signal_changed (this=0x555560789108) at include/vcl/weld/ComboBox.hxx:63
    #10 0x00007fffe58988dd in QtInstanceComboBox::signalChanged (this=0x555560788f60) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:432
    #11 0x00007fffe58a4791 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff7e10) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #12 0x00007fffe58a46c9 in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)::{lambda()#1}&&) (args=0x7fffffff81f0, fn=...) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #13 0x00007fffe58a45fb in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceComboBox::*)()>::call(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)
        (f=(void (QtInstanceComboBox::*)(QtInstanceComboBox * const)) 0x7fffe58988a0 <QtInstanceComboBox::signalChanged()>, o=0x555560788f60, arg=0x7fffffff81f0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #14 0x00007fffe58a457d in QtPrivate::FunctionPointer<void (QtInstanceComboBox::*)()>::call<QtPrivate::List<>, void>(void (QtInstanceComboBox::*)(), QtInstanceComboBox*, void**)
        (f=(void (QtInstanceComboBox::*)(QtInstanceComboBox * const)) 0x7fffe58988a0 <QtInstanceComboBox::signalChanged()>, o=0x555560788f60, arg=0x7fffffff81f0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #15 0x00007fffe58a44a6 in QtPrivate::QCallableObject<void (QtInstanceComboBox::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
        (which=1, this_=0x5555607893d0, r=0x555560788f60, a=0x7fffffff81f0, ret=0x0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:545
    #16 0x00007fffe46ea402 in QtPrivate::QSlotObjectBase::call (this=0x5555607893d0, r=0x555560788f60, a=0x7fffffff81f0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #17 0x00007fffe491b872 in doActivate<false> (sender=0x55556077ac40, signal_index=13, argv=0x7fffffff81f0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4371
    #18 0x00007fffe4911c63 in QMetaObject::activate (sender=0x55556077ac40, m=0x7fffe33803b8 <QComboBox::staticMetaObject>, local_signal_index=6, argv=0x7fffffff81f0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4431
    #19 0x00007fffe28859eb in QMetaObject::activate<void, QString> (sender=0x55556077ac40, mo=0x7fffe33803b8 <QComboBox::staticMetaObject>, local_signal_index=6, ret=0x0, args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:321
    #20 0x00007fffe2a40f41 in QComboBox::currentTextChanged (this=0x55556077ac40, _t1=...) at qtbase/src/widgets/Widgets_autogen/include/moc_qcombobox.cpp:376
    #21 0x00007fffe2a3e3ad in QComboBoxPrivate::updateCurrentText (this=0x55556077c400, text=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:3210
    #22 0x00007fffe2a3e68e in QComboBoxPrivate::emitCurrentIndexChanged (this=0x55556077c400, index=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:1695
    #23 0x00007fffe2a3973b in QComboBoxPrivate::setCurrentIndex (this=0x55556077c400, mi=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2480
    #24 0x00007fffe2a38b6a in QComboBox::setCurrentIndex (this=0x55556077ac40, index=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2427
    #25 0x00007fffe2a3e550 in QComboBoxPrivate::rowsInserted (this=0x55556077c400, parent=..., start=0, end=0) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:1399
    #26 0x00007fffe2a57482 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff85c0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
    #27 0x00007fffe2a573dd in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call(void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QComboBoxPrivate*, void**)::{lambda()#1}&&) (args=0x7fffffff89c0, fn=...)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
    #28 0x00007fffe2a57397 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call
        (f=(void (QComboBoxPrivate::*)(QComboBoxPrivate * const, const QModelIndex &, int, int)) 0x7fffe2a3e3c0 <QComboBoxPrivate::rowsInserted(QModelIndex const&, int, int)>, o=0x55556077c400, arg=0x7fffffff89c0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
    #29 0x00007fffe2a57301 in QtPrivate::FunctionPointer<void (QComboBoxPrivate::*)(QModelIndex const&, int, int)>::call<QtPrivate::List<QModelIndex const&, int, int>, void>
        (f=(void (QComboBoxPrivate::*)(QComboBoxPrivate * const, const QModelIndex &, int, int)) 0x7fffe2a3e3c0 <QComboBoxPrivate::rowsInserted(QModelIndex const&, int, int)>, o=0x55556077c400, arg=0x7fffffff89c0)
        at qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
    #30 0x00007fffe2a57230 in QtPrivate::QPrivateSlotObject<void (QComboBoxPrivate::*)(QModelIndex const&, int, int), QtPrivate::List<QModelIndex const&, int, int>, void>::impl
        (which=1, this_=0x55556077cd80, r=0x55556077ac40, a=0x7fffffff89c0, ret=0x0) at qtbase/src/corelib/kernel/qobject_p.h:272
    #31 0x00007fffe46ea402 in QtPrivate::QSlotObjectBase::call (this=0x55556077cd80, r=0x55556077ac40, a=0x7fffffff89c0) at qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
    #32 0x00007fffe491b872 in doActivate<false> (sender=0x555560766e90, signal_index=13, argv=0x7fffffff89c0) at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4371
    #33 0x00007fffe4911c63 in QMetaObject::activate (sender=0x555560766e90, m=0x7fffe527bdf0 <QAbstractItemModel::staticMetaObject>, local_signal_index=10, argv=0x7fffffff89c0)
        at /home/michi/development/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:4431
    #34 0x00007fffe4d77bf5 in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal>
        (sender=0x555560766e90, mo=0x7fffe527bdf0 <QAbstractItemModel::staticMetaObject>, local_signal_index=10, ret=0x0, args=..., args=@0x7fffffff8a30: 0, args=@0x7fffffff8a2c: 0, args=...) at qtbase/src/corelib/kernel/qobjectdefs.h:321
    #35 0x00007fffe4d6b8ca in QAbstractItemModel::rowsInserted (this=0x555560766e90, _t1=..., _t2=0, _t3=0, _t4=...) at qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:690
    #36 0x00007fffe4d6b846 in QAbstractItemModel::endInsertRows (this=0x555560766e90) at /home/michi/development/git/qt5/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:2922
    #37 0x00007fffe3c56a98 in QStandardItemModelPrivate::rowsInserted (this=0x555560775680, parent=0x55556077c9b0, row=0, count=1) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:625
    #38 0x00007fffe3c56d93 in QStandardItemPrivate::insertRows (this=0x55556077c010, row=0, count=1, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:497
    #39 0x00007fffe3c58bdd in QStandardItem::insertRow (this=0x55556077c9b0, row=0, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1601
    #40 0x00007fffe3c5aa3f in QStandardItemModel::insertRow (this=0x555560766e90, row=0, items=...) at /home/michi/development/git/qt5/qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:2680
    #41 0x00007fffe2a4b5ea in QStandardItemModel::insertRow (this=0x555560766e90, arow=0, aitem=0x55556078ad80) at qtbase/src/gui/itemmodels/qstandarditemmodel.h:401
    #42 0x00007fffe2a419f7 in QComboBox::insertItem (this=0x55556077ac40, index=0, icon=..., text=..., userData=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.cpp:2593
    #43 0x00007fffe57c1ea7 in QComboBox::insertItem (this=0x55556077ac40, aindex=0, atext=..., auserData=...) at /home/michi/development/git/qt5/qtbase/src/widgets/widgets/qcombobox.h:228
    #44 0x00007fffe589ccd3 in QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0::operator()() const (this=0x55556078b1a0) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:45
    #45 0x00007fffe589cba5 in std::__invoke_impl<void, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&>(std::__invoke_other, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&) (__f=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:63
    #46 0x00007fffe589cb65 in std::__invoke_r<void, QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&>(QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0&) (__fn=...) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/invoke.h:113
    #47 0x00007fffe589ca4d in std::_Function_handler<void(), QtInstanceComboBox::insert(int, rtl::OUString const&, rtl::OUString const*, rtl::OUString const*, VirtualDevice*)::$_0>::_M_invoke (__functor=...)
        at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:292
    #48 0x00007fffe584803e in std::function<void()>::operator() (this=0x7fffffff9210) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:593
    #49 0x00007fffe583f17f in QtInstance::RunInMainThread (this=0x5555555f8540, func=...) at vcl/qt6/../qt5/QtInstance.cxx:206
    #50 0x00007fffe5898fcf in QtInstanceComboBox::insert (this=0x555560788f60, nPos=0, rStr="Default - English (UK)", pId=0x7fffffff9558, pIconName=0x0, pImageSurface=0x0) at vcl/qt6/../qt5/QtInstanceComboBox.cxx:37
    #51 0x00007ffff115d8fb in weld::ComboBox::insert (this=0x555560789108, pos=-1, rItem=...) at include/vcl/weld/ComboBox.hxx:89
    #52 0x00007ffff115af02 in weld::ComboBox::append (this=0x555560789108, rItem=...) at include/vcl/weld/ComboBox.hxx:96
    #53 0x00007ffff114d012 in SvxLanguageBox::SetLanguageList
        (this=0x555560788f10, nLangList=(SvxLanguageListFlags::ALL | SvxLanguageListFlags::ONLY_KNOWN), bHasLangNone=false, bLangNoneIsLangAll=false, bCheckSpellAvail=false, bDefaultLangExist=true, eDefaultLangType=..., nDefaultType=4)
        at /home/michi/development/git/libreoffice/svx/source/dialog/langbox.cxx:323
    #54 0x00007fff8a6c405e in SvxNumberFormatTabPage::Init_Impl (this=0x5555606d5ea0) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:318
    #55 0x00007fff8a6c2e3d in SvxNumberFormatTabPage::SvxNumberFormatTabPage
        (this=0x5555606d5ea0, pPage=0x555560718098, pController=0x55555a7234c0, rCoreAttrs=SfxItemSet of pool 0x55555b593c40 with parent 0x0 and Which ranges: [(17, 18), (40, 70), (1000, 1012), (4021, 4079), (10085, 10085), (10932, 10932), (11090, 11090)] = {...}) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:247
    #56 0x00007fff8a6cc2ee in std::make_unique<SvxNumberFormatTabPage, weld::Container*&, weld::DialogController*&, SfxItemSet const&>
        (__args=@0x7fffffffa160: 0x555560718098, __args=@0x7fffffffa158: 0x55555a7234c0, __args=SfxItemSet of pool 0x55555b593c40 with parent 0x0 and Which ranges: [(17, 18), (40, 70), (1000, 1012), (4021, 4079), (10085, 10085), (10932, 10932), (11090, 11090)] = {...}) at /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:1084
    #57 0x00007fff8a6c46d9 in SvxNumberFormatTabPage::Create (pPage=0x555560718098, pController=0x55555a7234c0, rAttrSet=0x55555b5c41f0) at /home/michi/development/git/libreoffice/cui/source/tabpages/numfmt.cxx:326
    #58 0x00007ffff399ed1d in SfxTabDialogController::CreatePages (this=0x55555a7234c0) at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:946
    #59 0x00007ffff399fd19 in SfxTabDialogController::Start_Impl (this=0x55555a7234c0) at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:1034
    #60 0x00007ffff39a011e in SfxTabDialogController::runAsync (rController=std::shared_ptr<SfxTabDialogController> (use count 3, weak count 1) = {...}, rFunc=...)
        at /home/michi/development/git/libreoffice/sfx2/source/dialog/tabdlg.cxx:1091
    #61 0x00007fff8b0da287 in chart::ChartController::executeDlg_ObjectProperties_withUndoGuard
        (this=0x55555c98cd40, xUndoGuard=std::shared_ptr<chart::UndoGuard> (empty) = {...}, rObjectCID="CID/D=0:CS=0:Axis=0,0", bSuccessOnUnchanged=false)
        at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:778
    #62 0x00007fff8b0d94fc in chart::ChartController::executeDlg_ObjectProperties (this=0x55555c98cd40, rSelectedObjectCID="CID/D=0:CS=0:Axis=0,0")
        at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:695
    #63 0x00007fff8b0d7368 in chart::ChartController::executeDispatch_FormatObject (this=0x55555c98cd40, rDispatchCommand=u"FormatAxis")
        at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController_Properties.cxx:651
    #64 0x00007fff8b0a72a3 in chart::ChartController::dispatch (this=0x55555c98cd40, rURL=..., rArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/chart2/source/controller/main/ChartController.cxx:1226
    #65 0x00007fff8b1512fc in chart::ControllerCommandDispatch::dispatch (this=0x55555b6ae620, URL=..., Arguments=empty uno::Sequence)
        at /home/michi/development/git/libreoffice/chart2/source/controller/main/ControllerCommandDispatch.cxx:933
    #66 0x00007ffff4b03874 in framework::(anonymous namespace)::AsyncMenuExecute (data=0x55555b573710) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:793
    #67 0x00007fffedc46db1 in Link<void*, void>::Call (this=0x55555b574058, data=0x55555b573710) at include/tools/link.hxx:105
    #68 0x00007fffedc426d1 in ImplHandleUserEvent (pSVEvent=0x55555b574050) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
    #69 0x00007fffedc3f5ff in ImplWindowFrameProc (_pWindow=0x555556d919d0, nEvent=SalEvent::UserEvent, pEvent=0x55555b574050) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
    #70 0x00007fffe582034c in SalFrame::CallCallback (this=0x555556949a50, nEvent=SalEvent::UserEvent, pEvent=0x55555b574050) at vcl/inc/salframe.hxx:310
    #71 0x00007fffe58421df in QtInstance::ProcessEvent (this=0x5555555f8540, aEvent=...) at vcl/qt6/../qt5/QtInstance.cxx:600
    #72 0x00007fffee22366d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb990) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #73 0x00007fffee22353b in SalUserEventList::DispatchUserEvents (this=0x5555555f85b0, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #74 0x00007fffe583e921 in QtInstance::ImplYield (this=0x5555555f8540, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:496
    #75 0x00007fffe5841da1 in QtInstance::DoYield (this=0x5555555f8540, bWait=true, bHandleAllCurrentEvents=false) at vcl/qt6/../qt5/QtInstance.cxx:518
    #76 0x00007fffee2ee966 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #77 0x00007fffee2ee1ef in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #78 0x00007fffee2edfd0 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
    #79 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd540) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
    #80 0x00007fffee3179d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #81 0x00007fffee3194f9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #82 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #83 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #84 0x0000555555555a07 in main (argc=2, argv=0x7fffffffd748) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I5ecf1c0e0f60b5f215bb21894e98f93ce4516e07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197468
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jan 17, 2026
for soffice --headless --convert-to pdf tdf103059-2.odt

==2656459==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c994604b938 at pc 0x7b2929cd73cd bp 0x7ffc818cc110 sp 0x7ffc818cc108
READ of size 8 at 0x7c994604b938 thread T0
    #0 0x7b2929cd73cc in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3220
    #1 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #2 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #3 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #4 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #5 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #6 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #7 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #8 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #9 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192
    #10 0x7b2929756a65 in SwContentFrame::ShouldBwdMoved(SwLayoutFrame*, bool&) core-asan/sw/source/core/layout/calcmove.cxx:199
    #11 0x7b292979f8bd in SwFlowFrame::MoveBwd(bool&) core-asan/sw/source/core/layout/flowfrm.cxx:2669
    #12 0x7b2929761592 in SwContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1654
    #13 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #14 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #15 0x7b29298c2bd0 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:688
    #16 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #17 0x7b29298c2b26 in lcl_FormatContentOfLayoutFrame core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:684
    #18 0x7b29298c33a4 in SwObjectFormatterTextFrame::FormatAnchorFrameAndItsPrevs(SwTextFrame&) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:774
    #19 0x7b29297c06dd in SwFlyAtContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flycnt.cxx:440
    #20 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #21 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #22 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #23 0x7b292984693b in SwLayAction::FormatLayoutFly(SwFlyFrame*) core-asan/sw/source/core/layout/layact.cxx:1553
    #24 0x7b29298ba5f3 in SwObjectFormatter::FormatObj_(SwAnchoredObject&) core-asan/sw/source/core/layout/objectformatter.cxx:287
    #25 0x7b29298c05fb in SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject&, bool) core-asan/sw/source/core/layout/objectformattertxtfrm.cxx:132
    #26 0x7b29298ba207 in SwObjectFormatter::FormatObj(SwAnchoredObject&, SwFrame*, SwPageFrame const*, SwLayAction*) core-asan/sw/source/core/layout/objectformatter.cxx:191
    #27 0x7b29297b0cc5 in CalcContent(SwLayoutFrame*, bool) core-asan/sw/source/core/layout/fly.cxx:1852
    #28 0x7b2929a2c3f0 in SwLayoutFrame::FormatWidthCols(SwBorderAttrs const&, long, long) core-asan/sw/source/core/layout/wsfrm.cxx:4024
    #29 0x7b292998a2b2 in SwSectionFrame::Format(OutputDevice*, SwBorderAttrs const*) core-asan/sw/source/core/layout/sectfrm.cxx:1563
    #30 0x7b292975d1b7 in SwLayoutFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:1073
    #31 0x7b292998618a in SwSectionFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/sectfrm.cxx:932
    #32 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #33 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #34 0x7b2929844913 in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1315
    #35 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #36 0x7b292984617e in SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) core-asan/sw/source/core/layout/layact.cxx:1511
    #37 0x7b292983f951 in SwLayAction::InternalAction(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:629
    #38 0x7b292983d4b7 in SwLayAction::Action(OutputDevice*) core-asan/sw/source/core/layout/layact.cxx:404
    #39 0x7b292a7e2aad in SwViewShell::CalcLayout() core-asan/sw/source/core/view/viewsh.cxx:1248
    #40 0x7b2929504fd1 in SwEditShell::CalcLayout() core-asan/sw/source/core/edit/edws.cxx:89
    #41 0x7b292b84944f in SwXTextDocument::getRendererCount(com::sun::star::uno::Any const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) core-asan/sw/source/uibase/uno/unotxdoc.cxx:2766
    #42 0x7b2918f8118b in PDFExport::Export(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x16a18b) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #43 0x7b2918fb7781 in PDFFilter::implExport(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a0781) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #44 0x7b2918fb8c26 in PDFFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/../program/libpdffilterlo.so+0x1a1c26) (BuildId: 3e1e7d533e1cda134f16230425f07ece7cda2894)
    #45 0x7f2966849fa0 in SfxObjectShell::ExportTo(SfxMedium&) (core-asan/instdir/program/libsfxlo.so+0x2649fa0) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #46 0x7f296683c239 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) (core-asan/instdir/program/libsfxlo.so+0x263c239) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #47 0x7f2966851353 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x2651353) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #48 0x7f296684e6e2 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x264e6e2) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #49 0x7f29667f24ab in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t> >, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x25f24ab) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #50 0x7f29669353f9 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) (core-asan/instdir/program/libsfxlo.so+0x27353f9) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #51 0x7f29669237ad in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (core-asan/instdir/program/libsfxlo.so+0x27237ad) (BuildId: f20a99320ed1b1e19cb532dd5771162fe9df25d6)
    #52 0x7f296e59ea3d in desktop::DispatchWatcher::executeDispatchRequests(std::__debug::vector<desktop::DispatchWatcher::DispatchRequest, std::allocator<desktop::DispatchWatcher::DispatchRequest> > const&, bool, desktop::DispatchRequestFlags*) (core-asan/instdir/program/libsofficeapp.so+0x39ea3d) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #53 0x7f296e5d9fae in desktop::RequestHandler::ExecuteCmdLineRequests(desktop::ProcessDocumentsRequest&, bool) (core-asan/instdir/program/libsofficeapp.so+0x3d9fae) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #54 0x7f296e503193 in desktop::Desktop::OpenClients() (core-asan/instdir/program/libsofficeapp.so+0x303193) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #55 0x7f296e50005c in desktop::Desktop::OpenClients_Impl(void*) (core-asan/instdir/program/libsofficeapp.so+0x30005c) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #56 0x7f296e4ffc16 in desktop::Desktop::LinkStubOpenClients_Impl(void*, void*) (core-asan/instdir/program/libsofficeapp.so+0x2ffc16) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #57 0x7f29552e3410 in Link<void*, void>::Call(void*) const (core-asan/instdir/program/libvcllo.so+0x42e3410) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #58 0x7f29552db964 in ImplHandleUserEvent(ImplSVEvent*) (core-asan/instdir/program/libvcllo.so+0x42db964) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #59 0x7f29552e0e3b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (core-asan/instdir/program/libvcllo.so+0x42e0e3b) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #60 0x7f2956b44430 in SalFrame::CallCallback(SalEvent, void const*) const (core-asan/instdir/program/libvcllo.so+0x5b44430) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #61 0x7f2956b8d114 in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (core-asan/instdir/program/libvcllo.so+0x5b8d114) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #62 0x7f2955efea9f in SalUserEventList::DispatchUserEvents(bool)::{lambda()#1}::operator()() const (core-asan/instdir/program/libvcllo.so+0x4efea9f) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #63 0x7f2955eff104 in SalUserEventList::DispatchUserEvents(bool) (core-asan/instdir/program/libvcllo.so+0x4eff104) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #64 0x7f2956b8e540 in SvpSalInstance::ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8e540) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #65 0x7f2956b8edd2 in SvpSalInstance::DoYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5b8edd2) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #66 0x7f2956096112 in ImplYield(bool, bool) (core-asan/instdir/program/libvcllo.so+0x5096112) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #67 0x7f2956097f83 in Application::Yield() (core-asan/instdir/program/libvcllo.so+0x5097f83) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #68 0x7f29560953b0 in Application::Execute() (core-asan/instdir/program/libvcllo.so+0x50953b0) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #69 0x7f296e4fc9e9 in desktop::Desktop::Main() (core-asan/instdir/program/libsofficeapp.so+0x2fc9e9) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #70 0x7f29560eb3c7 in ImplSVMain() (core-asan/instdir/program/libvcllo.so+0x50eb3c7) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #71 0x7f29560eb590 in SVMain() (core-asan/instdir/program/libvcllo.so+0x50eb590) (BuildId: 3cd155f3c9851c1c62b4d2b1959b9b1e4664c2fb)
    #72 0x7f296e5ee383 in soffice_main (core-asan/instdir/program/libsofficeapp.so+0x3ee383) (BuildId: 0d1c41096bed89bed335fa78947804c0924ce8ea)
    #73 0x000000201cc6 in sal_main (core-asan/instdir/program/soffice.bin+0x201cc6) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #74 0x000000201cac in main (core-asan/instdir/program/soffice.bin+0x201cac) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)
    #75 0x7f296e011574 in __libc_start_call_main (/lib64/libc.so.6+0x3574) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #76 0x7f296e011627 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x3627) (BuildId: 48c4b9b1efb1df15da8e787f489128bf31893317)
    #77 0x000000201b64 in _start (core-asan/instdir/program/soffice.bin+0x201b64) (BuildId: 1edea05beb4bcc822dadbcc6f2b2a28fa5ad215b)

0x7c994604b938 is located 56 bytes inside of 696-byte region [0x7c994604b900,0x7c994604bbb8)
freed by thread T0 here:
    #0 0x7f296eae899b in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xe899b) (BuildId: 0adabddcb77130fc2ea3840d060eb4e8a9ae0c85)
    #1 0x7b2929df5401 in std::__new_allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/new_allocator.h:172
    #2 0x7b2929df4edb in std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >::deallocate(std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/allocator.h:215
    #3 0x7b2929df4edb in std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::deallocate(std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>*, unsigned long) /usr/include/c++/15/bits/alloc_traits.h:649
    #4 0x7b2929df4edb in std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() /usr/include/c++/15/bits/allocated_ptr.h:74
    #5 0x7b2929df5647 in std::_Sp_counted_ptr_inplace<SwParaPortion, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_destroy() /usr/include/c++/15/bits/shared_ptr_base.h:625
    #6 0x7b29283b09bd in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/15/bits/shared_ptr_base.h:346
    #7 0x7b29283b4dd1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/15/bits/shared_ptr_base.h:1069
    #8 0x7b2929c05619 in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/15/bits/shared_ptr_base.h:1531
    #9 0x7b2929df424e in std::__shared_ptr<SwParaPortion, (__gnu_cxx::_Lock_policy)2>::reset() /usr/include/c++/15/bits/shared_ptr_base.h:1649
    #10 0x7b2929df3f4f in SwTextFrame::ClearPara() core-asan/sw/source/core/text/txtcache.cxx:41
    #11 0x7b2929e2d129 in SwTextFrame::Init() core-asan/sw/source/core/text/txtfrm.cxx:754
    #12 0x7b2929e45d75 in SwTextFrame::Prepare(PrepareHint, void const*, bool) core-asan/sw/source/core/text/txtfrm.cxx:3358
    #13 0x7b29297e0987 in SwFlyInContentFrame::NotifyBackground(SwPageFrame*, SwRect const&, PrepareHint) core-asan/sw/source/core/layout/flyincnt.cxx:230
    #14 0x7b2929805046 in Notify(SwFlyFrame*, SwPageFrame*, SwRect const&, SwRect const*) core-asan/sw/source/core/layout/frmtool.cxx:3301
    #15 0x7b29297f0a5a in SwFlyNotify::ImplDestroy() core-asan/sw/source/core/layout/frmtool.cxx:696
    #16 0x7b29297f1083 in SwFlyNotify::~SwFlyNotify() core-asan/sw/source/core/layout/frmtool.cxx:798
    #17 0x7b29297e11f0 in SwFlyInContentFrame::MakeAll(OutputDevice*) core-asan/sw/source/core/layout/flyincnt.cxx:316
    #18 0x7b29297578e2 in SwFrame::PrepareMake(OutputDevice*) core-asan/sw/source/core/layout/calcmove.cxx:396
    #19 0x7b2929a082af in SwFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/trvlfrm.cxx:1858
    #20 0x7b29297bc028 in SwFlyFrame::Calc(OutputDevice*) const core-asan/sw/source/core/layout/fly.cxx:3436
    #21 0x7b29297e09cf in SwFlyInContentFrame::GetRelPos() const core-asan/sw/source/core/layout/flyincnt.cxx:235
    #22 0x7b2929cd7309 in SwTextFormatter::NewFlyCntPortion(SwTextFormatInfo&, SwTextAttr*) const core-asan/sw/source/core/text/itrform2.cxx:3213
    #23 0x7b2929e02267 in SwTextFormatter::NewExtraPortion(SwTextFormatInfo&) core-asan/sw/source/core/text/txtfld.cxx:285
    #24 0x7b2929cccd9d in SwTextFormatter::NewPortion(SwTextFormatInfo&, std::optional<o3tl::strong_int<int, Tag_TextFrameIndex> >) core-asan/sw/source/core/text/itrform2.cxx:1886
    #25 0x7b2929cbf0a3 in SwTextFormatter::BuildPortions(SwTextFormatInfo&) core-asan/sw/source/core/text/itrform2.cxx:440
    #26 0x7b2929ccec48 in SwTextFormatter::FormatLine(o3tl::strong_int<int, Tag_TextFrameIndex>) core-asan/sw/source/core/text/itrform2.cxx:2102
    #27 0x7b2929c10fac in SwTextFrame::FormatLine(SwTextFormatter&, bool) core-asan/sw/source/core/text/frmform.cxx:1458
    #28 0x7b2929c14223 in SwTextFrame::Format_(SwTextFormatter&, SwTextFormatInfo&, bool) core-asan/sw/source/core/text/frmform.cxx:1822
    #29 0x7b2929e4755c in SwTestFormat::SwTestFormat(SwTextFrame*, SwFrame const*, long) core-asan/sw/source/core/text/txtfrm.cxx:3453
    #30 0x7b2929e47e1d in SwTextFrame::TestFormat(SwFrame const*, long&, bool&) core-asan/sw/source/core/text/txtfrm.cxx:3483
    #31 0x7b29297645a7 in SwContentFrame::WouldFit_(long, SwLayoutFrame*, bool, bool) core-asan/sw/source/core/layout/calcmove.cxx:2192

Change-Id: I291348ddbaaf0e9e8255e2fca5842dc2d2bfe733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196426
Reviewed-by: Caolán McNamara <[email protected]>
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <[email protected]>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196558
tdf-gerrit pushed a commit that referenced this pull request Jan 21, 2026
... and position for each document"

The changes to LoadEnv in

    commit 8ce2cf3
    Date:   Mon May 12 01:29:55 2025 +0700

        tdf#41777 Add window size and position for each document

to create new frames when loading existing documents from
the start center and close the backing window cause
crashes for the tdf#170399 scenario of starting the template manager
from the start center and then editing a template by selecting
the "Edit" entry from its context menu.

Revert the changes to that class for now, to fix the crashes.

In a quick test with the gen VCL plugin, this causes documents
opened from the start center to no longer be restored in the
position that they were in previously, while opening documents
directly (i.e. not from start center) still results in them
getting restored at the previous location. (Tested with two
different documents that were saved and closed in different
locations on the screen and both were restored at their
original location.)

This partially reverts commit 8ce2cf3.

Backtrace for the gen VCL plugin without this commit in place:

    warn:legacy.osl:835647:835647:vcl/source/window/window.cxx:307: Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()
    Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()

    Thread 1 "soffice.bin" 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
    (gdb) 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  0x00007ffff769749f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007ffff7640942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff76284ac in __GI_abort () at ./stdlib/abort.c:77
    #4  0x00007fffee2339db in SalAbort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403
    #5  0x00007fffee2ff4b1 in Application::Abort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300
    #6  0x00007fffedc25c54 in vcl::Window::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308
    #7  0x00007fffedc9e1c6 in Control::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:62
    #8  0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557305890) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #9  0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe72d0) at include/vcl/vclptr.hxx:208
    #10 0x00007ffff0069f57 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557168d30) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:250
    #11 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557168d30) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #12 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557168d80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #13 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe8798) at include/vcl/vclptr.hxx:208
    #14 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577d6d80) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #15 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555573c4dd0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #16 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #17 0x00007fffedafd800 in VclScrolledWindow::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1926
    #18 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555573c4e48) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #19 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe9eb8) at include/vcl/vclptr.hxx:208
    #20 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x55555788b020) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #21 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557722300) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #22 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557722300) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #23 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557722350) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #24 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeb5b8) at include/vcl/vclptr.hxx:208
    #25 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577a9df0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #26 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x55555772fe50) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #27 0x00007fffedc24eca in vcl::Window::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #28 0x00007fffedafb566 in VclFrame::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1493
    #29 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x55555772fea8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #30 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeccd8) at include/vcl/vclptr.hxx:208
    #31 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c1ac0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #32 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555572db4d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #33 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555572db4d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #34 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555572db520) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #35 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffee3d8) at include/vcl/vclptr.hxx:208
    #36 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c5650) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #37 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555576ebfe0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #38 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555576ebfe0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #39 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555576ec030) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #40 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffefad8) at include/vcl/vclptr.hxx:208
    #41 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c8d10) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #42 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557806110) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #43 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #44 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #45 0x00007fffeda8e38c in Dialog::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:632
    #46 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555578061f0) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #47 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff1338) at include/vcl/vclptr.hxx:208
    #48 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x555557897d70) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #49 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555578924d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #50 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #51 0x00007fffed9c1dc4 in ImplBorderWindow::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1615
    #52 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557892530) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #53 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff2b68) at include/vcl/vclptr.hxx:208
    #54 0x00007ffff006a6a7 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555556ef0dc0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:308
    #55 0x00007fffedc24eca in vcl::Window::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #56 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #57 0x00007fffedc596c1 in WorkWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:127
    #58 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555556ef0e80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #59 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff40e8) at include/vcl/vclptr.hxx:208
    #60 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555570cde30) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #61 0x00007ffff49f5fd9 in (anonymous namespace)::XFrameImpl::disposing (this=0x555556dd1610) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2184
    #62 0x00007ffff573a1f0 in cppu::WeakComponentImplHelperBase::dispose (this=0x555556dd1610) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
    #63 0x00007ffff4a02ba5 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose (this=0x555556dd1610) at include/cppuhelper/compbase.hxx:90
    #64 0x00007ffff49fb4d5 in (anonymous namespace)::XFrameImpl::close (this=0x555556dd1610, bDeliverOwnership=0 '\000') at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1731
    #65 0x00007ffff4829850 in framework::pattern::frame::closeIt (xResource=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x555556dd1680) at framework/source/inc/pattern/frame.hxx:57
    #66 0x00007ffff49b92fd in framework::LoadEnv::impl_reactForLoadingState (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1655
    #67 0x00007ffff49b8cf6 in framework::LoadEnv::impl_setResult (this=0x7fffffff57b8, bResult=true) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:537
    #68 0x00007ffff49b8b31 in framework::LoadEnv::impl_loadContent (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1184
    #69 0x00007ffff49b5c85 in framework::LoadEnv::start (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:417
    #70 0x00007ffff49b3982 in framework::LoadEnv::startLoading
        (this=0x7fffffff57b8, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", lMediaDescriptor=uno::Sequence of length 3 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555568ac098, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::WorkWithUI) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:313
    #71 0x00007ffff49b2282 in framework::LoadEnv::loadComponentFromURL
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555568ac0a8, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55555559d808, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:169
    #72 0x00007ffff49e45d2 in framework::Desktop::loadComponentFromURL
        (this=0x5555568ac030, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:594
    #73 0x00007ffff49e4734 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #74 0x00007ffff3c6ef72 in SfxTemplateManagerDlg::EditTemplateHdl (this=0x7fffffffa218, rTemplatePath="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:715
    #75 0x00007ffff3c67eed in SfxTemplateManagerDlg::LinkStubEditTemplateHdl (instance=0x7fffffffa218, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:704
    #76 0x00007ffff36af081 in Link<rtl::OUString const&, void>::Call (this=0x7fffffffa520, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at include/tools/link.hxx:105
    #77 0x00007ffff382c9ab in TemplateDlgLocalView::ContextMenuSelectHdl (this=0x7fffffffa320, rIdent=u"edit") at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:154
    #78 0x00007ffff382c66a in TemplateDlgLocalView::createContextMenu (this=0x7fffffffa320, bIsDefault=false, bIsBuiltIn=true, bIsSingleSel=true, rDefaultImg="res/odt_16_8.png")
        at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:140
    #79 0x00007ffff3c6e710 in SfxTemplateManagerDlg::CreateContextMenuHdl (this=0x7fffffffa218, pItem=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:680
    #80 0x00007ffff3c67e5d in SfxTemplateManagerDlg::LinkStubCreateContextMenuHdl (instance=0x7fffffffa218, data=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:649
    #81 0x00007ffff381bce1 in Link<TemplateViewItem*, void>::Call (this=0x7fffffffa4e0, data=0x55555788ca90) at include/tools/link.hxx:105
    #82 0x00007ffff3816e34 in TemplateLocalView::Command (this=0x7fffffffa320, rCEvt=...) at /home/michi/development/git/libreoffice/sfx2/source/control/templatelocalview.cxx:718
    #83 0x00007fffee228e11 in weld::CustomWeld::DoCommand (this=0x55555779d480, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:102
    #84 0x00007fffee228b1d in weld::CustomWeld::LinkStubDoCommand (instance=0x55555779d480, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:100
    #85 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x555557703ef0, data=...) at include/tools/link.hxx:105
    #86 0x00007fffee2813f1 in weld::Widget::signal_command (this=0x555557703ee0, rCEvt=...) at include/vcl/weld/weld.hxx:109
    #87 0x00007fffee247e74 in SalInstanceWidget::CommandHdl (this=0x555557703eb0, rEvent=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:819
    #88 0x00007fffee244ccd in SalInstanceWidget::LinkStubCommandHdl (instance=0x555557703eb0, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:817
    #89 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x5555577f1080, data=...) at include/tools/link.hxx:105
    #90 0x00007fffedc2f524 in vcl::Window::Command (this=0x5555573055d0, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1933
    #91 0x00007fffedc4df45 in ImplCallCommand (pChild=..., nEvt=CommandEventId::ContextMenu, pData=0x0, bMouse=true, pPos=0x7fffffff7950) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:258
    #92 0x00007fffedc4d68c in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONDOWN, bMouseLeave=false, nX=125, nY=130, nMsgTime=71004093, nCode=4, nMode=MouseEventModifiers::NONE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:827
    #93 0x00007fffedc51581 in ImplHandleSalMouseButtonDown (pWindow=0x5555578924d0, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2367
    #94 0x00007fffedc501f1 in ImplWindowFrameProc (_pWindow=0x5555578924d0, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2705
    #95 0x00007fffe6215dcc in SalFrame::CallCallback (this=0x555557805e30, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at vcl/inc/salframe.hxx:310
    #96 0x00007fffe62be199 in X11SalFrame::HandleMouseEvent (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:2575
    #97 0x00007fffe62c1e97 in X11SalFrame::Dispatch (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:3642
    #98 0x00007fffe6231f7b in SalX11Display::Dispatch (this=0x555556884440, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1966
    #99 0x00007fffe6231802 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1865
    #100 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #101 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #102 0x00007fffe6222261 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:751
    #103 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #104 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #105 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #106 0x00007fffeda927db in Dialog::Execute (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:1079
    #107 0x00007fffee2505ee in SalInstanceDialog::run (this=0x5555575f5100) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:1859
    #108 0x00007fffee6b4c6e in weld::DialogController::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/vcl/source/weld/DialogController.cxx:16
    #109 0x00007ffff3c68a94 in SfxTemplateManagerDlg::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:262
    #110 0x00007ffff36578af in SfxApplication::NewDocExec_Impl (this=0x555556dbccf0, rReq=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/appopen.cxx:473
    #111 0x00007ffff3650dd5 in SfxStubSfxApplicationNewDocExec_Impl (pShell=0x555556dbccf0, rReq=...) at workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1310
    #112 0x00007ffff37aa26e in SfxDispatcher::Call_Impl (this=0x555556979a30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #113 0x00007ffff37b0156 in SfxDispatcher::PostMsgHandler (this=0x555556979a30, pReq=std::unique_ptr<SfxRequest> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:997
    #114 0x00007ffff3ca5458 in SfxHintPoster::DoEvent_Impl (this=0x555556db3930, pPostedHint=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:74
    #115 0x00007ffff3ca539d in SfxHintPoster::LinkStubDoEvent_Impl (instance=0x555556db3930, data=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:54
    #116 0x00007fffedc583f1 in Link<void*, void>::Call (this=0x5555577cabb8, data=0x5555576ed980) at include/tools/link.hxx:105
    #117 0x00007fffedc53d11 in ImplHandleUserEvent (pSVEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
    #118 0x00007fffedc50c3f in ImplWindowFrameProc (_pWindow=0x555556db2f40, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
    #119 0x00007fffee830cbc in SalFrame::CallCallback (this=0x555556b048a0, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at vcl/inc/salframe.hxx:310
    #120 0x00007fffee85721f in SalGenericDisplay::ProcessEvent (this=0x555556884440, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #121 0x00007fffee234c9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb390) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #122 0x00007fffee234b6b in SalUserEventList::DispatchUserEvents (this=0x555556884440, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #123 0x00007fffee857175 in SalGenericDisplay::DispatchInternalEvent (this=0x555556884440, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #124 0x00007fffe6231784 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1856
    #125 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #126 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #127 0x00007fffe6221bc9 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:655
    #128 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #129 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #130 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #131 0x00007fffee2ff970 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
    #132 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd550) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
    #133 0x00007fffee329376 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #134 0x00007fffee32ae99 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #135 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #136 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #137 0x0000555555555a07 in main (argc=1, argv=0x7fffffffd758) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I06da3836405b46671785824fbcee8db863048685
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197637
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jan 22, 2026
... and position for each document"

The changes to LoadEnv in

    commit 8ce2cf3
    Date:   Mon May 12 01:29:55 2025 +0700

        tdf#41777 Add window size and position for each document

to create new frames when loading existing documents from
the start center and close the backing window cause
crashes for the tdf#170399 scenario of starting the template manager
from the start center and then editing a template by selecting
the "Edit" entry from its context menu.

Revert the changes to that class for now, to fix the crashes.

In a quick test with the gen VCL plugin, this causes documents
opened from the start center to no longer be restored in the
position that they were in previously, while opening documents
directly (i.e. not from start center) still results in them
getting restored at the previous location. (Tested with two
different documents that were saved and closed in different
locations on the screen and both were restored at their
original location.)

This partially reverts commit 8ce2cf3.

Backtrace for the gen VCL plugin without this commit in place:

    warn:legacy.osl:835647:835647:vcl/source/window/window.cxx:307: Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()
    Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()

    Thread 1 "soffice.bin" 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
    (gdb) 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  0x00007ffff769749f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007ffff7640942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff76284ac in __GI_abort () at ./stdlib/abort.c:77
    #4  0x00007fffee2339db in SalAbort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403
    #5  0x00007fffee2ff4b1 in Application::Abort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300
    #6  0x00007fffedc25c54 in vcl::Window::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308
    #7  0x00007fffedc9e1c6 in Control::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:62
    #8  0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557305890) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #9  0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe72d0) at include/vcl/vclptr.hxx:208
    #10 0x00007ffff0069f57 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557168d30) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:250
    #11 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557168d30) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #12 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557168d80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #13 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe8798) at include/vcl/vclptr.hxx:208
    #14 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577d6d80) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #15 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555573c4dd0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #16 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #17 0x00007fffedafd800 in VclScrolledWindow::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1926
    #18 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555573c4e48) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #19 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe9eb8) at include/vcl/vclptr.hxx:208
    #20 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x55555788b020) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #21 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557722300) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #22 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557722300) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #23 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557722350) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #24 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeb5b8) at include/vcl/vclptr.hxx:208
    #25 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577a9df0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #26 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x55555772fe50) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #27 0x00007fffedc24eca in vcl::Window::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #28 0x00007fffedafb566 in VclFrame::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1493
    #29 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x55555772fea8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #30 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeccd8) at include/vcl/vclptr.hxx:208
    #31 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c1ac0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #32 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555572db4d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #33 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555572db4d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #34 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555572db520) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #35 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffee3d8) at include/vcl/vclptr.hxx:208
    #36 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c5650) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #37 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555576ebfe0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #38 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555576ebfe0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #39 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555576ec030) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #40 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffefad8) at include/vcl/vclptr.hxx:208
    #41 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c8d10) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #42 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557806110) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #43 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #44 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #45 0x00007fffeda8e38c in Dialog::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:632
    #46 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555578061f0) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #47 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff1338) at include/vcl/vclptr.hxx:208
    #48 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x555557897d70) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #49 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555578924d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #50 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #51 0x00007fffed9c1dc4 in ImplBorderWindow::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1615
    #52 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557892530) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #53 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff2b68) at include/vcl/vclptr.hxx:208
    #54 0x00007ffff006a6a7 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555556ef0dc0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:308
    #55 0x00007fffedc24eca in vcl::Window::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #56 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #57 0x00007fffedc596c1 in WorkWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:127
    #58 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555556ef0e80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #59 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff40e8) at include/vcl/vclptr.hxx:208
    #60 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555570cde30) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #61 0x00007ffff49f5fd9 in (anonymous namespace)::XFrameImpl::disposing (this=0x555556dd1610) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2184
    #62 0x00007ffff573a1f0 in cppu::WeakComponentImplHelperBase::dispose (this=0x555556dd1610) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
    #63 0x00007ffff4a02ba5 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose (this=0x555556dd1610) at include/cppuhelper/compbase.hxx:90
    #64 0x00007ffff49fb4d5 in (anonymous namespace)::XFrameImpl::close (this=0x555556dd1610, bDeliverOwnership=0 '\000') at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1731
    #65 0x00007ffff4829850 in framework::pattern::frame::closeIt (xResource=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x555556dd1680) at framework/source/inc/pattern/frame.hxx:57
    #66 0x00007ffff49b92fd in framework::LoadEnv::impl_reactForLoadingState (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1655
    #67 0x00007ffff49b8cf6 in framework::LoadEnv::impl_setResult (this=0x7fffffff57b8, bResult=true) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:537
    #68 0x00007ffff49b8b31 in framework::LoadEnv::impl_loadContent (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1184
    #69 0x00007ffff49b5c85 in framework::LoadEnv::start (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:417
    #70 0x00007ffff49b3982 in framework::LoadEnv::startLoading
        (this=0x7fffffff57b8, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", lMediaDescriptor=uno::Sequence of length 3 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555568ac098, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::WorkWithUI) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:313
    #71 0x00007ffff49b2282 in framework::LoadEnv::loadComponentFromURL
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555568ac0a8, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55555559d808, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:169
    #72 0x00007ffff49e45d2 in framework::Desktop::loadComponentFromURL
        (this=0x5555568ac030, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:594
    #73 0x00007ffff49e4734 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #74 0x00007ffff3c6ef72 in SfxTemplateManagerDlg::EditTemplateHdl (this=0x7fffffffa218, rTemplatePath="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:715
    #75 0x00007ffff3c67eed in SfxTemplateManagerDlg::LinkStubEditTemplateHdl (instance=0x7fffffffa218, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:704
    #76 0x00007ffff36af081 in Link<rtl::OUString const&, void>::Call (this=0x7fffffffa520, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at include/tools/link.hxx:105
    #77 0x00007ffff382c9ab in TemplateDlgLocalView::ContextMenuSelectHdl (this=0x7fffffffa320, rIdent=u"edit") at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:154
    #78 0x00007ffff382c66a in TemplateDlgLocalView::createContextMenu (this=0x7fffffffa320, bIsDefault=false, bIsBuiltIn=true, bIsSingleSel=true, rDefaultImg="res/odt_16_8.png")
        at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:140
    #79 0x00007ffff3c6e710 in SfxTemplateManagerDlg::CreateContextMenuHdl (this=0x7fffffffa218, pItem=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:680
    #80 0x00007ffff3c67e5d in SfxTemplateManagerDlg::LinkStubCreateContextMenuHdl (instance=0x7fffffffa218, data=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:649
    #81 0x00007ffff381bce1 in Link<TemplateViewItem*, void>::Call (this=0x7fffffffa4e0, data=0x55555788ca90) at include/tools/link.hxx:105
    #82 0x00007ffff3816e34 in TemplateLocalView::Command (this=0x7fffffffa320, rCEvt=...) at /home/michi/development/git/libreoffice/sfx2/source/control/templatelocalview.cxx:718
    #83 0x00007fffee228e11 in weld::CustomWeld::DoCommand (this=0x55555779d480, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:102
    #84 0x00007fffee228b1d in weld::CustomWeld::LinkStubDoCommand (instance=0x55555779d480, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:100
    #85 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x555557703ef0, data=...) at include/tools/link.hxx:105
    #86 0x00007fffee2813f1 in weld::Widget::signal_command (this=0x555557703ee0, rCEvt=...) at include/vcl/weld/weld.hxx:109
    #87 0x00007fffee247e74 in SalInstanceWidget::CommandHdl (this=0x555557703eb0, rEvent=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:819
    #88 0x00007fffee244ccd in SalInstanceWidget::LinkStubCommandHdl (instance=0x555557703eb0, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:817
    #89 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x5555577f1080, data=...) at include/tools/link.hxx:105
    #90 0x00007fffedc2f524 in vcl::Window::Command (this=0x5555573055d0, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1933
    #91 0x00007fffedc4df45 in ImplCallCommand (pChild=..., nEvt=CommandEventId::ContextMenu, pData=0x0, bMouse=true, pPos=0x7fffffff7950) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:258
    #92 0x00007fffedc4d68c in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONDOWN, bMouseLeave=false, nX=125, nY=130, nMsgTime=71004093, nCode=4, nMode=MouseEventModifiers::NONE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:827
    #93 0x00007fffedc51581 in ImplHandleSalMouseButtonDown (pWindow=0x5555578924d0, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2367
    #94 0x00007fffedc501f1 in ImplWindowFrameProc (_pWindow=0x5555578924d0, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2705
    #95 0x00007fffe6215dcc in SalFrame::CallCallback (this=0x555557805e30, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at vcl/inc/salframe.hxx:310
    #96 0x00007fffe62be199 in X11SalFrame::HandleMouseEvent (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:2575
    #97 0x00007fffe62c1e97 in X11SalFrame::Dispatch (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:3642
    #98 0x00007fffe6231f7b in SalX11Display::Dispatch (this=0x555556884440, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1966
    #99 0x00007fffe6231802 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1865
    #100 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #101 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #102 0x00007fffe6222261 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:751
    #103 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #104 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #105 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #106 0x00007fffeda927db in Dialog::Execute (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:1079
    #107 0x00007fffee2505ee in SalInstanceDialog::run (this=0x5555575f5100) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:1859
    #108 0x00007fffee6b4c6e in weld::DialogController::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/vcl/source/weld/DialogController.cxx:16
    #109 0x00007ffff3c68a94 in SfxTemplateManagerDlg::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:262
    #110 0x00007ffff36578af in SfxApplication::NewDocExec_Impl (this=0x555556dbccf0, rReq=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/appopen.cxx:473
    #111 0x00007ffff3650dd5 in SfxStubSfxApplicationNewDocExec_Impl (pShell=0x555556dbccf0, rReq=...) at workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1310
    #112 0x00007ffff37aa26e in SfxDispatcher::Call_Impl (this=0x555556979a30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #113 0x00007ffff37b0156 in SfxDispatcher::PostMsgHandler (this=0x555556979a30, pReq=std::unique_ptr<SfxRequest> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:997
    #114 0x00007ffff3ca5458 in SfxHintPoster::DoEvent_Impl (this=0x555556db3930, pPostedHint=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:74
    #115 0x00007ffff3ca539d in SfxHintPoster::LinkStubDoEvent_Impl (instance=0x555556db3930, data=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:54
    #116 0x00007fffedc583f1 in Link<void*, void>::Call (this=0x5555577cabb8, data=0x5555576ed980) at include/tools/link.hxx:105
    #117 0x00007fffedc53d11 in ImplHandleUserEvent (pSVEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
    #118 0x00007fffedc50c3f in ImplWindowFrameProc (_pWindow=0x555556db2f40, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
    #119 0x00007fffee830cbc in SalFrame::CallCallback (this=0x555556b048a0, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at vcl/inc/salframe.hxx:310
    #120 0x00007fffee85721f in SalGenericDisplay::ProcessEvent (this=0x555556884440, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #121 0x00007fffee234c9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb390) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #122 0x00007fffee234b6b in SalUserEventList::DispatchUserEvents (this=0x555556884440, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #123 0x00007fffee857175 in SalGenericDisplay::DispatchInternalEvent (this=0x555556884440, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #124 0x00007fffe6231784 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1856
    #125 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #126 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #127 0x00007fffe6221bc9 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:655
    #128 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #129 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #130 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #131 0x00007fffee2ff970 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
    #132 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd550) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
    #133 0x00007fffee329376 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #134 0x00007fffee32ae99 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #135 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #136 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #137 0x0000555555555a07 in main (argc=1, argv=0x7fffffffd758) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I06da3836405b46671785824fbcee8db863048685
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197637
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit ab7a187)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197720
Reviewed-by: Ilmari Lauhakangas <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Jan 22, 2026
... and position for each document"

The changes to LoadEnv in

    commit 8ce2cf3
    Date:   Mon May 12 01:29:55 2025 +0700

        tdf#41777 Add window size and position for each document

to create new frames when loading existing documents from
the start center and close the backing window cause
crashes for the tdf#170399 scenario of starting the template manager
from the start center and then editing a template by selecting
the "Edit" entry from its context menu.

Revert the changes to that class for now, to fix the crashes.

In a quick test with the gen VCL plugin, this causes documents
opened from the start center to no longer be restored in the
position that they were in previously, while opening documents
directly (i.e. not from start center) still results in them
getting restored at the previous location. (Tested with two
different documents that were saved and closed in different
locations on the screen and both were restored at their
original location.)

This partially reverts commit 8ce2cf3.

Backtrace for the gen VCL plugin without this commit in place:

    warn:legacy.osl:835647:835647:vcl/source/window/window.cxx:307: Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()
    Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()

    Thread 1 "soffice.bin" 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
    (gdb) 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  0x00007ffff769749f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007ffff7640942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff76284ac in __GI_abort () at ./stdlib/abort.c:77
    #4  0x00007fffee2339db in SalAbort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403
    #5  0x00007fffee2ff4b1 in Application::Abort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300
    #6  0x00007fffedc25c54 in vcl::Window::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308
    #7  0x00007fffedc9e1c6 in Control::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:62
    #8  0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557305890) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #9  0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe72d0) at include/vcl/vclptr.hxx:208
    #10 0x00007ffff0069f57 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557168d30) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:250
    #11 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557168d30) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #12 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557168d80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #13 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe8798) at include/vcl/vclptr.hxx:208
    #14 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577d6d80) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #15 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555573c4dd0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #16 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #17 0x00007fffedafd800 in VclScrolledWindow::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1926
    #18 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555573c4e48) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #19 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe9eb8) at include/vcl/vclptr.hxx:208
    #20 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x55555788b020) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #21 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557722300) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #22 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557722300) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #23 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557722350) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #24 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeb5b8) at include/vcl/vclptr.hxx:208
    #25 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577a9df0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #26 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x55555772fe50) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #27 0x00007fffedc24eca in vcl::Window::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #28 0x00007fffedafb566 in VclFrame::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1493
    #29 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x55555772fea8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #30 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeccd8) at include/vcl/vclptr.hxx:208
    #31 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c1ac0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #32 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555572db4d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #33 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555572db4d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #34 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555572db520) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #35 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffee3d8) at include/vcl/vclptr.hxx:208
    #36 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c5650) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #37 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555576ebfe0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #38 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555576ebfe0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #39 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555576ec030) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #40 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffefad8) at include/vcl/vclptr.hxx:208
    #41 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c8d10) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #42 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557806110) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #43 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #44 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #45 0x00007fffeda8e38c in Dialog::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:632
    #46 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555578061f0) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #47 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff1338) at include/vcl/vclptr.hxx:208
    #48 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x555557897d70) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #49 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555578924d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #50 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #51 0x00007fffed9c1dc4 in ImplBorderWindow::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1615
    #52 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557892530) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #53 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff2b68) at include/vcl/vclptr.hxx:208
    #54 0x00007ffff006a6a7 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555556ef0dc0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:308
    #55 0x00007fffedc24eca in vcl::Window::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #56 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #57 0x00007fffedc596c1 in WorkWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:127
    #58 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555556ef0e80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #59 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff40e8) at include/vcl/vclptr.hxx:208
    #60 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555570cde30) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #61 0x00007ffff49f5fd9 in (anonymous namespace)::XFrameImpl::disposing (this=0x555556dd1610) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2184
    #62 0x00007ffff573a1f0 in cppu::WeakComponentImplHelperBase::dispose (this=0x555556dd1610) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
    #63 0x00007ffff4a02ba5 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose (this=0x555556dd1610) at include/cppuhelper/compbase.hxx:90
    #64 0x00007ffff49fb4d5 in (anonymous namespace)::XFrameImpl::close (this=0x555556dd1610, bDeliverOwnership=0 '\000') at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1731
    #65 0x00007ffff4829850 in framework::pattern::frame::closeIt (xResource=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x555556dd1680) at framework/source/inc/pattern/frame.hxx:57
    #66 0x00007ffff49b92fd in framework::LoadEnv::impl_reactForLoadingState (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1655
    #67 0x00007ffff49b8cf6 in framework::LoadEnv::impl_setResult (this=0x7fffffff57b8, bResult=true) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:537
    #68 0x00007ffff49b8b31 in framework::LoadEnv::impl_loadContent (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1184
    #69 0x00007ffff49b5c85 in framework::LoadEnv::start (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:417
    #70 0x00007ffff49b3982 in framework::LoadEnv::startLoading
        (this=0x7fffffff57b8, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", lMediaDescriptor=uno::Sequence of length 3 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555568ac098, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::WorkWithUI) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:313
    #71 0x00007ffff49b2282 in framework::LoadEnv::loadComponentFromURL
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555568ac0a8, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55555559d808, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:169
    #72 0x00007ffff49e45d2 in framework::Desktop::loadComponentFromURL
        (this=0x5555568ac030, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:594
    #73 0x00007ffff49e4734 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #74 0x00007ffff3c6ef72 in SfxTemplateManagerDlg::EditTemplateHdl (this=0x7fffffffa218, rTemplatePath="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:715
    #75 0x00007ffff3c67eed in SfxTemplateManagerDlg::LinkStubEditTemplateHdl (instance=0x7fffffffa218, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:704
    #76 0x00007ffff36af081 in Link<rtl::OUString const&, void>::Call (this=0x7fffffffa520, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at include/tools/link.hxx:105
    #77 0x00007ffff382c9ab in TemplateDlgLocalView::ContextMenuSelectHdl (this=0x7fffffffa320, rIdent=u"edit") at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:154
    #78 0x00007ffff382c66a in TemplateDlgLocalView::createContextMenu (this=0x7fffffffa320, bIsDefault=false, bIsBuiltIn=true, bIsSingleSel=true, rDefaultImg="res/odt_16_8.png")
        at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:140
    #79 0x00007ffff3c6e710 in SfxTemplateManagerDlg::CreateContextMenuHdl (this=0x7fffffffa218, pItem=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:680
    #80 0x00007ffff3c67e5d in SfxTemplateManagerDlg::LinkStubCreateContextMenuHdl (instance=0x7fffffffa218, data=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:649
    #81 0x00007ffff381bce1 in Link<TemplateViewItem*, void>::Call (this=0x7fffffffa4e0, data=0x55555788ca90) at include/tools/link.hxx:105
    #82 0x00007ffff3816e34 in TemplateLocalView::Command (this=0x7fffffffa320, rCEvt=...) at /home/michi/development/git/libreoffice/sfx2/source/control/templatelocalview.cxx:718
    #83 0x00007fffee228e11 in weld::CustomWeld::DoCommand (this=0x55555779d480, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:102
    #84 0x00007fffee228b1d in weld::CustomWeld::LinkStubDoCommand (instance=0x55555779d480, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:100
    #85 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x555557703ef0, data=...) at include/tools/link.hxx:105
    #86 0x00007fffee2813f1 in weld::Widget::signal_command (this=0x555557703ee0, rCEvt=...) at include/vcl/weld/weld.hxx:109
    #87 0x00007fffee247e74 in SalInstanceWidget::CommandHdl (this=0x555557703eb0, rEvent=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:819
    #88 0x00007fffee244ccd in SalInstanceWidget::LinkStubCommandHdl (instance=0x555557703eb0, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:817
    #89 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x5555577f1080, data=...) at include/tools/link.hxx:105
    #90 0x00007fffedc2f524 in vcl::Window::Command (this=0x5555573055d0, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1933
    #91 0x00007fffedc4df45 in ImplCallCommand (pChild=..., nEvt=CommandEventId::ContextMenu, pData=0x0, bMouse=true, pPos=0x7fffffff7950) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:258
    #92 0x00007fffedc4d68c in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONDOWN, bMouseLeave=false, nX=125, nY=130, nMsgTime=71004093, nCode=4, nMode=MouseEventModifiers::NONE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:827
    #93 0x00007fffedc51581 in ImplHandleSalMouseButtonDown (pWindow=0x5555578924d0, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2367
    #94 0x00007fffedc501f1 in ImplWindowFrameProc (_pWindow=0x5555578924d0, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2705
    #95 0x00007fffe6215dcc in SalFrame::CallCallback (this=0x555557805e30, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at vcl/inc/salframe.hxx:310
    #96 0x00007fffe62be199 in X11SalFrame::HandleMouseEvent (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:2575
    #97 0x00007fffe62c1e97 in X11SalFrame::Dispatch (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:3642
    #98 0x00007fffe6231f7b in SalX11Display::Dispatch (this=0x555556884440, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1966
    #99 0x00007fffe6231802 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1865
    #100 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #101 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #102 0x00007fffe6222261 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:751
    #103 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #104 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #105 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #106 0x00007fffeda927db in Dialog::Execute (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:1079
    #107 0x00007fffee2505ee in SalInstanceDialog::run (this=0x5555575f5100) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:1859
    #108 0x00007fffee6b4c6e in weld::DialogController::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/vcl/source/weld/DialogController.cxx:16
    #109 0x00007ffff3c68a94 in SfxTemplateManagerDlg::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:262
    #110 0x00007ffff36578af in SfxApplication::NewDocExec_Impl (this=0x555556dbccf0, rReq=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/appopen.cxx:473
    #111 0x00007ffff3650dd5 in SfxStubSfxApplicationNewDocExec_Impl (pShell=0x555556dbccf0, rReq=...) at workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1310
    #112 0x00007ffff37aa26e in SfxDispatcher::Call_Impl (this=0x555556979a30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #113 0x00007ffff37b0156 in SfxDispatcher::PostMsgHandler (this=0x555556979a30, pReq=std::unique_ptr<SfxRequest> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:997
    #114 0x00007ffff3ca5458 in SfxHintPoster::DoEvent_Impl (this=0x555556db3930, pPostedHint=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:74
    #115 0x00007ffff3ca539d in SfxHintPoster::LinkStubDoEvent_Impl (instance=0x555556db3930, data=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:54
    #116 0x00007fffedc583f1 in Link<void*, void>::Call (this=0x5555577cabb8, data=0x5555576ed980) at include/tools/link.hxx:105
    #117 0x00007fffedc53d11 in ImplHandleUserEvent (pSVEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
    #118 0x00007fffedc50c3f in ImplWindowFrameProc (_pWindow=0x555556db2f40, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
    #119 0x00007fffee830cbc in SalFrame::CallCallback (this=0x555556b048a0, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at vcl/inc/salframe.hxx:310
    #120 0x00007fffee85721f in SalGenericDisplay::ProcessEvent (this=0x555556884440, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #121 0x00007fffee234c9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb390) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #122 0x00007fffee234b6b in SalUserEventList::DispatchUserEvents (this=0x555556884440, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #123 0x00007fffee857175 in SalGenericDisplay::DispatchInternalEvent (this=0x555556884440, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #124 0x00007fffe6231784 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1856
    #125 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #126 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #127 0x00007fffe6221bc9 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:655
    #128 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #129 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #130 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #131 0x00007fffee2ff970 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
    #132 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd550) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
    #133 0x00007fffee329376 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #134 0x00007fffee32ae99 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #135 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #136 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #137 0x0000555555555a07 in main (argc=1, argv=0x7fffffffd758) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I06da3836405b46671785824fbcee8db863048685
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197637
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit ab7a187)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197722
Tested-by: Ilmari Lauhakangas <[email protected]>
Reviewed-by: Ilmari Lauhakangas <[email protected]>
tdf-gerrit pushed a commit that referenced this pull request Feb 1, 2026
... and position for each document"

The changes to LoadEnv in

    commit 8ce2cf3
    Date:   Mon May 12 01:29:55 2025 +0700

        tdf#41777 Add window size and position for each document

to create new frames when loading existing documents from
the start center and close the backing window cause
crashes for the tdf#170399 scenario of starting the template manager
from the start center and then editing a template by selecting
the "Edit" entry from its context menu.

Revert the changes to that class for now, to fix the crashes.

In a quick test with the gen VCL plugin, this causes documents
opened from the start center to no longer be restored in the
position that they were in previously, while opening documents
directly (i.e. not from start center) still results in them
getting restored at the previous location. (Tested with two
different documents that were saved and closed in different
locations on the screen and both were restored at their
original location.)

This partially reverts commit 8ce2cf3.

Backtrace for the gen VCL plugin without this commit in place:

    warn:legacy.osl:835647:835647:vcl/source/window/window.cxx:307: Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()
    Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()

    Thread 1 "soffice.bin" 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
    (gdb) 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  0x00007ffff769749f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
    #2  0x00007ffff7640942 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
    #3  0x00007ffff76284ac in __GI_abort () at ./stdlib/abort.c:77
    #4  0x00007fffee2339db in SalAbort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403
    #5  0x00007fffee2ff4b1 in Application::Abort (rErrorText="Window ( 14VclDrawingArea()) with live SystemWindows destroyed:  18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300
    #6  0x00007fffedc25c54 in vcl::Window::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308
    #7  0x00007fffedc9e1c6 in Control::dispose (this=0x5555573055d0) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:62
    #8  0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557305890) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #9  0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe72d0) at include/vcl/vclptr.hxx:208
    #10 0x00007ffff0069f57 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557168d30) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:250
    #11 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557168d30) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #12 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557168d80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #13 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe8798) at include/vcl/vclptr.hxx:208
    #14 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577d6d80) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #15 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555573c4dd0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #16 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #17 0x00007fffedafd800 in VclScrolledWindow::dispose (this=0x5555573c4dd0) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1926
    #18 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555573c4e48) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #19 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffe9eb8) at include/vcl/vclptr.hxx:208
    #20 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x55555788b020) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #21 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557722300) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #22 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557722300) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #23 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557722350) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #24 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeb5b8) at include/vcl/vclptr.hxx:208
    #25 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577a9df0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #26 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x55555772fe50) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #27 0x00007fffedc24eca in vcl::Window::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #28 0x00007fffedafb566 in VclFrame::dispose (this=0x55555772fe50) at /home/michi/development/git/libreoffice/vcl/source/window/layout.cxx:1493
    #29 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x55555772fea8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #30 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffeccd8) at include/vcl/vclptr.hxx:208
    #31 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c1ac0) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #32 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555572db4d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #33 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555572db4d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #34 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555572db520) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #35 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffee3d8) at include/vcl/vclptr.hxx:208
    #36 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c5650) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #37 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555576ebfe0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #38 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555576ebfe0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #39 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555576ec030) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #40 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7ffffffefad8) at include/vcl/vclptr.hxx:208
    #41 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555577c8d10) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #42 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555557806110) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #43 0x00007fffedc24eca in vcl::Window::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #44 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #45 0x00007fffeda8e38c in Dialog::dispose (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:632
    #46 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x5555578061f0) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #47 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff1338) at include/vcl/vclptr.hxx:208
    #48 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x555557897d70) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #49 0x00007ffff0069ec2 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x5555578924d0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:244
    #50 0x00007fffedc24eca in vcl::Window::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #51 0x00007fffed9c1dc4 in ImplBorderWindow::dispose (this=0x5555578924d0) at /home/michi/development/git/libreoffice/vcl/source/window/brdwin.cxx:1615
    #52 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555557892530) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #53 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff2b68) at include/vcl/vclptr.hxx:208
    #54 0x00007ffff006a6a7 in UnoWrapper::WindowDestroyed (this=0x5555568aaf90, pWindow=0x555556ef0dc0) at /home/michi/development/git/libreoffice/toolkit/source/helper/unowrapper.cxx:308
    #55 0x00007fffedc24eca in vcl::Window::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:217
    #56 0x00007fffedbc4b04 in SystemWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/syswin.cxx:119
    #57 0x00007fffedc596c1 in WorkWindow::dispose (this=0x555556ef0dc0) at /home/michi/development/git/libreoffice/vcl/source/window/wrkwin.cxx:127
    #58 0x00007fffedea0d53 in VclReferenceBase::disposeOnce (this=0x555556ef0e80) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38
    #59 0x00007fffefd29a75 in VclPtr<vcl::Window>::disposeAndClear (this=0x7fffffff40e8) at include/vcl/vclptr.hxx:208
    #60 0x00007fffefd1c382 in VCLXWindow::dispose (this=0x5555570cde30) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxwindow.cxx:905
    #61 0x00007ffff49f5fd9 in (anonymous namespace)::XFrameImpl::disposing (this=0x555556dd1610) at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:2184
    #62 0x00007ffff573a1f0 in cppu::WeakComponentImplHelperBase::dispose (this=0x555556dd1610) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
    #63 0x00007ffff4a02ba5 in cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo, com::sun::star::frame::XFrame2, com::sun::star::awt::XWindowListener, com::sun::star::awt::XTopWindowListener, com::sun::star::awt::XFocusListener, com::sun::star::document::XActionLockable, com::sun::star::util::XCloseable, com::sun::star::frame::XComponentLoader, com::sun::star::frame::XTitle, com::sun::star::frame::XTitleChangeBroadcaster, com::sun::star::beans::XPropertySet, com::sun::star::beans::XPropertySetInfo>::dispose (this=0x555556dd1610) at include/cppuhelper/compbase.hxx:90
    #64 0x00007ffff49fb4d5 in (anonymous namespace)::XFrameImpl::close (this=0x555556dd1610, bDeliverOwnership=0 '\000') at /home/michi/development/git/libreoffice/framework/source/services/frame.cxx:1731
    #65 0x00007ffff4829850 in framework::pattern::frame::closeIt (xResource=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x555556dd1680) at framework/source/inc/pattern/frame.hxx:57
    #66 0x00007ffff49b92fd in framework::LoadEnv::impl_reactForLoadingState (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1655
    #67 0x00007ffff49b8cf6 in framework::LoadEnv::impl_setResult (this=0x7fffffff57b8, bResult=true) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:537
    #68 0x00007ffff49b8b31 in framework::LoadEnv::impl_loadContent (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1184
    #69 0x00007ffff49b5c85 in framework::LoadEnv::start (this=0x7fffffff57b8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:417
    #70 0x00007ffff49b3982 in framework::LoadEnv::startLoading
        (this=0x7fffffff57b8, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", lMediaDescriptor=uno::Sequence of length 3 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x5555568ac098, sTarget="_default", nSearchFlags=0, eFeature=LoadEnvFeatures::WorkWithUI) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:313
    #71 0x00007ffff49b2282 in framework::LoadEnv::loadComponentFromURL
        (xLoader=uno::Reference to (framework::Desktop *) 0x5555568ac0a8, xContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55555559d808, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTarget="_default", nSearchFlags=0, lArgs=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:169
    #72 0x00007ffff49e45d2 in framework::Desktop::loadComponentFromURL
        (this=0x5555568ac030, sURL="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott", sTargetFrameName="_default", nSearchFlags=0, lArguments=uno::Sequence of length 3 = {...}) at /home/michi/development/git/libreoffice/framework/source/services/desktop.cxx:594
    #73 0x00007ffff49e4734 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) ()
        at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so
    #74 0x00007ffff3c6ef72 in SfxTemplateManagerDlg::EditTemplateHdl (this=0x7fffffffa218, rTemplatePath="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:715
    #75 0x00007ffff3c67eed in SfxTemplateManagerDlg::LinkStubEditTemplateHdl (instance=0x7fffffffa218, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:704
    #76 0x00007ffff36af081 in Link<rtl::OUString const&, void>::Call (this=0x7fffffffa520, data="file:///home/michi/development/git/libreoffice/instdir/share/template/common/officorr/Modern_business_letter_sans_serif.ott")
        at include/tools/link.hxx:105
    #77 0x00007ffff382c9ab in TemplateDlgLocalView::ContextMenuSelectHdl (this=0x7fffffffa320, rIdent=u"edit") at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:154
    #78 0x00007ffff382c66a in TemplateDlgLocalView::createContextMenu (this=0x7fffffffa320, bIsDefault=false, bIsBuiltIn=true, bIsSingleSel=true, rDefaultImg="res/odt_16_8.png")
        at /home/michi/development/git/libreoffice/sfx2/source/control/templatedlglocalview.cxx:140
    #79 0x00007ffff3c6e710 in SfxTemplateManagerDlg::CreateContextMenuHdl (this=0x7fffffffa218, pItem=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:680
    #80 0x00007ffff3c67e5d in SfxTemplateManagerDlg::LinkStubCreateContextMenuHdl (instance=0x7fffffffa218, data=0x55555788ca90) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:649
    #81 0x00007ffff381bce1 in Link<TemplateViewItem*, void>::Call (this=0x7fffffffa4e0, data=0x55555788ca90) at include/tools/link.hxx:105
    #82 0x00007ffff3816e34 in TemplateLocalView::Command (this=0x7fffffffa320, rCEvt=...) at /home/michi/development/git/libreoffice/sfx2/source/control/templatelocalview.cxx:718
    #83 0x00007fffee228e11 in weld::CustomWeld::DoCommand (this=0x55555779d480, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:102
    #84 0x00007fffee228b1d in weld::CustomWeld::LinkStubDoCommand (instance=0x55555779d480, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:100
    #85 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x555557703ef0, data=...) at include/tools/link.hxx:105
    #86 0x00007fffee2813f1 in weld::Widget::signal_command (this=0x555557703ee0, rCEvt=...) at include/vcl/weld/weld.hxx:109
    #87 0x00007fffee247e74 in SalInstanceWidget::CommandHdl (this=0x555557703eb0, rEvent=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:819
    #88 0x00007fffee244ccd in SalInstanceWidget::LinkStubCommandHdl (instance=0x555557703eb0, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:817
    #89 0x00007fffeda99ed6 in Link<CommandEvent const&, bool>::Call (this=0x5555577f1080, data=...) at include/tools/link.hxx:105
    #90 0x00007fffedc2f524 in vcl::Window::Command (this=0x5555573055d0, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:1933
    #91 0x00007fffedc4df45 in ImplCallCommand (pChild=..., nEvt=CommandEventId::ContextMenu, pData=0x0, bMouse=true, pPos=0x7fffffff7950) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:258
    #92 0x00007fffedc4d68c in ImplHandleMouseEvent (xWindow=..., nSVEvent=NotifyEventType::MOUSEBUTTONDOWN, bMouseLeave=false, nX=125, nY=130, nMsgTime=71004093, nCode=4, nMode=MouseEventModifiers::NONE)
        at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:827
    #93 0x00007fffedc51581 in ImplHandleSalMouseButtonDown (pWindow=0x5555578924d0, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2367
    #94 0x00007fffedc501f1 in ImplWindowFrameProc (_pWindow=0x5555578924d0, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2705
    #95 0x00007fffe6215dcc in SalFrame::CallCallback (this=0x555557805e30, nEvent=SalEvent::MouseButtonDown, pEvent=0x7fffffff8998) at vcl/inc/salframe.hxx:310
    #96 0x00007fffe62be199 in X11SalFrame::HandleMouseEvent (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:2575
    #97 0x00007fffe62c1e97 in X11SalFrame::Dispatch (this=0x555557805e30, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/window/salframe.cxx:3642
    #98 0x00007fffe6231f7b in SalX11Display::Dispatch (this=0x555556884440, pEvent=0x7fffffff8e68) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1966
    #99 0x00007fffe6231802 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1865
    #100 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #101 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #102 0x00007fffe6222261 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:751
    #103 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #104 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #105 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #106 0x00007fffeda927db in Dialog::Execute (this=0x555557806110) at /home/michi/development/git/libreoffice/vcl/source/window/dialog.cxx:1079
    #107 0x00007fffee2505ee in SalInstanceDialog::run (this=0x5555575f5100) at /home/michi/development/git/libreoffice/vcl/source/app/salvtables.cxx:1859
    #108 0x00007fffee6b4c6e in weld::DialogController::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/vcl/source/weld/DialogController.cxx:16
    #109 0x00007ffff3c68a94 in SfxTemplateManagerDlg::run (this=0x7fffffffa218) at /home/michi/development/git/libreoffice/sfx2/source/doc/templatedlg.cxx:262
    #110 0x00007ffff36578af in SfxApplication::NewDocExec_Impl (this=0x555556dbccf0, rReq=...) at /home/michi/development/git/libreoffice/sfx2/source/appl/appopen.cxx:473
    #111 0x00007ffff3650dd5 in SfxStubSfxApplicationNewDocExec_Impl (pShell=0x555556dbccf0, rReq=...) at workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:1310
    #112 0x00007ffff37aa26e in SfxDispatcher::Call_Impl (this=0x555556979a30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:256
    #113 0x00007ffff37b0156 in SfxDispatcher::PostMsgHandler (this=0x555556979a30, pReq=std::unique_ptr<SfxRequest> = {...}) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:997
    #114 0x00007ffff3ca5458 in SfxHintPoster::DoEvent_Impl (this=0x555556db3930, pPostedHint=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:74
    #115 0x00007ffff3ca539d in SfxHintPoster::LinkStubDoEvent_Impl (instance=0x555556db3930, data=0x5555576ed980) at /home/michi/development/git/libreoffice/sfx2/source/notify/hintpost.cxx:54
    #116 0x00007fffedc583f1 in Link<void*, void>::Call (this=0x5555577cabb8, data=0x5555576ed980) at include/tools/link.hxx:105
    #117 0x00007fffedc53d11 in ImplHandleUserEvent (pSVEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2314
    #118 0x00007fffedc50c3f in ImplWindowFrameProc (_pWindow=0x555556db2f40, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2871
    #119 0x00007fffee830cbc in SalFrame::CallCallback (this=0x555556b048a0, nEvent=SalEvent::UserEvent, pEvent=0x5555577cabb0) at vcl/inc/salframe.hxx:310
    #120 0x00007fffee85721f in SalGenericDisplay::ProcessEvent (this=0x555556884440, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66
    #121 0x00007fffee234c9d in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7fffffffb390) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119
    #122 0x00007fffee234b6b in SalUserEventList::DispatchUserEvents (this=0x555556884440, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120
    #123 0x00007fffee857175 in SalGenericDisplay::DispatchInternalEvent (this=0x555556884440, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51
    #124 0x00007fffe6231784 in SalX11Display::Yield (this=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:1856
    #125 0x00007fffe62267df in DisplayYield (fd=5, data=0x555556884440) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldisp.cxx:317
    #126 0x00007fffe622235c in (anonymous namespace)::YieldEntry::HandleNextEvent (this=0x7fffe63191e8 <yieldTable+200>) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:559
    #127 0x00007fffe6221bc9 in SalXLib::Yield (this=0x5555555a3b00, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/saldata.cxx:655
    #128 0x00007fffe623f29d in X11SalInstance::DoYield (this=0x5555555a1ba0, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/salinst.cxx:189
    #129 0x00007fffee300306 in InnerYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:389
    #130 0x00007fffee2ffb8f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:502
    #131 0x00007fffee2ff970 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:364
    #132 0x00007ffff7b228b5 in desktop::Desktop::Main (this=0x7fffffffd550) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1681
    #133 0x00007fffee329376 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230
    #134 0x00007fffee32ae99 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248
    #135 0x00007ffff7b9c86a in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122
    #136 0x0000555555555a2d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51
    #137 0x0000555555555a07 in main (argc=1, argv=0x7fffffffd758) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49

Change-Id: I06da3836405b46671785824fbcee8db863048685
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197637
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <[email protected]>
(cherry picked from commit ab7a187)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197720
Reviewed-by: Ilmari Lauhakangas <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant