Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
None
-
6.0
-
None
-
e16c2d3919113104a7233810b64aabbaf364f4fa
Description
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
Attachments
Issue Links
- is required for
-
QTBUG-82922 Register types declaratively
- Closed