Skip to content

main: ensure current thread is main thread

Fushan Wen requested to merge work/fuf/guardthread into master

When ki18n is being loaded along with QML plugins, the current thread is QQmlThread, not the main thread.

Backtrace
#0  0x00007fadf60949ec in __pthread_kill_implementation ()
    at /lib64/libc.so.6
#1  0x00007fadf6041176 in raise () at /lib64/libc.so.6
#2  0x00007fadf6028917 in abort () at /lib64/libc.so.6
#3  0x00007fadf68d504a in qAbort() ()
    at /home/qydw/kde/src/qtbase/src/corelib/global/qglobal.cpp:161
#4  0x00007fadf68d9623 in qt_message_fatal<QString&>(QtMsgType, QMessageLogContext const&, QString&) (context=..., message=...)
    at /home/qydw/kde/src/qtbase/src/corelib/global/qlogging.cpp:2060
#5  0x00007fadf68d9dc1 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *)
    (msgType=msgType@entry=QtWarningMsg, context=..., msg=msg@entry=0x7fadf6b79500 "QObject: Cannot create children for a parent that is in a different thread.\n(Parent is %s(%p), parent's thread is %s(%p), current thread is %s(%p)", ap=ap@entry=0x7fade7dfcf78)
    at /home/qydw/kde/src/qtbase/src/corelib/global/qlogging.cpp:374
#6  0x00007fadf68da396 in QMessageLogger::warning(char const*, ...) const
    (this=this@entry=0x7fade7dfd060, msg=msg@entry=0x7fadf6b79500 "QObject: Cannot create children for a parent that is in a different thread.\n(Parent is %s(%p), parent's thread is %s(%p), current thread is %s(%p)")
    at /home/qydw/kde/src/qtbase/src/corelib/global/qlogging.cpp:633
#7  0x00007fadf6971805 in check_parent_thread(QObject*, QThreadData*, QThreadD--Type <RET> for more, q to quit, c to continue without paging--c
ata*)
    (parent=parent@entry=0x561d5dc2d920, parentThreadData=<optimized out>, currentThreadData=currentThreadData@entry=0x561d5e012130)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qobject.cpp:938
#8  0x00007fadf697b89b in QObject::QObject(QObjectPrivate&, QObject*)
    (this=this@entry=0x7fadc0279f00, dd=..., parent=parent@entry=0x561d5dc2d920) at /home/qydw/kde/src/qtbase/src/corelib/kernel/qobject.cpp:986
#9  0x00007fadf698d6e5 in QTranslator::QTranslator(QObject*)
    (this=0x7fadc0279f00, parent=0x561d5dc2d920)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qtranslator.cpp:384
#10 0x00007fadde1429ff in std::make_unique<QTranslator, QCoreApplication*>(QCoreApplication*&&) () at /usr/include/c++/13/bits/unique_ptr.h:1070
#11 0x00007fadde1420a7 in loadCatalog(QString const&, QLocale const&)
    (catalog=..., locale=...)
    at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:19
#12 0x00007fadde1426e7 in load() ()
    at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:87
#13 0x00007fadf6938b5c in qAddPreRoutine(void (*)())
    (p=0x7fadde142627 <load()>)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:269
#14 0x00007fadde14286c in load_ctor_function() ()
    at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:95
#15 0x00007fadde14287f in (anonymous namespace)::load_ctor_function_ctor_class_::load_ctor_function_ctor_class_()
    (this=0x7fadde176a31 <(anonymous namespace)::load_ctor_function_ctor_instance_>) at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:95
#16 0x00007fadde14293a in __static_initialization_and_destruction_0() ()
    at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:95
#17 0x00007fadde142945 in _GLOBAL__sub_I_main.cpp(void) ()
    at /home/qydw/kde/src/ki18n/src/i18n/main.cpp:95
#18 0x00007fadf87583be in call_init () at /lib64/ld-linux-x86-64.so.2
#19 0x00007fadf87584bc in _dl_init () at /lib64/ld-linux-x86-64.so.2
#20 0x00007fadf87545fe in _dl_catch_exception ()
    at /lib64/ld-linux-x86-64.so.2
#21 0x00007fadf875f1e6 in dl_open_worker () at /lib64/ld-linux-x86-64.so.2
#22 0x00007fadf8754571 in _dl_catch_exception ()
    at /lib64/ld-linux-x86-64.so.2
#23 0x00007fadf875f62c in _dl_open () at /lib64/ld-linux-x86-64.so.2
#24 0x00007fadf608e36c in dlopen_doit () at /lib64/libc.so.6
#25 0x00007fadf8754571 in _dl_catch_exception ()
    at /lib64/ld-linux-x86-64.so.2
#26 0x00007fadf87546a3 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2
#27 0x00007fadf608de17 in _dlerror_run () at /lib64/libc.so.6
#28 0x00007fadf608e431 in dlopen@GLIBC_2.2.5 () at /lib64/libc.so.6
#29 0x00007fadf6b52e3c in QLibraryPrivate::load_sys() (this=0x7fadc027d860)
    at /home/qydw/kde/src/qtbase/src/corelib/plugin/qlibrary_unix.cpp:210
#30 0x00007fadf6b4ea95 in QLibraryPrivate::load()
    (this=this@entry=0x7fadc027d860)
    at /home/qydw/kde/src/qtbase/src/corelib/plugin/qlibrary.cpp:537
#31 0x00007fadf6b4ece7 in QLibraryPrivate::loadPlugin() (this=0x7fadc027d860)
    at /home/qydw/kde/src/qtbase/src/corelib/plugin/qlibrary.cpp:589
#32 0x00007fadf699caee in QPluginLoader::load() (this=0x7fadc027b020)
    at /home/qydw/kde/src/qtbase/src/corelib/plugin/qpluginloader.cpp:182
#33 0x00007fadf7d2b15f in QQmlPluginImporter::importDynamicPlugin(QString const&, QString const&, bool)
    (this=this@entry=0x7fade7dfe430, filePath=..., pluginId=..., optional=optional@entry=false) at /usr/include/c++/13/bits/unique_ptr.h:199
#34 0x00007fadf7d2b977 in QQmlPluginImporter::importPlugins()
    (this=this@entry=0x7fade7dfe430)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmlpluginimporter.cpp:529
#35 0x00007fadf7cdb8c4 in QQmlImports::importExtension(QQmlTypeLoader*, QString const&, QTypeRevision, QQmlTypeLoaderQmldirContent const*, QList<QQmlError>*)
    (this=this@entry=0x7fadc027b750, typeLoader=typeLoader@entry=0x561d5dddb260, uri=..., version=..., qmldir=qmldir@entry=0x7fade7dfe5e0, errors=errors@entry=0x7fade7dfedb0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmlimport.cpp:934
#36 0x00007fadf7ce027a in QQmlImports::addLibraryImport(QQmlTypeLoader*, QString const&, QString const&, QTypeRevision, QString const&, QString const&, QFlags<QQmlImports::ImportFlag>, unsigned short, QList<QQmlError>*)
    (this=0x7fadc027b750, typeLoader=0x561d5dddb260, uri=..., prefix=<optimized out>, version=..., qmldirIdentifier=..., qmldirUrl=..., flags=..., precedence=0, errors=0x7fade7dfedb0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmlimport.cpp:1180
#37 0x00007fadf7d8f784 in operator()(QString const&, QString const&) const
    (__closure=__closure@entry=0x7fade7dfebb0, qmldirFilePath=..., qmldirUrl=...) at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:641
#38 0x00007fadf7d8ff7e in QQmlImportDatabase::locateLocalQmldir<QQmlTypeLoader::Blob::addLibraryImport(const PendingImportPtr&, QList<QQmlError>*)::<lambda(const QString&, const QString&)> >(const QString &, QTypeRevision, QQmlImportDatabase::LocalQmldirSearchLocation, const struct {...} &)
    (this=this@entry=0x561d5dddb1f0, uri=..., version=..., location=<optimized out>, callback=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmlimport_p.h:413
#39 0x00007fadf7d90382 in QQmlTypeLoader::Blob::addLibraryImport(std::shared_ptr<QQmlTypeLoader::Blob::PendingImport> const&, QList<QQmlError>*)
    (this=0x7fadc027b4f0, import=std::shared_ptr<QQmlTypeLoader::Blob::PendingImport> (use count 1, weak count 0) = {...}, errors=<optimized out>)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:637
#40 0x00007fadf7d908c0 in QQmlTypeLoader::Blob::addImport(std::shared_ptr<QQmlTypeLoader::Blob::PendingImport>, QList<QQmlError>*)
    (this=this@entry=0x7fadc027b4f0, import=std::shared_ptr<QQmlTypeLoader::Blob::PendingImport> (use count 1, weak count 0) = {...}, errors=errors@entry=0x7fade7dfedb0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:760
#41 0x00007fadf7d9095b in QQmlTypeLoader::Blob::addImport(QV4::CompiledData::Import const*, QFlags<QQmlImports::ImportFlag>, QList<QQmlError>*)
    (this=this@entry=0x7fadc027b4f0, import=<optimized out>, 
    import@entry=0x7fadf5b4df7c, flags=flags@entry=..., errors=errors@entry=0x7fade7dfedb0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:749
#42 0x00007fadf7d7b5e9 in QQmlTypeData::tryLoadFromDiskCache()
    (this=this@entry=0x7fadc027b4f0)
    at /home/qydw/kde/usr/include/QtCore/qflags.h:73
#43 0x00007fadf7d7bab8 in QQmlTypeData::dataReceived(QQmlDataBlob::SourceCodeData const&) (this=0x7fadc027b4f0, data=<optimized out>)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypedata.cpp:620
#44 0x00007fadf7d8dabc in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QQmlDataBlob::SourceCodeData const&)
    (this=this@entry=0x561d5dddb260, blob=..., d=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:405
#45 0x00007fadf7d8dfa2 in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QString const&)
    (this=this@entry=0x561d5dddb260, blob=..., fileName=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:395
#46 0x00007fadf7d8e068 in QQmlTypeLoader::loadThread(QQmlRefPointer<QQmlDataBlob> const&) (this=this@entry=0x561d5dddb260, blob=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:260
#47 0x00007fadf7d9a465 in PlainLoader::loadThread(QQmlTypeLoader*, QQmlDataBlob*) const
    (this=this@entry=0x7fade7dff17f, loader=loader@entry=0x561d5dddb260, blob=blob@entry=0x7fadc027b4f0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:109
#48 0x00007fadf7d9a519 in QQmlTypeLoader::doLoad<PlainLoader>(PlainLoader const&, QQmlDataBlob*, QQmlTypeLoader::Mode)
    (this=this@entry=0x561d5dddb260, loader=..., blob=0x7fadc027b4f0, mode=mode@entry=QQmlTypeLoader::PreferSynchronous)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:168
#49 0x00007fadf7d8e282 in QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode)
    (this=this@entry=0x561d5dddb260, blob=<optimized out>, mode=mode@entry=QQmlTypeLoader::PreferSynchronous)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:198
#50 0x00007fadf7d8e765 in QQmlTypeLoader::getType(QUrl const&, QQmlTypeLoader::Mode)
    (this=this@entry=0x561d5dddb260, unNormalizedUrl=..., mode=mode@entry=QQmlTypeLoader::PreferSynchronous)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:974
#51 0x00007fadf7d7c515 in QQmlTypeData::resolveTypes()
    (this=this@entry=0x561d5dd17be0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypedata.cpp:926
#52 0x00007fadf7d7dd98 in QQmlTypeData::allDependenciesDone()
    (this=0x561d5dd17be0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypedata.cpp:784
#53 0x00007fadf7d8db16 in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QQmlDataBlob::SourceCodeData const&)
    (this=this@entry=0x561d5dddb260, blob=..., d=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:408
#54 0x00007fadf7d8dfa2 in QQmlTypeLoader::setData(QQmlRefPointer<QQmlDataBlob> const&, QString const&)
    (this=this@entry=0x561d5dddb260, blob=..., fileName=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:395
#55 0x00007fadf7d8e068 in QQmlTypeLoader::loadThread(QQmlRefPointer<QQmlDataBlob> const&) (this=0x561d5dddb260, blob=...)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:260
#56 0x00007fadf7d9ab6d in QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&) (this=<optimized out>, b=<optimized out>)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:97
#57 0x00007fadf7d9b5b7 in std::__invoke_impl<void, void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >(std::__invoke_memfun_deref, void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*&&, QQmlRefPointer<QQmlDataBlob>&&)
    (__f=@0x561d5e109c40: (void (QQmlTypeLoaderThread::*)(QQmlTypeLoaderThread * const, const QQmlRefPointer<QQmlDataBlob> &)) 0x7fadf7d9ab60 <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>, __t=@0x7fade7dff778: 0x561d5e0332a0) at /usr/include/c++/13/bits/invoke.h:74
#58 0x00007fadf7d9b5f9 in std::__invoke<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >(void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*&&, QQmlRefPointer<QQmlDataBlob>&&)
    (__fn=@0x561d5e109c40: (void (QQmlTypeLoaderThread::*)(QQmlTypeLoaderThread * const, const QQmlRefPointer<QQmlDataBlob> &)) 0x7fadf7d9ab60 <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>)
    at /usr/include/c++/13/bits/invoke.h:96
#59 std::__apply_impl<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >, 0ul, 1ul>(void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >&&, std::integer_sequence<unsigned long, 0ul, 1ul>)
    (__t=..., __f=@0x561d5e109c40: (void (QQmlTypeLoaderThread::*)(QQmlTypeLoaderThread * const, const QQmlRefPointer<QQmlDataBlob> &)) 0x7fadf7d9ab60 <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>)
    at /usr/include/c++/13/tuple:2288
#60 std::apply<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> > >(void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >&&)
    (__t=..., __f=@0x561d5e109c40: (void (QQmlTypeLoaderThread::*)(QQmlTypeLoaderThread * const, const QQmlRefPointer<QQmlDataBlob> &)) 0x7fadf7d9ab60 <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>)
    at /usr/include/c++/13/tuple:2299
#61 QQmlThread::createMessageFromMethod<void (QQmlTypeLoaderThread::*)(QQmlRefPointer<QQmlDataBlob> const&), QQmlRefPointer<QQmlDataBlob> const&>(void (QQmlTypeLoaderThread::*&&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlRefPointer<QQmlDataBlob> const&)::I::call(QQmlThread*)
    (this=0x561d5e109c30, thread=0x561d5e0332a0)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/ftw/qqmlthread_p.h:107
#62 0x00007fadf7c89011 in QQmlThreadPrivate::threadEvent()
    (this=0x561d5e015b10)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:148
#63 0x00007fadf7c89153 in QQmlThreadPrivate::event(QEvent*)
    (this=0x561d5e015b10, e=0x561d5e109430)
    at /home/qydw/kde/src/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:105
#64 0x00007fadf693779d in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
    (receiver=receiver@entry=0x561d5e015b10, event=event@entry=0x561d5e109430) at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1312
#65 0x00007fadf6937868 in doNotify(QObject*, QEvent*)
    (receiver=0x561d5e015b10, event=event@entry=0x561d5e109430)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1239
#66 0x00007fadf69378c6 in QCoreApplication::notify(QObject*, QEvent*)
    (this=this@entry=0x561d5dc2d920, receiver=receiver@entry=0x561d5e015b10, event=event@entry=0x561d5e109430)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1222
#67 0x00007fadf71a8500 in QGuiApplication::notify(QObject*, QEvent*)
    (this=0x561d5dc2d920, object=0x561d5e015b10, event=0x561d5e109430)
    at /home/qydw/kde/src/qtbase/src/gui/kernel/qguiapplication.cpp:1992
#68 0x00007fadf693795b in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x561d5e015b10, event=event@entry=0x561d5e109430)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1138
#69 0x00007fadf69379d3 in QCoreApplication::sendEvent(QObject*, QEvent*)
    (receiver=receiver@entry=0x561d5e015b10, event=event@entry=0x561d5e109430) at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1581
#70 0x00007fadf69383f7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x561d5e012130)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1936
#71 0x00007fadf69385a6 in QCoreApplication::sendPostedEvents(QObject*, int)
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1770
#72 0x00007fadf6b53ee0 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x7fadc00200b0)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#73 0x00007fadf5f13f30 in  () at /lib64/libglib-2.0.so.0
#74 0x00007fadf5f15b58 in  () at /lib64/libglib-2.0.so.0
#75 0x00007fadf5f1620c in g_main_context_iteration ()
    at /lib64/libglib-2.0.so.0
#76 0x00007fadf6b537fd in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fadc0021b60, flags=...)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#77 0x00007fadf693fcdb in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fade7dffc20, flags=..., flags@entry=...)
    at /home/qydw/kde/src/qtbase/src/corelib/kernel/qeventloop.cpp:100
#78 0x00007fadf69403ee in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fade7dffc20, flags=flags@entry=...)
    at /home/qydw/kde/src/qtbase/src/corelib/global/qflags.h:34
#79 0x00007fadf69fce99 in QThread::exec() (this=<optimized out>)
    at /home/qydw/kde/src/qtbase/src/corelib/global/qflags.h:74
#80 0x00007fadf69fceff in QThread::run() (this=<optimized out>)
    at /home/qydw/kde/src/qtbase/src/corelib/thread/qthread.cpp:716
#81 0x00007fadf6a8296b in operator()() const
    (__closure=__closure@entry=0x7fade7dffd38)
    at /home/qydw/kde/src/qtbase/src/corelib/thread/qthread_unix.cpp:326
#82 0x00007fadf6a82a6b in (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >(struct {...} &&) (t=...)
    at /home/qydw/kde/src/qtbase/src/corelib/thread/qthread_unix.cpp:262
#83 0x00007fadf6a82ae8 in QThreadPrivate::start(void*) (arg=<optimized out>)
    at /home/qydw/kde/src/qtbase/src/corelib/thread/qthread_unix.cpp:285
#84 0x00007fadf6092bb2 in start_thread () at /lib64/libc.so.6
#85 0x00007fadf611400c in clone3 () at /lib64/libc.so.6
Edited by Fushan Wen

Merge request reports