Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.10
-
None
-
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
Gerrit Reviews
For Gerrit Dashboard: QTBUG-135044 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
634259,1 | QThreadStorage: ensure global static exists when finish() is called | dev | qt/qtbase | Status: NEW | 0 | 0 |
634260,1 | QThreadStorage: make the internal finish() function really private | dev | qt/qtbase | Status: NEW | 0 | 0 |
634262,4 | QLibrary/Darwin: disable RTLD_NODELETE | dev | qt/qtbase | Status: NEW | 0 | 0 |
634629,1 | QThread/Unix: fix silly mistake: static was missing after refactoring | dev | qt/qtbase | Status: NEW | +2 | 0 |