-
Bug
-
Resolution: Done
-
P1: Critical
-
None
-
6.0
-
None
-
e16c2d3919113104a7233810b64aabbaf364f4fa
To reproduce, checkout https://codereview.qt-project.org/c/qt/qtquickcontrols2/+/297488/ and cherry-pick https://codereview.qt-project.org/c/qt/qtquickcontrols2/+/305557 on top. Then, run tst_default.
It occurs just after tst_controls::Default::Action::cleanupTestCase():
=================================================================
==31163==ERROR: AddressSanitizer: heap-use-after-free on address 0x60400009be9c at pc 0x7f81f7956a44 bp 0x7f81e1564740 sp 0x7f81e1564730
READ of size 4 at 0x60400009be9c thread T9 (QQmlThread)
#0 0x7f81f7956a43 in QHashedString::compare(QChar const*, QChar const*, int) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qhashedstring.cpp:81
#1 0x7f81f76fc32d in QHashedStringRef::operator==(QHashedStringRef const&) const /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qhashedstring_p.h:295
#2 0x7f81f770d708 in QHashPrivate::Data<QHashPrivate::MultiNode<QHashedStringRef, QQmlTypePrivate*> >::find(QHashedStringRef const&) const /home/mitch/dev/qt-dev2-debug/qtbase/include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qhash.h:568
#3 0x7f81f7702024 in QMultiHash<QHashedStringRef, QQmlTypePrivate*>::constFind(QHashedStringRef const&) const (/home/mitch/dev/qt-dev2-debug/qtbase/lib/libQt6Qml.so.6+0x9ff024)
#4 0x7f81f76f6a16 in QQmlMetaType::qmlType(QHashedStringRef const&, QHashedStringRef const&, QTypeRevision) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlmetatype.cpp:1229
#5 0x7f81f77ef1d2 in QQmlImportInstance::resolveType(QQmlTypeLoader*, QHashedStringRef const&, QTypeRevision*, QQmlType*, QString*, bool*, QQmlType::RegistrationType, QQmlImport::RecursionRestriction, QList<QQmlError>*) const /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:726
#6 0x7f81f77f4475 in QQmlImportNamespace::resolveType(QQmlTypeLoader*, QHashedStringRef const&, QTypeRevision*, QQmlType*, QString*, QList<QQmlError>*, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:1019
#7 0x7f81f77f1497 in operator() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:886
#8 0x7f81f77f22d7 in QQmlImportsPrivate::resolveType(QHashedStringRef const&, QTypeRevision*, QQmlType*, QList<QQmlError>*, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:902
#9 0x7f81f77ebe79 in QQmlImports::resolveType(QHashedStringRef const&, QQmlType*, QTypeRevision*, QQmlImportNamespace**, QList<QQmlError>*, QQmlType::RegistrationType, bool*) const /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:625
#10 0x7f81f7603245 in QQmlTypeData::resolveType(QString const&, QTypeRevision&, QQmlTypeData::TypeReference&, int, int, bool, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:989
#11 0x7f81f76005ce in QQmlTypeData::resolveTypes() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:864
#12 0x7f81f75fdfd5 in QQmlTypeData::allDependenciesDone() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:744
#13 0x7f81f77725f5 in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:450
#14 0x7f81f777234e in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:437
#15 0x7f81f7770be4 in QQmlTypeLoader::loadThread(QQmlDataBlob*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:299
#16 0x7f81f763b90f in QQmlTypeLoaderThread::loadThread(QQmlDataBlob*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:162
#17 0x7f81f763c06e in void QQmlThread::callMethodInThread<QQmlDataBlob*, QQmlDataBlob*, QQmlTypeLoaderThread>(void (QQmlTypeLoaderThread::*)(QQmlDataBlob*), QQmlDataBlob* const&)::I::call(QQmlThread*) /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread_p.h:164
#18 0x7f81f795a9f5 in QQmlThreadPrivate::threadEvent() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:198
#19 0x7f81f795a4cb in QQmlThreadPrivate::event(QEvent*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:142
#20 0x7f81fbe0bc93 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1238
#21 0x7f81fbe0b430 in doNotify /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1167
#22 0x7f81fbe0b307 in QCoreApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1153
#23 0x7f81fd56f548 in QGuiApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/gui/kernel/qguiapplication.cpp:1890
#24 0x7f81fbe0b12f in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1077
#25 0x7f81fbe0c788 in QCoreApplication::sendEvent(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1472
#26 0x7f81fbe0ec85 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1831
#27 0x7f81fbe0d7e9 in QCoreApplication::sendPostedEvents(QObject*, int) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1690
#28 0x7f81fbf7e62c in postEventSourceDispatch /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#29 0x7f81f60f0416 in g_main_context_dispatch (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4c416)
#30 0x7f81f60f064f (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4c64f)
#31 0x7f81f60f06db in g_main_context_iteration (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4c6db)
#32 0x7f81fbf7fb5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#33 0x7f81fbe01675 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qeventloop.cpp:139
#34 0x7f81fbe0200a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qeventloop.cpp:232
#35 0x7f81fb8097ea in QThread::exec() /home/mitch/dev/qt-dev2/qtbase/src/corelib/thread/qthread.cpp:538
#36 0x7f81f795a5a3 in QQmlThreadPrivate::run() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:155
#37 0x7f81fb80fc16 in QThreadPrivate::start(void*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/thread/qthread_unix.cpp:342
#38 0x7f81fa6126da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
#39 0x7f81fad5788e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e)
0x60400009be9c is located 12 bytes inside of 36-byte region [0x60400009be90,0x60400009beb4)
freed by thread T0 here:
#0 0x7f82017877a8 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xde7a8)
#1 0x7f81fb84da6e in QArrayData::deallocate(QArrayData*, unsigned long, unsigned long) /home/mitch/dev/qt-dev2/qtbase/src/corelib/tools/qarraydata.cpp:281
#2 0x7f81f6f09fb4 in QTypedArrayData<char16_t>::deallocate(QArrayData*) /home/mitch/dev/qt-dev2-debug/qtbase/include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qarraydata.h:231
#3 0x7f81f6f0975c in QArrayDataPointer<char16_t>::~QArrayDataPointer() /home/mitch/dev/qt-dev2-debug/qtbase/include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qarraydatapointer.h:140
#4 0x7f81f6f08af7 in QString::~QString() /home/mitch/dev/qt-dev2-debug/qtbase/include/QtCore/../../../../qt-dev2/qtbase/src/corelib/text/qstring.h:1113
#5 0x7f81f7752c49 in QQmlTypePrivate::~QQmlTypePrivate() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltype.cpp:94
#6 0x7f81f7752c85 in QQmlTypePrivate::~QQmlTypePrivate() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltype.cpp:118
#7 0x7f81f70ee642 in QQmlRefCount::release() const /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:129
#8 0x7f81f775d7fd in QQmlRefPointer<QQmlTypePrivate const>::~QQmlRefPointer() /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:167
#9 0x7f81f775da98 in QQmlRefPointer<QQmlTypePrivate const>::operator=(QQmlRefPointer<QQmlTypePrivate const>&&) /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:182
#10 0x7f81f7752d4e in QQmlType::operator=(QQmlType&&) /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/qqmltype_p.h:80
#11 0x7f81f76f87f1 in QQmlMetaType::freeUnusedTypesAndCaches() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlmetatype.cpp:1374
#12 0x7f81f777e367 in QQmlTypeLoader::clearCache() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:1217
#13 0x7f81f7778217 in QQmlTypeLoader::~QQmlTypeLoader() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:822
#14 0x7f81f765dd5b in QQmlEnginePrivate::~QQmlEnginePrivate() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:631
#15 0x7f81f765ded3 in QQmlEnginePrivate::~QQmlEnginePrivate() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:659
#16 0x7f81fbecd55b in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) ../../include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qscopedpointer.h:60
#17 0x7f81fbec877b in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() ../../include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qscopedpointer.h:107
#18 0x7f81fbeac5eb in QObject::~QObject() /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qobject.cpp:966
#19 0x7f81f70e9300 in QJSEngine::~QJSEngine() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/jsapi/qjsengine.cpp:367
#20 0x7f81f766008c in QQmlEngine::~QQmlEngine() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:966
#21 0x7f8201412164 in quick_test_main_with_setup(int, char**, char const*, char const*, QObject*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:543
#22 0x7f820140d4cd in quick_test_main(int, char**, char const*, char const*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:367
#23 0x5601a3f85eeb in main /home/mitch/dev/qt-dev2/qtquickcontrols2/tests/auto/controls/default/tst_default.cpp:43
#24 0x7f81fac57b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
previously allocated by thread T4 (QQmlThread) here:
#0 0x7f8201787b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
#1 0x7f81fb84d172 in allocateData /home/mitch/dev/qt-dev2/qtbase/src/corelib/tools/qarraydata.cpp:184
#2 0x7f81fb84d400 in QArrayData::allocate(QArrayData**, unsigned long, unsigned long, unsigned long, QFlags<QArrayData::ArrayOption>) /home/mitch/dev/qt-dev2/qtbase/src/corelib/tools/qarraydata.cpp:230
#3 0x7f81fba17a9b in QTypedArrayData<char16_t>::allocate(unsigned long, QFlags<QArrayData::ArrayOption>) ../../include/QtCore/../../../../qt-dev2/qtbase/src/corelib/tools/qarraydata.h:211
#4 0x7f81fb9dcddc in QString::QString(QChar const*, int) /home/mitch/dev/qt-dev2/qtbase/src/corelib/text/qstring.cpp:2133
#5 0x7f81f795780e in QHashedStringRef::toString() const /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qhashedstring.cpp:161
#6 0x7f81f76f2b21 in QQmlMetaType::typeForUrl(QString const&, QHashedStringRef const&, bool, QList<QQmlError>*, QTypeRevision) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlmetatype.cpp:860
#7 0x7f81f77f0781 in QQmlImportInstance::resolveType(QQmlTypeLoader*, QHashedStringRef const&, QTypeRevision*, QQmlType*, QString*, bool*, QQmlType::RegistrationType, QQmlImport::RecursionRestriction, QList<QQmlError>*) const /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:825
#8 0x7f81f77f4475 in QQmlImportNamespace::resolveType(QQmlTypeLoader*, QHashedStringRef const&, QTypeRevision*, QQmlType*, QString*, QList<QQmlError>*, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:1019
#9 0x7f81f77f1497 in operator() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:886
#10 0x7f81f77f22d7 in QQmlImportsPrivate::resolveType(QHashedStringRef const&, QTypeRevision*, QQmlType*, QList<QQmlError>*, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:902
#11 0x7f81f77ebe79 in QQmlImports::resolveType(QHashedStringRef const&, QQmlType*, QTypeRevision*, QQmlImportNamespace**, QList<QQmlError>*, QQmlType::RegistrationType, bool*) const /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlimport.cpp:625
#12 0x7f81f7603245 in QQmlTypeData::resolveType(QString const&, QTypeRevision&, QQmlTypeData::TypeReference&, int, int, bool, QQmlType::RegistrationType, bool*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:989
#13 0x7f81f76005ce in QQmlTypeData::resolveTypes() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:864
#14 0x7f81f75fdfd5 in QQmlTypeData::allDependenciesDone() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypedata.cpp:744
#15 0x7f81f77725f5 in QQmlTypeLoader::setData(QQmlDataBlob*, QQmlDataBlob::SourceCodeData const&) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:450
#16 0x7f81f777234e in QQmlTypeLoader::setData(QQmlDataBlob*, QString const&) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:437
#17 0x7f81f7770be4 in QQmlTypeLoader::loadThread(QQmlDataBlob*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:299
#18 0x7f81f763b90f in QQmlTypeLoaderThread::loadThread(QQmlDataBlob*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:162
#19 0x7f81f763c06e in void QQmlThread::callMethodInThread<QQmlDataBlob*, QQmlDataBlob*, QQmlTypeLoaderThread>(void (QQmlTypeLoaderThread::*)(QQmlDataBlob*), QQmlDataBlob* const&)::I::call(QQmlThread*) /home/mitch/dev/qt-dev2-debug/qtbase/include/QtQml/6.0.0/QtQml/private/../../../../../../../qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread_p.h:164
#20 0x7f81f795a9f5 in QQmlThreadPrivate::threadEvent() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:198
#21 0x7f81f795a4cb in QQmlThreadPrivate::event(QEvent*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:142
#22 0x7f81fbe0bc93 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1238
#23 0x7f81fbe0b430 in doNotify /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1167
#24 0x7f81fbe0b307 in QCoreApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1153
#25 0x7f81fd56f548 in QGuiApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/gui/kernel/qguiapplication.cpp:1890
#26 0x7f81fbe0b12f in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1077
#27 0x7f81fbe0c788 in QCoreApplication::sendEvent(QObject*, QEvent*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1472
#28 0x7f81fbe0ec85 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1831
#29 0x7f81fbe0d7e9 in QCoreApplication::sendPostedEvents(QObject*, int) /home/mitch/dev/qt-dev2/qtbase/src/corelib/kernel/qcoreapplication.cpp:1690
Thread T9 (QQmlThread) created by T0 here:
#0 0x7f82016e0d2f in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37d2f)
#1 0x7f81fb811453 in QThread::start(QThread::Priority) /home/mitch/dev/qt-dev2/qtbase/src/corelib/thread/qthread_unix.cpp:727
#2 0x7f81f795ad3a in QQmlThread::startup() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:234
#3 0x7f81f763b11f in QQmlTypeLoaderThread::QQmlTypeLoaderThread(QQmlTypeLoader*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:57
#4 0x7f81f77780c4 in QQmlTypeLoader::QQmlTypeLoader(QQmlEngine*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:809
#5 0x7f81f765d0fc in QQmlEnginePrivate::QQmlEnginePrivate(QQmlEngine*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:627
#6 0x7f81f765fc6e in QQmlEngine::QQmlEngine(QObject*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:940
#7 0x7f8201410440 in quick_test_main_with_setup(int, char**, char const*, char const*, QObject*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:525
#8 0x7f820140d4cd in quick_test_main(int, char**, char const*, char const*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:367
#9 0x5601a3f85eeb in main /home/mitch/dev/qt-dev2/qtquickcontrols2/tests/auto/controls/default/tst_default.cpp:43
#10 0x7f81fac57b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
Thread T4 (QQmlThread) created by T0 here:
#0 0x7f82016e0d2f in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37d2f)
#1 0x7f81fb811453 in QThread::start(QThread::Priority) /home/mitch/dev/qt-dev2/qtbase/src/corelib/thread/qthread_unix.cpp:727
#2 0x7f81f795ad3a in QQmlThread::startup() /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:234
#3 0x7f81f763b11f in QQmlTypeLoaderThread::QQmlTypeLoaderThread(QQmlTypeLoader*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:57
#4 0x7f81f77780c4 in QQmlTypeLoader::QQmlTypeLoader(QQmlEngine*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:809
#5 0x7f81f765d0fc in QQmlEnginePrivate::QQmlEnginePrivate(QQmlEngine*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:627
#6 0x7f81f765fc6e in QQmlEngine::QQmlEngine(QObject*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/qqmlengine.cpp:940
#7 0x7f8201410440 in quick_test_main_with_setup(int, char**, char const*, char const*, QObject*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:525
#8 0x7f820140d4cd in quick_test_main(int, char**, char const*, char const*) /home/mitch/dev/qt-dev2/qtdeclarative/src/qmltest/quicktest.cpp:367
#9 0x5601a3f85eeb in main /home/mitch/dev/qt-dev2/qtquickcontrols2/tests/auto/controls/default/tst_default.cpp:43
#10 0x7f81fac57b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
SUMMARY: AddressSanitizer: heap-use-after-free /home/mitch/dev/qt-dev2/qtdeclarative/src/qml/qml/ftw/qhashedstring.cpp:81 in QHashedString::compare(QChar const*, QChar const*, int)
Shadow bytes around the buggy address:
0x0c088000b780: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c088000b790: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x0c088000b7a0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c088000b7b0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x0c088000b7c0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
=>0x0c088000b7d0: fa fa fd[fd]fd fd fd fa fa fa 00 00 00 00 00 fa
0x0c088000b7e0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
0x0c088000b7f0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
0x0c088000b800: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
0x0c088000b810: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
0x0c088000b820: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==31163==ABORTING
- is required for
-
QTBUG-82922 Register types declaratively
-
- Closed
-