crash on exit with std::optional created from u"FOO"_ustr

#0  0x00007ffff7edaa90 in rtl::str::release<_rtl_uString> (pThis=0x7fffd8fa7c00) at sal/rtl/strtmpl.hxx:745
 #1  0x00007ffff7eeb385 in rtl_uString_release (pThis=0x7fffd8fa7c00) at sal/rtl/ustring.cxx:1151
 #2  0x00007fffed56d058 in rtl::OUString::~OUString (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>) at include/rtl/ustring.hxx:546
 #3  0x00007fffed6084e9 in std::_Optional_payload_base<rtl::OUString>::_M_destroy (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>)
     at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/optional:287
 #4  0x00007fffed608497 in std::_Optional_payload_base<rtl::OUString>::_M_reset (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>)
     at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/optional:318
 #5  0x00007fffed608459 in std::_Optional_payload<rtl::OUString, false, false, false>::~_Optional_payload (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>)
     at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/optional:441
 #6  0x00007fffed608435 in std::_Optional_base<rtl::OUString, false, false>::~_Optional_base (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>)
     at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/optional:512
 #7  0x00007fffed607885 in std::optional<rtl::OUString>::~optional (this=0x7fffef433c28 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+560>)
     at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/optional:707
 #8  0x00007fffee14d910 in ImplSVAppData::~ImplSVAppData (this=0x7fffef433b20 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance+296>)
     at vcl/source/app/svdata.cxx:526
 #9  0x00007fffee14d480 in ImplSVData::~ImplSVData (this=0x7fffef4339f8 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance>) at vcl/source/app/svdata.cxx:518
 #10 0x00007ffff785ea2d in __cxa_finalize () at /lib64/libc.so.6
 #11 0x00007fffed55d287 in __do_global_dtors_aux () at instdir/program/libvcllo.so
 #12 0x00007fffffffd0f0 in ??? ()
 #13 0x00007ffff7fca0f2 in _dl_call_fini (closure_map=0x7ffff7657580) at dl-call_fini.c:43

presumably since:

commit 40dde4385c
Date:   Fri May 10 13:19:35 2024 +0200

    loplugin:ostr in vcl

Change-Id: Ie7562a933291522a2c458bdca70ca9b0a5f4048c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168560
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
This commit is contained in:
Caolán McNamara
2024-06-07 20:29:29 +02:00
parent 724c17602f
commit 3b71e059c1
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ X11SalInstance::X11SalInstance(std::unique_ptr<SalYieldMutex> pMutex)
, mpXLib(nullptr)
{
ImplSVData* pSVData = ImplGetSVData();
pSVData->maAppData.mxToolkitName = u"x11"_ustr;
pSVData->maAppData.mxToolkitName = OUString("x11");
m_bSupportsOpenGL = true;
#if HAVE_FEATURE_SKIA
X11SkiaSalGraphicsImpl::prepareSkia();
+1 -1
View File
@@ -247,7 +247,7 @@ void GtkInstance::EnsureInit()
#ifdef GTK_TOOLKIT_NAME
pSVData->maAppData.mxToolkitName = OUString(GTK_TOOLKIT_NAME);
#else
pSVData->maAppData.mxToolkitName = u"gtk3"_ustr;
pSVData->maAppData.mxToolkitName = OUString("gtk3");
#endif
bNeedsInit = false;