Bug 422984 - system settings crashed on Wayland after I switch between Colors and Icons KCMs
Summary: system settings crashed on Wayland after I switch between Colors and Icons KCMs
Status: RESOLVED UPSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: generic-crash (show other bugs)
Version: 5.19.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: wayland
: 422986 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-06-14 19:13 UTC by Patrick Silva
Modified: 2021-01-13 18:44 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2020-06-14 19:13:58 UTC
SUMMARY
I many color schemes and icon themes installed. When I switch from Colors kcm to Icons kcm, system settings freezes for a while then crashes.

Operating System: Arch Linux 
KDE Plasma Version: 5.19.0
KDE Frameworks Version: 5.71.0
Qt Version: 5.15.0



Thread 12 (Thread 0x7f69fa2bc700 (LWP 146515)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x7f69f4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69fa2bbcd0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69ffc4c098 in QDBusConnectionManager::run (this=0x7f69ffcba080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#7  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x7f69ffcba080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:342
#8  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 11 (Thread 0x7f69af7fe700 (LWP 146751)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f022c in QEventDispatcherGlib::processEvents (this=0x7f69a0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69af7fdd20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x55823d765dd0) at thread/qthread_unix.cpp:342
#7  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 10 (Thread 0x7f69bfd6d700 (LWP 146748)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x7f69b80748e0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69bfd6cd20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x558241e5c410) at thread/qthread_unix.cpp:342
#7  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 9 (Thread 0x7f69db5ef700 (LWP 146521)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x7f69d4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69db5eed00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=this@entry=0x55823634eb70) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69fea92789 in QQmlThreadPrivate::run (this=0x55823634eb70) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:155
#7  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x55823634eb70) at thread/qthread_unix.cpp:342
#8  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f69f21a7700 (LWP 146519)):
#0  0x00007f69fdffae32 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f69f36c84cc in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f69f36c77e8 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f69c9517700 (LWP 146920)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x7f69a805d670, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69c9516d00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=this@entry=0x55823ad935d0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69fea92789 in QQmlThreadPrivate::run (this=0x55823ad935d0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:155
#7  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x55823ad935d0) at thread/qthread_unix.cpp:342
#8  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f69f8b32700 (LWP 146516)):
#0  0x00007f69fdffae32 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f69f36c84cc in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f69f36c77e8 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f69f29a8700 (LWP 146518)):
#0  0x00007f69fdffae32 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f69f36c84cc in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f69f36c77e8 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f69f31a9700 (LWP 146517)):
#0  0x00007f69fdffae32 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f69f36c84cc in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f69f36c77e8 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f69ae7fc700 (LWP 146761)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f022c in QEventDispatcherGlib::processEvents (this=0x7f6998000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69ae7fbd20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x558241f66dd0) at thread/qthread_unix.cpp:342
#7  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f69f19a6700 (LWP 146520)):
#0  0x00007f69ff43305f in poll () from /usr/lib/libc.so.6
#1  0x00007f69fbae2f38 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x7f69e0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7f69f19a5d00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f69ff7b1c32 in QThread::exec (this=this@entry=0x5582361909d0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f69fea92789 in QQmlThreadPrivate::run (this=0x5582361909d0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.0/src/qml/qml/ftw/qqmlthread.cpp:155
#7  0x00007f69ff7b2e0f in QThreadPrivate::start (arg=0x5582361909d0) at thread/qthread_unix.cpp:342
#8  0x00007f69fdff4422 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f69ff43dbf3 in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f69fad90540 (LWP 146513)):
#0  0x00007f69ff37a355 in raise () from /usr/lib/libc.so.6
#1  0x00007f69ff363853 in abort () from /usr/lib/libc.so.6
#2  0x00007f69ff7759ac in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#3  QMessageLogger::fatal (this=this@entry=0x7ffd0604e840, msg=msg@entry=0x7f69faa090b8 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
#4  0x00007f69fa9820fa in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/qt/QtCore/qlogging.h:90
#5  QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/src/debug/qtwayland-everywhere-src-5.15.0/src/client/qwaylanddisplay.cpp:204
#6  0x00007f69fa990699 in QtWaylandClient::QWaylandDisplay::dispatchQueueWhile(wl_event_queue*, std::function<bool ()>, int) (this=0x558235d10180, queue=0x558235ea5d60, condition=..., timeout=timeout@entry=100) at /usr/src/debug/qtwayland-everywhere-src-5.15.0/src/client/qwaylanddisplay.cpp:260
#7  0x00007f69fa995723 in QtWaylandClient::QWaylandWindow::waitForFrameSync (this=0x558235ece350, timeout=100) at /usr/include/c++/10.1.0/new:175
#8  0x00007f69f8e596cc in QtWaylandClient::QWaylandGLContext::swapBuffers (this=0x5582374bb360, surface=<optimized out>) at /usr/src/debug/qtwayland-everywhere-src-5.15.0/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:486
#9  0x00007f6a0013dab5 in QPlatformBackingStore::composeAndFlush (this=this@entry=0x558235f9adc0, window=0x558235f11400, region=..., offset=..., textures=textures@entry=0x558241bad240, translucentBackground=translucentBackground@entry=false) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:116
#10 0x00007f6a005037a4 in QWidgetRepaintManager::flush (this=this@entry=0x558235f99dd0, widget=0x558235d84200, region=..., widgetTextures=<optimized out>, widgetTextures@entry=0x558241bad240) at kernel/qwidgetrepaintmanager.cpp:1179
#11 0x00007f6a00505848 in QWidgetRepaintManager::flush (this=this@entry=0x558235f99dd0) at kernel/qwidgetrepaintmanager.cpp:1092
#12 0x00007f6a005077ba in QWidgetRepaintManager::paintAndFlush (this=<optimized out>) at kernel/qwidgetrepaintmanager.cpp:941
#13 0x00007f6a005383bb in QWidget::event (this=this@entry=0x558235d84200, event=event@entry=0x55823dfd6bd0) at kernel/qwidget.cpp:8972
#14 0x00007f6a0064a18d in QMainWindow::event (this=this@entry=0x558235d84200, event=event@entry=0x55823dfd6bd0) at widgets/qmainwindow.cpp:1341
#15 0x00007f6a00f7522e in KMainWindow::event (this=this@entry=0x558235d84200, ev=ev@entry=0x55823dfd6bd0) at /usr/src/debug/kxmlgui-5.71.0/src/kmainwindow.cpp:885
#16 0x00007f6a00fa4b2a in KXmlGuiWindow::event (this=0x558235d84200, ev=0x55823dfd6bd0) at /usr/src/debug/kxmlgui-5.71.0/src/kxmlguiwindow.cpp:121
#17 0x00007f6a004f66f2 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x558235d84200, e=0x55823dfd6bd0) at kernel/qapplication.cpp:3671
#18 0x00007f69ff99769a in QCoreApplication::notifyInternal2 (receiver=0x558235d84200, event=0x55823dfd6bd0) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#19 0x00007f69ff99a183 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x558235cfcca0) at kernel/qcoreapplication.cpp:1815
#20 0x00007f69ff9f0bd4 in postEventSourceDispatch (s=0x558235d084c0) at kernel/qeventdispatcher_glib.cpp:277
#21 0x00007f69fba9543c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x00007f69fbae2fa9 in ?? () from /usr/lib/libglib-2.0.so.0
#23 0x00007f69fba94221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#24 0x00007f69ff9f0211 in QEventDispatcherGlib::processEvents (this=0x558235d81e60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#25 0x00007f69ff99601c in QEventLoop::exec (this=this@entry=0x7ffd0604f3b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#26 0x00007f69ff99e4a4 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#27 0x0000558234210806 in main (argc=<optimized out>, argv=0x7ffd0604f4d0) at /usr/src/debug/systemsettings-5.19.0/app/main.cpp:168
Comment 1 Nate Graham 2020-10-12 20:52:14 UTC
*** Bug 422986 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2021-01-13 18:44:51 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