Bug 430741 - kwalletd5 crashes on logout frrom Wayland session
Summary: kwalletd5 crashes on logout frrom Wayland session
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: master
Platform: Neon Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2020-12-23 10:59 UTC by Patrick Silva
Modified: 2021-01-13 18:44 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2020-12-23 10:59:40 UTC
SUMMARY
Sometimes my system generates coredump of kwalletd5 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 2 (Thread 0x7f927ab08700 (LWP 11814)):
#0  0x00007f9280008aff in __GI___poll (fds=0x7f9274005240, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f927f00f1ae in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f9274005240, timeout=<optimized out>, context=0x7f9274000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f9274000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f927f00f2e3 in g_main_context_iteration (context=0x7f9274000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f92805f0fa2 in QEventDispatcherGlib::processEvents (this=0x7f9274000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f92805951ab in QEventLoop::exec (this=this@entry=0x7f927ab07cf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f92803afa12 in QThread::exec (this=this@entry=0x7f92808d4d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f9280850f4b in QDBusConnectionManager::run (this=0x7f92808d4d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f92803b0bac in QThreadPrivate::start (arg=0x7f92808d4d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f9281829609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f9280015293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f927ce77880 (LWP 11686)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f927ff18859 in __GI_abort () at abort.c:79
#2  0x00007f9280375be7 in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1914
#3  QMessageLogger::fatal (this=this@entry=0x7ffd4db48030, msg=msg@entry=0x7f927ef3c0b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
#4  0x00007f927ee7fd65 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:90
#5  QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at qwaylanddisplay.cpp:204
#6  0x00007f927ee9116c in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5583f59baed0) at qwaylanddisplay.cpp:222
#7  0x00007f92805cd6f0 in doActivate<false> (sender=0x5583f59fb120, signal_index=4, argv=0x7ffd4db48140) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#8  0x00007f92805c6a87 in QMetaObject::activate (sender=sender@entry=0x5583f59fb120, m=m@entry=0x7f92808301e0 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#9  0x00007f9280593247 in QAbstractEventDispatcher::awake (this=this@entry=0x5583f59fb120) at .moc/moc_qabstracteventdispatcher.cpp:149
#10 0x00007f92805f0fdc in QEventDispatcherGlib::processEvents (this=0x5583f59fb120, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#11 0x00007f92805951ab in QEventLoop::exec (this=this@entry=0x7ffd4db48260, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#12 0x00007f928059d354 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#13 0x00005583f51201f6 in ?? ()
#14 0x00007f927ff1a0b3 in __libc_start_main (main=0x5583f511fa10, argc=4, argv=0x7ffd4db48588, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd4db48578) at ../csu/libc-start.c:308
#15 0x00005583f512066e in ?? ()
Comment 1 Nate Graham 2020-12-23 15:30:00 UTC
#3  QMessageLogger::fatal (this=this@entry=0x7ffd4db48030, msg=msg@entry=0x7f927ef3c0b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
Comment 2 Nate Graham 2021-01-13 18:44:49 UTC
#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