Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-135044

tst_QStringApiSymmetry fails under ASAN (GenerationalCollator is leaked?)

    XMLWordPrintable

Details

    • b5e47fa43 (6.9.0)

    Description

      Running tst_QStringApiSymmetry under ASAN reports a leak:

      169: Direct leak of 16 byte(s) in 1 object(s) allocated from:
      169:     #0 0x7f406c6342f8 in operator new(unsigned long) ../../../../gcc-14.2.0/libsanitizer/asan/asan_new_delete.cpp:95
      169:     #1 0x7f406ae49dee in qThreadStorage_localData<TestNamespace::(anonymous namespace)::GenerationalCollator> /home/peppe/projects/src/qt/qtbase/src/corelib/thread/qthreadstorage.h:76
      169:     #2 0x7f406ae49c58 in localData /home/peppe/projects/src/qt/qtbase/src/corelib/thread/qthreadstorage.h:118
      169:     #3 0x7f406ae4957e in TestNamespace::QCollator::defaultCompare(TestNamespace::QStringView, TestNamespace::QStringView) /home/peppe/projects/src/qt/qtbase/src/corelib/text/qcollator.cpp:362
      169:     #4 0x7f406aef404a in TestNamespace::QString::localeAwareCompare_helper(TestNamespace::QChar const*, long long, TestNamespace::QChar const*, long long) /home/peppe/projects/src/qt/qtbase/src/corelib/text/qstring.cpp:6990
      169:     #5 0x7f406aef3d44 in TestNamespace::QString::localeAwareCompare(TestNamespace::QString const&) const /home/peppe/projects/src/qt/qtbase/src/corelib/text/qstring.cpp:6969
      169:     #6 0x56537476dbdd in TestNamespace::QString::localeAwareCompare(TestNamespace::QString const&, TestNamespace::QString const&) /home/peppe/projects/src/qt/qtbase/src/corelib/text/qstring.h:842
      169:     #7 0x565374825b7d in void tst_QStringApiSymmetry::localeAwareCompare_impl<TestNamespace::QString, TestNamespace::QString>() /home/peppe/projects/src/qt/qtbase/tests/auto/corelib/text/qstringapisymmetry/tst_qstringapisymmetry.cpp:2044
      169:     #8 0x5653747784cd in tst_QStringApiSymmetry::localeAwareCompare_QString_QString() /home/peppe/projects/src/qt/qtbase/tests/auto/corelib/text/qstringapisymmetry/tst_qstringapisymmetry.cpp:457
      

      and several other similar leaks. The test itself succeeds.

      Has something changed in QThreadStorage/QGlobalStatic/... and now we deliberately leak global objects or is this a bug?

      Attachments

        For Gerrit Dashboard: QTBUG-135044
        # Subject Branch Project Status CR V

        Activity

          People

            thiago Thiago Macieira
            peppe Giuseppe D'Angelo
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: