https://bugs.kde.org/show_bug.cgi?id=418602
Bug ID: 418602 Summary: plasmashell aborted when logging in to Plasma on Wayland with the message "The Wayland connection experienced a fatal error: Protocol error" Product: plasmashell Version: 5.18.1 Platform: Fedora RPMs OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: generic-wayland Assignee: plasma-b...@kde.org Reporter: matthew.fagn...@utoronto.ca Target Milestone: 1.0 SUMMARY I've seen plasmashell abort when logging into Plasma on Wayland in a Fedora 32 KDE Plasma spin installation. The plasmashell aborts have occurred about 12 times from Plasma 5.17.4 - 5.18.2. The screen was black except for the cursor which moved around normally. plasmashell didn't restart automatically. These plasmashell crashes have usually happened after a Plasma on Wayland session had crashed and sddm reappeared. The following plasmashell abort was with Plasma 5.18.2, KF 5.67.0, Qt 5.13.2 after a kwin_wayland segmentation fault of the type I reported at https://bugs.kde.org/show_bug.cgi?id=416974 Core was generated by `/usr/bin/plasmashell'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 return ret; [Current thread is 1 (Thread 0x7f85a1aac580 (LWP 3242))] (gdb) thread apply all bt Thread 3 (Thread 0x7f858d69c700 (LWP 3636)): #0 0x00007f859f9639cf in __GI___poll (fds=0x7f85800029e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f859e57fa8d in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f85800029e0, timeout=<optimized out>, context=0x7f8580000c30) at ../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x7f8580000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4042 #3 0x00007f859e57fbc3 in g_main_context_iteration (context=0x7f8580000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #4 0x00007f859fec1b75 in QEventDispatcherGlib::processEvents (this=0x7f8580000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007f859fe751db in QEventLoop::exec (this=this@entry=0x7f858d69bd80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x00007f859fcea6e7 in QThread::exec (this=this@entry=0x55cee4c18fc0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x00007f85a1442d89 in QQmlThreadPrivate::run (this=0x55cee4c18fc0) at qml/ftw/qqmlthread.cpp:152 #8 0x00007f859fceb9b6 in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:360 #9 0x00007f859f206432 in start_thread (arg=<optimized out>) at pthread_create.c:477 #10 0x00007f859f96e833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f858e934700 (LWP 3244)): #0 0x00007f859f9639cf in __GI___poll (fds=0x7f85880029e0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f859e57fa8d in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f85880029e0, t--Type <RET> for more, q to quit, c to continue without paging--c imeout=<optimized out>, context=0x7f8588000c30) at ../glib/gmain.c:4346 #2 g_main_context_iterate (context=context@entry=0x7f8588000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4042 #3 0x00007f859e57fbc3 in g_main_context_iteration (context=0x7f8588000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #4 0x00007f859fec1b75 in QEventDispatcherGlib::processEvents (this=0x7f8588000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007f859fe751db in QEventLoop::exec (this=this@entry=0x7f858e933d50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x00007f859fcea6e7 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x00007f85a0dc64da in QDBusConnectionManager::run (this=0x7f85a0e34060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #8 0x00007f859fceb9b6 in QThreadPrivate::start(void*) () at thread/qthread_unix.cpp:360 #9 0x00007f859f206432 in start_thread (arg=<optimized out>) at pthread_create.c:477 #10 0x00007f859f96e833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f85a1aac580 (LWP 3242)): #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f859f892895 in __GI_abort () at abort.c:79 #2 0x00007f859fcb7a25 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1907 #3 QMessageLogger::fatal (this=this@entry=0x7fff06080940, msg=msg@entry=0x7f858ef47e70 "The Wayland connection experienced a fatal error: %s") at global/qlogging.cpp:888 #4 0x00007f858eeb4c24 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:91 #5 0x00007f858eeb4c7e in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55cee4ad31f0) at qwaylanddisplay.cpp:210 #6 0x00007f858eebdd1c in QtWaylandClient::QWaylandWindow::setVisible (this=0x55cee4c357f0, visible=<optimized out>) at qwaylandwindow.cpp:411 #7 0x00007f85a023e6c0 in QWindowPrivate::setVisible (this=0x55cee4ca49d0, visible=<optimized out>) at kernel/qwindow.cpp:408 #8 0x000055cee4068772 in ShellCorona::addOutput (this=this@entry=0x55cee4b0c790, screen=<optimized out>, screen@entry=0x55cee4adbdc0) at /usr/src/debug/plasma-workspace-5.18.2-1.fc32.x86_64/shell/shellcorona.cpp:1311 #9 0x000055cee407104b in ShellCorona::load (this=0x55cee4b0c790) at /usr/src/debug/plasma-workspace-5.18.2-1.fc32.x86_64/shell/shellcorona.cpp:766 #10 0x00007f859fe9ca20 in QtPrivate::QSlotObjectBase::call (a=0x7fff06080ca0, r=0x55cee4b0c790, this=0x55cee4c545a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 #11 QMetaObject::activate (sender=0x55cee4b0d700, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789 #12 0x00007f85a1e63565 in KActivities::Consumer::serviceStatusChanged (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kf5-kactivities-5.67.0-1.fc32.x86_64/x86_64-redhat-linux-gnu/src/lib/KF5Activities_autogen/EWIEGA46WW/moc_consumer.cpp:253 #13 0x00007f859fe9cbe1 in QMetaObject::activate (sender=0x55cee4b27c30, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809 #14 0x00007f85a1e63505 in KActivities::ActivitiesCache::serviceStatusChanged (this=this@entry=0x55cee4b27c30, _t1=<optimized out>, _t1@entry=KActivities::Consumer::Running) at /usr/src/debug/kf5-kactivities-5.67.0-1.fc32.x86_64/x86_64-redhat-linux-gnu/src/lib/KF5Activities_autogen/EWIEGA46WW/moc_activitiescache_p.cpp:412 #15 0x00007f85a1e75e6d in KActivities::ActivitiesCache::setAllActivities (this=this@entry=0x55cee4b27c30, _activities=...) at /usr/src/debug/kf5-kactivities-5.67.0-1.fc32.x86_64/src/lib/activitiescache_p.cpp:300 #16 0x00007f85a1e758ab in KActivities::ActivitiesCache::passInfoFromReply<QList<ActivityInfo>, void (KActivities::ActivitiesCache::*)(QList<ActivityInfo> const&)> (f=(void (KActivities::ActivitiesCache::*)(class KActivities::ActivitiesCache * const, const class QList<ActivityInfo> &)) 0x7f85a1e75cd0 <KActivities::ActivitiesCache::setAllActivities(QList<ActivityInfo> const&)>, watcher=0x55cee4b46780, this=0x55cee4b27c30) at /usr/src/debug/kf5-kactivities-5.67.0-1.fc32.x86_64/src/common/dbus/org.kde.ActivityManager.Activities.h:54 #17 KActivities::ActivitiesCache::setAllActivitiesFromReply (this=0x55cee4b27c30, watcher=0x55cee4b46780) at /usr/src/debug/kf5-kactivities-5.67.0-1.fc32.x86_64/src/lib/activitiescache_p.cpp:226 #18 0x00007f859fe9cbe1 in QMetaObject::activate (sender=0x55cee4b46780, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809 #19 0x00007f85a0e13413 in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:158 #20 0x00007f859fe9d312 in QObject::event (this=0x55cee4b46780, e=<optimized out>) at kernel/qobject.cpp:1260 #21 0x00007f85a07dce66 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55cee4b46780, e=0x55cee4b50f10) at kernel/qapplication.cpp:3703 #22 0x00007f859fe76860 in QCoreApplication::notifyInternal2 (receiver=0x55cee4b46780, event=0x55cee4b50f10) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143 #23 0x00007f859fe79af3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55cee4abf770) at kernel/qcoreapplication.cpp:1840 #24 0x00007f859fec20f7 in postEventSourceDispatch (s=s@entry=0x55cee4aef6d0) at kernel/qeventdispatcher_glib.cpp:277 #25 0x00007f859e57f76f in g_main_dispatch (context=0x55cee4b21ea0) at ../glib/gmain.c:3309 #26 g_main_context_dispatch (context=0x55cee4b21ea0) at ../glib/gmain.c:3974 #27 0x00007f859e57faf8 in g_main_context_iterate (context=context@entry=0x55cee4b21ea0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047 #28 0x00007f859e57fbc3 in g_main_context_iteration (context=0x55cee4b21ea0, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #29 0x00007f859fec1b75 in QEventDispatcherGlib::processEvents (this=0x55cee4b31800, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #30 0x00007f859fe751db in QEventLoop::exec (this=this@entry=0x7fff06081340, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #31 0x00007f859fe7cdb6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #32 0x000055cee4044b7f in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.18.2-1.fc32.x86_64/shell/main.cpp:228 The journal at the time of the plasmashell crash showed taht the EGL display didn't start and the error message "The Wayland connection experienced a fatal error: Protocol error" was shown. The problem might've been in Qt particularly qtwayland given those errors. Mar 06 02:29:34 plasmashell[3242]: qt.qpa.wayland: Failed to initialize EGL display 3001 Mar 06 02:29:34 plasmashell[3242]: kf5.kpackage: No metadata file in the package, expected it at: "/usr/share/wallpapers/Next/contents/images/" Mar 06 02:29:34 plasmashell[3242]: kf5.kpackage: No metadata file in the package, expected it at: "/usr/share/wallpapers/Next/contents/images/" Mar 06 02:29:34 plasmashell[3242]: kf5.kpackage: No metadata file in the package, expected it at: "/usr/share/wallpapers/Next/contents/images/" Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:76:9: Unable to assign [undefined] to QStringList Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:75:9: Unable to assign [undefined] to int Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:75:9: Unable to assign [undefined] to int Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:76:9: Unable to assign [undefined] to QStringList Mar 06 02:29:34 plasmashell[3242]: trying to show an empty dialog Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:146:19: QML Loader: Binding loop detected for property "height" Mar 06 02:29:34 plasmashell[3242]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:146:19: QML Loader: Binding loop detected for property "height" Mar 06 02:29:34 plasmashell[3242]: The Wayland connection experienced a fatal error: Protocol error Mar 06 02:29:34 systemd[1]: Started Process Core Dump (PID 3639/UID 0). STEPS TO REPRODUCE 1. Boot a Fedora 32 KDE Plasma spin installation updated to 2020-2-6 with kwin-wayland, plasma-workspace-wayland and their dependencies installed 2. Log in to Plasma 5.18.2 on Wayland 3. Use firefox until plasma crashes as in https://bugs.kde.org/show_bug.cgi?id=416974 This step might take a while. 4. Log in to Plasma 5.18.2 on Wayland OBSERVED RESULT plasmashell aborted when logging in to Plasma on Wayland with the message "The Wayland connection experienced a fatal error: Protocol error" EXPECTED RESULT Plasma would start normally. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora 32 (available in About System) KDE Plasma Version: 5.18.2 KDE Frameworks Version: 5.67.0 Qt Version: 5.13.2 ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.