SUMMARY Sometimes my system generates coredump of kded5 after logout from Wayland session. STEPS TO REPRODUCE 1. start Wayland session 2. logout 3. EXPECTED RESULT no coredump after logout SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.20.80 KDE Frameworks Version: 5.78.0 Qt Version: 5.15.2 Thread 7 (Thread 0x7f03bee0c700 (LWP 11935)): #0 g_mutex_unlock (mutex=0x7f03b4000c20) at ../../../glib/gthread-posix.c:1493 #1 0x00007f03eada7277 in g_main_context_acquire (context=0x7f03b4000c20) at ../../../glib/gmain.c:3389 #2 0x00007f03eada8065 in g_main_context_iterate (context=context@entry=0x7f03b4000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3997 #3 0x00007f03eada82e3 in g_main_context_iteration (context=0x7f03b4000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #4 0x00007f03ec1aafbb in QEventDispatcherGlib::processEvents (this=0x7f03b4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f03ec14f1ab in QEventLoop::exec (this=this@entry=0x7f03bee0bd60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #6 0x00007f03ebf69a12 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f03ebf6abac in QThreadPrivate::start (arg=0x55f9c6ef1740) at thread/qthread_unix.cpp:329 #8 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #9 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 6 (Thread 0x7f03d5782700 (LWP 11835)): #0 0x00007f03ebbdfaff in __GI___poll (fds=0x55f9c6e2f470, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f03eada81ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x55f9c6e2f470, timeout=<optimized out>, context=0x55f9c6e2f380) at ../../../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x55f9c6e2f380, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042 #3 0x00007f03eada82e3 in g_main_context_iteration (context=context@entry=0x55f9c6e2f380, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #4 0x00007f03d5fce99d in dconf_gdbus_worker_thread (user_data=0x55f9c6e2f380) at ../gdbus/dconf-gdbus-thread.c:82 #5 0x00007f03eadd1931 in g_thread_proxy (data=0x55f9c6e354c0) at ../../../glib/gthread.c:807 #6 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 5 (Thread 0x7f03e643e700 (LWP 11764)): #0 0x00007f03ebbdfaff in __GI___poll (fds=0x7f03e00450f0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f03eada81ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f03e00450f0, timeout=<optimized out>, context=0x7f03e0000c20) at ../../../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x7f03e0000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042 #3 0x00007f03eada82e3 in g_main_context_iteration (context=0x7f03e0000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #4 0x00007f03ec1aafbb in QEventDispatcherGlib::processEvents (this=0x7f03e0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f03ec14f1ab in QEventLoop::exec (this=this@entry=0x7f03e643dd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #6 0x00007f03ebf69a12 in QThread::exec (this=this@entry=0x7f03ec541d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f03ec4bdf4b in QDBusConnectionManager::run (this=0x7f03ec541d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179 #8 0x00007f03ebf6abac in QThreadPrivate::start (arg=0x7f03ec541d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329 #9 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #10 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 4 (Thread 0x7f03d5f83700 (LWP 11818)): #0 0x00007f03ebbdfaff in __GI___poll (fds=0x55f9c6e48fc0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f03eada81ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x55f9c6e48fc0, timeout=<optimized out>, context=0x55f9c6e48ed0) at ../../../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x55f9c6e48ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042 #3 0x00007f03eada82e3 in g_main_context_iteration (context=0x55f9c6e48ed0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #4 0x00007f03eada8331 in glib_worker_main (data=<optimized out>) at ../../../glib/gmain.c:5996 #5 0x00007f03eadd1931 in g_thread_proxy (data=0x7f03cc001b60) at ../../../glib/gthread.c:807 #6 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7f03d6ccd700 (LWP 11781)): #0 0x00007f03ebbdfaff in __GI___poll (fds=0x7f03cc004a60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f03eada81ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f03cc004a60, timeout=<optimized out>, context=0x7f03cc000c20) at ../../../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x7f03cc000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042 #3 0x00007f03eada82e3 in g_main_context_iteration (context=0x7f03cc000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108 #4 0x00007f03ec1aafa2 in QEventDispatcherGlib::processEvents (this=0x7f03cc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007f03ec14f1ab in QEventLoop::exec (this=this@entry=0x7f03d6cccd60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #6 0x00007f03ebf69a12 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f03ebf6abac in QThreadPrivate::start (arg=0x55f9c6d19710) at thread/qthread_unix.cpp:329 #8 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #9 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f03d4f81700 (LWP 11854)): #0 0x00007f03ebbdfaff in __GI___poll (fds=0x7f03c0017550, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f03eada81ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f03c0017550, timeout=<optimized out>, context=0x7f03c00147a0) at ../../../glib/gmain.c:4346 #2 g_main_context_iterate (context=0x7f03c00147a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042 #3 0x00007f03eada8533 in g_main_loop_run (loop=0x7f03c0014890) at ../../../glib/gmain.c:4241 #4 0x00007f03d6305eda in gdbus_shared_thread_func (user_data=0x7f03c0014770) at ../../../gio/gdbusprivate.c:279 #5 0x00007f03eadd1931 in g_thread_proxy (data=0x7f03c0002ea0) at ../../../glib/gthread.c:807 #6 0x00007f03eb709609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007f03ebbec293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f03e8d9f840 (LWP 11763)): #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f03ecc82f9b in KCrash::defaultCrashHandler (sig=6) at ./src/kcrash.cpp:577 #2 <signal handler called> #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #4 0x00007f03ebaef859 in __GI_abort () at abort.c:79 #5 0x00007f03ebf2fbe7 in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1914 #6 QMessageLogger::fatal (this=this@entry=0x7fff4e28ea10, msg=msg@entry=0x7f03e87d00b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893 #7 0x00007f03e8713d65 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:90 #8 QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at qwaylanddisplay.cpp:204 #9 0x00007f03e872516c in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55f9c6b30160) at qwaylanddisplay.cpp:222 #10 0x00007f03ec1876f0 in doActivate<false> (sender=0x55f9c6bb26f0, signal_index=4, argv=0x7fff4e28eb20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395 #11 0x00007f03ec180a87 in QMetaObject::activate (sender=sender@entry=0x55f9c6bb26f0, m=m@entry=0x7f03ec3ea1e0 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3946 #12 0x00007f03ec14d247 in QAbstractEventDispatcher::awake (this=this@entry=0x55f9c6bb26f0) at .moc/moc_qabstracteventdispatcher.cpp:149 #13 0x00007f03ec1aafdc in QEventDispatcherGlib::processEvents (this=0x55f9c6bb26f0, flags=...) at kernel/qeventdispatcher_glib.cpp:430 #14 0x00007f03ec14f1ab in QEventLoop::exec (this=this@entry=0x7fff4e28ec40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #15 0x00007f03ec157354 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #16 0x000055f9c68a2cf9 in main (argc=<optimized out>, argv=<optimized out>) at ./src/kded.cpp:795
#6 QMessageLogger::fatal (this=this@entry=0x7fff4e28ea10, msg=msg@entry=0x7f03e87d00b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
#6 QMessageLogger::fatal (this=this@entry=0x7fffd70c5ba0, msg=msg@entry=0x7ff994ac00b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893 This means that the compositor crashed. Due to a Qt issue, when this happens, the app using it will crash too. KDE developers submitted a fix, but sadly it was not merged. See https://codereview.qt-project.org/c/qt/qtwayland/+/308984. Until we get better handling of this in Qt, the best we can do is debug why the compositor crashed in the first place. So can you please get a backtrace of the crash in kwin_wayland and then file a new bug report with it on kwin | wayland-generic? Thanks! You may be able to use the `coredumpctl` utility to retrieve the backtrace. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl