https://bugs.kde.org/show_bug.cgi?id=426070
Bug ID: 426070
Summary: Deadlock in ~QQmlEngine() inside ~WelcomePageWidget()
when exiting KDevelop right after starting it - before
Welcome Page is loaded
Product: kdevelop
Version: git master
Platform: Compiled Sources
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
SUMMARY
This deadlock is extremely easy to reproduce: start KDevelop and exit it as
soon as possible => KDevelop fails to exit, i.e. the process remains running. I
have reproduced it in Debug and Release KDevelop builds; with several small
projects open, with an empty session and with a new empty session. For example,
launch KDevelop with the following command: `kdevelop -n tmp` (or `kdevelop -s
tmp` if the "tmp" session already exists).
SOFTWARE/OS VERSIONS
Manjaro GNU/Linux, Xfce
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
ADDITIONAL INFORMATION
This deadlock is clearly an upstream issue: QTBUG-75777. When I apply the patch
that fixes it (https://codereview.qt-project.org/c/qt/qtdeclarative/+/263540),
the deadlock doesn't happen. When I run the following command while KDevelop
process is deadlocked (replace "123456" with the kdevelop process ID):
gdb -batch -ex "thread apply all bt" -ex "quit" -p 123456 >
kdevelop-deadlock.bt
I always get a backtrace very similar to the one pasted below. When I run the
same gdb command a few seconds, minutes or even an hour later for the same
deadlocked process, I get exactly the same backtrace.
BACKTRACE (with debugging symbols for KDevelop, qtbase and qtdeclarative)
[New LWP 463276]
[New LWP 463277]
[New LWP 463278]
[New LWP 463279]
[New LWP 463280]
[New LWP 463281]
[New LWP 463282]
[New LWP 463283]
[New LWP 463284]
[New LWP 463285]
[New LWP 463286]
[New LWP 463287]
[New LWP 463293]
[New LWP 463294]
[New LWP 463295]
[New LWP 463296]
[New LWP 463297]
[New LWP 463298]
[New LWP 463299]
[New LWP 463300]
[New LWP 463302]
[New LWP 463306]
[New LWP 463308]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
Thread 24 (Thread 0x7f6074bd3640 (LWP 463308)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#3 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f605c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f6074bd2880, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#5 0x00007f60e56acc32 in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x7f60e82b28e8
<KDevelop::(anonymous
namespace)::Q_QGS_s_parsingThread::innerFunction()::holder+8>) at
thread/qthread_unix.cpp:342
#7 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#8 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 23 (Thread 0x7f60755fa640 (LWP 463306)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#3 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f6068000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f60755f9880, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#5 0x00007f60e56acc32 in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c9960f0) at
thread/qthread_unix.cpp:342
#7 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#8 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 22 (Thread 0x7f60777fe640 (LWP 463302)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e84 in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., deadline=..., this=0x55db3c87ff00) at
thread/qwaitcondition_unix.cpp:146
#2 QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=this@entry=0x55db3c87fe58, mutex=mutex@entry=0x55db3c87fe50,
deadline=...) at thread/qwaitcondition_unix.cpp:225
#3 0x00007f60e76a200b in QQmlThreadPrivate::wait() (this=0x55db3c87fde0) at
/usr/include/qt/QtCore/qdeadlinetimer.h:68
#4 QQmlThread::internalCallMethodInMain(QQmlThread::Message*)
(this=0x55db3c87fc80, message=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:390
#5 0x00007f60e7652231 in QQmlImportDatabase::finalizePlugin(QObject*, QString
const&, QString const&) (this=this@entry=0x55db3c87f8b8,
instance=instance@entry=0x7f60640e24c0, path=..., uri=...) at
/usr/include/qt/QtCore/qarraydata.h:208
#6 0x00007f60e7652b37 in QQmlImportDatabase::importDynamicPlugin(QString
const&, QString const&, QString const&, int, QList<QQmlError>*)
(this=0x55db3c87f8b8, filePath=..., uri=..., typeNamespace=..., vmaj=<optimized
out>, errors=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlimport.cpp:2294
#7 0x00007f60e7653a8e in QQmlImportsPrivate::importExtension(QString const&,
QString const&, int, int, QQmlImportDatabase*, QQmlTypeLoaderQmldirContent
const&, QList<QQmlError>*) (this=this@entry=0x7f60640e01c0, qmldirFilePath=...,
uri=..., vmaj=vmaj@entry=1, vmin=vmin@entry=4,
database=database@entry=0x55db3c87f8b8, qmldir=..., errors=0x7f60777fceb0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlimport.cpp:1221
#8 0x00007f60e765490e in QQmlImportsPrivate::addLibraryImport(QString const&,
QString const&, int, int, QString const&, QString const&, bool,
QQmlImportDatabase*, QList<QQmlError>*) (this=0x7f60640e01c0, uri=...,
prefix=..., vmaj=1, vmin=4, qmldirIdentifier=..., qmldirUrl=...,
incomplete=false, database=0x55db3c87f8b8, errors=0x7f60777fceb0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlimport.cpp:1571
#9 0x00007f60e7654afe in QQmlImports::addLibraryImport(QQmlImportDatabase*,
QString const&, QString const&, int, int, QString const&, QString const&, bool,
QList<QQmlError>*) (this=0x55db3c87f8b8, this@entry=0x7f60640db418,
importDb=0x7f60640e1420, importDb@entry=0x55db3c87f8b8, uri=..., prefix=...,
vmaj=<optimized out>, vmin=<optimized out>, qmldirIdentifier=...,
qmldirUrl=..., incomplete=<optimized out>, errors=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlimport.cpp:1830
#10 0x00007f60e76323ca in
QQmlTypeLoader::Blob::addImport(std::shared_ptr<QQmlTypeLoader::Blob::PendingImport>,
QList<QQmlError>*) (this=this@entry=0x7f60640db3b0,
import=std::shared_ptr<QQmlTypeLoader::Blob::PendingImport> (use count 1, weak
count 0) = {...}, errors=errors@entry=0x7f60777fceb0) at
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1324
#11 0x00007f60e7632c66 in
QQmlTypeLoader::Blob::addImport(QV4::CompiledData::Import const*,
QList<QQmlError>*) (this=this@entry=0x7f60640db3b0,
import=import@entry=0x7f6088004e08, errors=errors@entry=0x7f60777fceb0) at
/usr/include/c++/10.2.0/ext/new_allocator.h:89
#12 0x00007f60e75df131 in QQmlTypeData::tryLoadFromDiskCache()
(this=this@entry=0x7f60640db3b0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypedata.cpp:202
#13 0x00007f60e75e3bc1 in
QQmlTypeData::dataReceived(QQmlDataBlob::SourceCodeData const&)
(this=0x7f60640db3b0, data=...) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypedata.cpp:582
#14 0x00007f60e762ca48 in QQmlTypeLoader::setData(QQmlDataBlob*,
QQmlDataBlob::SourceCodeData const&) (this=this@entry=0x55db3c87f908,
blob=blob@entry=0x7f60640db3b0, d=...) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:447
#15 0x00007f60e762d176 in QQmlTypeLoader::setData(QQmlDataBlob*, QString
const&) (this=this@entry=0x55db3c87f908, blob=blob@entry=0x7f60640db3b0,
fileName=...) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:437
#16 0x00007f60e762df32 in QQmlTypeLoader::loadThread(QQmlDataBlob*)
(this=this@entry=0x55db3c87f908, blob=blob@entry=0x7f60640db3b0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:299
#17 0x00007f60e762e2f6 in PlainLoader::loadThread(QQmlTypeLoader*,
QQmlDataBlob*) const (blob=0x7f60640db3b0, loader=0x55db3c87f908,
this=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:146
#18 QQmlTypeLoader::doLoad<PlainLoader>(PlainLoader const&, QQmlDataBlob*,
QQmlTypeLoader::Mode) (loader=..., mode=QQmlTypeLoader::PreferSynchronous,
blob=0x7f60640db3b0, this=0x55db3c87f908) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:205
#19 QQmlTypeLoader::load(QQmlDataBlob*, QQmlTypeLoader::Mode)
(this=this@entry=0x55db3c87f908, blob=blob@entry=0x7f60640db3b0,
mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:237
#20 0x00007f60e762eaf9 in QQmlTypeLoader::getType(QUrl const&,
QQmlTypeLoader::Mode) (this=this@entry=0x55db3c87f908, unNormalizedUrl=...,
mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:825
#21 0x00007f60e75e1258 in QQmlTypeData::resolveTypes()
(this=this@entry=0x55db3c7dc6d0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/qml/qqmldatablob_p.h:95
#22 0x00007f60e75e3fdd in QQmlTypeData::allDependenciesDone()
(this=0x55db3c7dc6d0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypedata.cpp:745
#23 0x00007f60e762cd13 in QQmlTypeLoader::setData(QQmlDataBlob*,
QQmlDataBlob::SourceCodeData const&) (this=this@entry=0x55db3c87f908,
blob=blob@entry=0x55db3c7dc6d0, d=...) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:450
#24 0x00007f60e762d176 in QQmlTypeLoader::setData(QQmlDataBlob*, QString
const&) (this=this@entry=0x55db3c87f908, blob=blob@entry=0x55db3c7dc6d0,
fileName=...) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:437
#25 0x00007f60e762df32 in QQmlTypeLoader::loadThread(QQmlDataBlob*)
(this=0x55db3c87f908, blob=blob@entry=0x55db3c7dc6d0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:299
#26 0x00007f60e75ebcbe in QQmlTypeLoaderThread::loadThread(QQmlDataBlob*)
(this=<optimized out>, b=0x55db3c7dc6d0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloaderthread.cpp:162
#27 0x00007f60e76a1aea in QQmlThreadPrivate::threadEvent()
(this=this@entry=0x55db3c87fde0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:204
#28 0x00007f60e76a2352 in QQmlThreadPrivate::event(QEvent*)
(this=0x55db3c87fde0, e=0x55db3c74d4c0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:142
#29 0x00007f60e671d702 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55db3c87fde0, e=0x55db3c74d4c0) at
kernel/qapplication.cpp:3671
#30 0x00007f60e58927ba in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55db3c87fde0, event=0x55db3c74d4c0) at
../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#31 0x00007f60e58952a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55db3c87b7d0) at
kernel/qcoreapplication.cpp:1815
#32 0x00007f60e58ebcf4 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x7f6064001540) at kernel/qeventdispatcher_glib.cpp:277
#33 0x00007f60e1c4643c in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#34 0x00007f60e1c941d9 in () at /usr/lib/libglib-2.0.so.0
#35 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#36 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f6064000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#37 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f60777fd860, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#38 0x00007f60e56acc32 in QThread::exec() (this=this@entry=0x55db3c87fde0) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#39 0x00007f60e76a1789 in QQmlThreadPrivate::run() (this=0x55db3c87fde0) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:155
#40 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c87fde0) at
thread/qthread_unix.cpp:342
#41 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#42 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 21 (Thread 0x7f6077fff640 (LWP 463300)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#3 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f606c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f6077ffe810, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#5 0x00007f60e56acc32 in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6 0x00007f60e84c48a3 in KDevelop::DUChainPrivate::CleanupThread::run()
(this=0x55db3c857830) at ../kdevplatform/language/duchain/duchain.cpp:331
#7 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c857830) at
thread/qthread_unix.cpp:342
#8 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#9 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 20 (Thread 0x7f6089bfd640 (LWP 463299)):
#0 0x00007f60e47069c8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e08 in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(deadline=..., this=0x55db3c742f70) at thread/qwaitcondition_unix.cpp:136
#2 QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=...,
this=0x55db3c742f70) at thread/qwaitcondition_unix.cpp:144
#3 QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=this@entry=0x55db3c73cf70, mutex=mutex@entry=0x55db3c20fdf8,
deadline=...) at thread/qwaitcondition_unix.cpp:225
#4 0x00007f60e56b2084 in QThreadPoolThread::run() (this=0x55db3c73cf60) at
../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#5 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c73cf60) at
thread/qthread_unix.cpp:342
#6 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#7 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 19 (Thread 0x7f608a3fe640 (LWP 463298)):
#0 0x00007f60e47069c8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e08 in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(deadline=..., this=0x55db3c6c98e0) at thread/qwaitcondition_unix.cpp:136
#2 QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=...,
this=0x55db3c6c98e0) at thread/qwaitcondition_unix.cpp:144
#3 QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=this@entry=0x55db3c73ceb0, mutex=mutex@entry=0x55db3c20fdf8,
deadline=...) at thread/qwaitcondition_unix.cpp:225
#4 0x00007f60e56b2084 in QThreadPoolThread::run() (this=0x55db3c73cea0) at
../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#5 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c73cea0) at
thread/qthread_unix.cpp:342
#6 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#7 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 18 (Thread 0x7f608abff640 (LWP 463297)):
#0 0x00007f60e47069c8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e08 in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(deadline=..., this=0x7f608c00e390) at thread/qwaitcondition_unix.cpp:136
#2 QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=...,
this=0x7f608c00e390) at thread/qwaitcondition_unix.cpp:144
#3 QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=this@entry=0x55db3c73cf10, mutex=mutex@entry=0x55db3c20fdf8,
deadline=...) at thread/qwaitcondition_unix.cpp:225
#4 0x00007f60e56b2084 in QThreadPoolThread::run() (this=0x55db3c73cf00) at
../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#5 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c73cf00) at
thread/qthread_unix.cpp:342
#6 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#7 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 17 (Thread 0x7f608b400640 (LWP 463296)):
#0 0x00007f60e47069c8 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e08 in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(deadline=..., this=0x55db3c7402e0) at thread/qwaitcondition_unix.cpp:136
#2 QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=...,
this=0x55db3c7402e0) at thread/qwaitcondition_unix.cpp:144
#3 QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=this@entry=0x55db3c73c6b0, mutex=mutex@entry=0x55db3c20fdf8,
deadline=...) at thread/qwaitcondition_unix.cpp:225
#4 0x00007f60e56b2084 in QThreadPoolThread::run() (this=0x55db3c73c6a0) at
../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#5 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3c73c6a0) at
thread/qthread_unix.cpp:342
#6 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#7 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 16 (Thread 0x7f60a495c640 (LWP 463295)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c44c03 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007f60d80991a8 in () at /usr/lib/libgio-2.0.so.0
#4 0x00007f60e1c6e511 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 15 (Thread 0x7f60a515d640 (LWP 463294)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#3 0x00007f60e1c45272 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007f60e1c6e511 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 14 (Thread 0x7f60a63c9640 (LWP 463293)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e1c94168 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#3 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f608c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f60a63c8830, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#5 0x00007f60e56acc32 in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#6 0x00007f60e64c8098 in QDBusConnectionManager::run() (this=0x7f60e6536080
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
qdbusconnection.cpp:179
#7 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x7f60e6536080
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
thread/qthread_unix.cpp:342
#8 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#9 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 13 (Thread 0x7f60a75fe640 (LWP 463287)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 12 (Thread 0x7f60a7fff640 (LWP 463286)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 11 (Thread 0x7f60c4be0640 (LWP 463285)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 10 (Thread 0x7f60c53e1640 (LWP 463284)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 9 (Thread 0x7f60c5be2640 (LWP 463283)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 8 (Thread 0x7f60c63e3640 (LWP 463282)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 7 (Thread 0x7f60c6be4640 (LWP 463281)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 6 (Thread 0x7f60d09a2640 (LWP 463280)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7f60d11a3640 (LWP 463279)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7f60d19a4640 (LWP 463278)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7f60d22fa640 (LWP 463277)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60d290490c in () at /usr/lib/dri/radeonsi_dri.so
#2 0x00007f60d2903308 in () at /usr/lib/dri/radeonsi_dri.so
#3 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#4 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7f60d46ff640 (LWP 463276)):
#0 0x00007f60e51ca46f in poll () at /usr/lib/libc.so.6
#1 0x00007f60e44b163b in () at /usr/lib/libxcb.so.1
#2 0x00007f60e44b337b in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3 0x00007f60d4841c51 in QXcbEventQueue::run() (this=0x55db3bb74ef0) at
qxcbeventqueue.cpp:228
#4 0x00007f60e56ade0f in QThreadPrivate::start(void*) (arg=0x55db3bb74ef0) at
thread/qthread_unix.cpp:342
#5 0x00007f60e47003e9 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007f60e51d5293 in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7f60d4c441c0 (LWP 463275)):
#0 0x00007f60e47066a2 in pthread_cond_wait@@GLIBC_2.3.2 () at
/usr/lib/libpthread.so.0
#1 0x00007f60e56b3e84 in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., deadline=..., this=0x55db3c87ff00) at
thread/qwaitcondition_unix.cpp:146
#2 QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>,
mutex=0x55db3c87fe50, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3 0x00007f60e76a1cb9 in QQmlThreadPrivate::wait() (this=<optimized out>) at
/usr/include/qt/QtCore/qdeadlinetimer.h:68
#4 QQmlThread::shutdown() (this=0x55db3c87fc80) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:251
#5 0x00007f60e762dd6a in QQmlTypeLoader::invalidate()
(this=this@entry=0x55db3c87f908) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmltypeloader.cpp:120
#6 0x00007f60e75fa221 in QQmlEngine::~QQmlEngine() (this=0x55db3c87f7b0,
__in_chrg=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlengine.cpp:1029
#7 0x00007f60e75fa26a in QQmlEngine::~QQmlEngine() (this=0x55db3c87f7b0,
__in_chrg=<optimized out>) at
/usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/qqmlengine.cpp:1008
#8 0x00007f60e58bcd5e in QObjectPrivate::deleteChildren()
(this=this@entry=0x55db3c4872b0) at kernel/qobject.cpp:2104
#9 0x00007f60e675a1ee in QWidget::~QWidget() (this=0x55db3c87b480,
__in_chrg=<optimized out>) at kernel/qwidget.cpp:1523
#10 0x00007f60a400a2a1 in WelcomePageWidget::~WelcomePageWidget()
(this=0x55db3c87b480, __in_chrg=<optimized out>) at
plugins/welcomepage/kdevwelcomepage_autogen/EWIEGA46WW/../../../../../plugins/welcomepage/welcomepageview.h:32
#11 0x00007f60a400a2c2 in WelcomePageWidget::~WelcomePageWidget()
(this=0x55db3c87b480, __in_chrg=<optimized out>) at
plugins/welcomepage/kdevwelcomepage_autogen/EWIEGA46WW/../../../../../plugins/welcomepage/welcomepageview.h:32
#12 0x00007f60e8329264 in
Sublime::MainWindowPrivate::setBackgroundCentralWidget(QWidget*)
(this=0x55db3bf4b010, w=0x0) at ../kdevplatform/sublime/mainwindow_p.cpp:286
#13 0x00007f60e83231dd in
Sublime::MainWindow::setBackgroundCentralWidget(QWidget*) (this=0x55db3c1f1e40,
w=0x0) at ../kdevplatform/sublime/mainwindow.cpp:494
#14 0x00007f60a400ac7a in KDevWelcomePagePlugin::unload() (this=0x55db3c878a60)
at ../plugins/welcomepage/welcomepageplugin.cpp:65
#15 0x00007f60e9693dc2 in
KDevelop::PluginController::unloadPlugin(KDevelop::IPlugin*,
KDevelop::PluginController::PluginDeletion) (this=0x55db3c43a110,
plugin=0x55db3c878a60, deletion=KDevelop::PluginController::Now) at
../kdevplatform/shell/plugincontroller.cpp:488
#16 0x00007f60e9692fbb in KDevelop::PluginController::cleanup()
(this=0x55db3c43a110) at ../kdevplatform/shell/plugincontroller.cpp:384
#17 0x00007f60e96a51e5 in KDevelop::Core::cleanup() (this=0x55db3c193530) at
../kdevplatform/shell/core.cpp:409
#18 0x00007f60e96a4e7a in KDevelop::Core::shutdown() (this=0x55db3c193530) at
../kdevplatform/shell/core.cpp:360
#19 0x00007f60e967fa8f in KDevelop::MainWindow::~MainWindow()
(this=0x55db3c1f1e40, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at
../kdevplatform/shell/mainwindow.cpp:150
#20 0x00007f60e967fb50 in KDevelop::MainWindow::~MainWindow()
(this=0x55db3c1f1e40, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at
../kdevplatform/shell/mainwindow.cpp:154
#21 0x00007f60e58bef90 in QObject::event(QEvent*) (this=0x55db3c1f1e40,
e=0x55db3cf3bea0) at kernel/qobject.cpp:1301
#22 0x00007f60e735ea8a in KXmlGuiWindow::event(QEvent*) () at
/usr/lib/libKF5XmlGui.so.5
#23 0x00007f60e9680057 in KDevelop::MainWindow::event(QEvent*)
(this=0x55db3c1f1e40, ev=0x55db3cf3bea0) at
../kdevplatform/shell/mainwindow.cpp:208
#24 0x00007f60e671d702 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55db3c1f1e40, e=0x55db3cf3bea0) at
kernel/qapplication.cpp:3671
#25 0x00007f60e58927ba in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55db3c1f1e40, event=0x55db3cf3bea0) at
../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#26 0x00007f60e58952a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55db3bb5e090) at
kernel/qcoreapplication.cpp:1815
#27 0x00007f60e58ebcf4 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55db3bc30990) at kernel/qeventdispatcher_glib.cpp:277
#28 0x00007f60e1c4643c in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#29 0x00007f60e1c941d9 in () at /usr/lib/libglib-2.0.so.0
#30 0x00007f60e1c45221 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#31 0x00007f60e58eb331 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55db3bb72870, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#32 0x00007f60e589113c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffd32d58150, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:141
#33 0x00007f60e58995c4 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#34 0x000055db3b70b81f in main(int, char**) (argc=3, argv=0x7ffd32d585c8) at
../app/main.cpp:850
A debugging session is active.
Inferior 1 [process 463275] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (process 463275) detached]
--
You are receiving this mail because:
You are watching all bug changes.