Created attachment 135998 [details] Journal entry of the plasma-plasmashell user service SUMMARY Plasmashell as well as drkonqi crash to a blank, black screen, when the systemd service is used. STEPS TO REPRODUCE 1. Enable service with: `kwriteconfig5 --file startkderc --group General --key systemdBoot true` 2. Login to a Wayland session via SDDM SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.21.0 KDE Frameworks Version: 5.79.0 Qt Version: 5.15.2 Kernel Version: 5.10.16-arch1-1 OS Type: 64-bit Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 PRO 4750U with Radeon Graphics Memory: 14.9 GiB of RAM Graphics Processor: AMD RENOIR ADDITIONAL INFORMATION ``` Upon setting `KDE_DBUG=1`, the cordump is available, and after filtering, the stacktrace of the plasmashell crash looks like this: PID: 968 (plasmashell) UID: 1000 (username) GID: 1000 (username) Signal: 11 (SEGV) Timestamp: Sun 2021-02-21 12:02:58 IST (11min ago) Command Line: /usr/bin/plasmashell --no-respawn Executable: /usr/bin/plasmashell Control Group: /user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service Unit: user@1000.service User Unit: plasma-plasmashell.service Slice: user-1000.slice Owner UID: 1000 (username) Boot ID: 0248037dc61d438daf132a8e7ad2ea5c Machine ID: 89025bd2327742a98f1b9c991e2606e4 Hostname: hostname Storage: /var/lib/systemd/coredump/core.plasmashell.1000.0248037dc61d438daf132a8e7ad2ea5c.968.1613889178000000.zst Message: Process 968 (plasmashell) of user 1000 dumped core. Stack trace of thread 968: #0 0x00007f53f26d1a52 QScreen::name() const (libQt5Gui.so.5 + 0x163a52) #1 0x00005568688dd570 n/a (plasmashell + 0x40570) #2 0x00005568688e5f1b n/a (plasmashell + 0x48f1b) #3 0x00007f53f2305d86 n/a (libQt5Core.so.5 + 0x2ecd86) #4 0x00007f53f4371842 KActivities::Consumer::serviceStatusChanged(KActivities::Consumer::ServiceStatus) (libKF5Activities.so.5 + 0xc842) #5 0x00007f53f2305dc0 n/a (libQt5Core.so.5 + 0x2ecdc0) #6 0x00007f53f43717e2 n/a (libKF5Activities.so.5 + 0xc7e2) #7 0x00007f53f4384216 n/a (libKF5Activities.so.5 + 0x1f216) #8 0x00007f53f4383c5b n/a (libKF5Activities.so.5 + 0x1ec5b) #9 0x00007f53f2305dc0 n/a (libQt5Core.so.5 + 0x2ecdc0) #10 0x00007f53f2ca09e0 QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) (libQt5DBus.so.5 + 0x649e0) #11 0x00007f53f22fb532 QObject::event(QEvent*) (libQt5Core.so.5 + 0x2e2532) #12 0x00007f53f2f6d752 QApplicationPrivate::notify_helper(QObject*, QEvent*) (libQt5Widgets.so.5 + 0x15a752) #13 0x00007f53f22cea2a QCoreApplication::notifyInternal2(QObject*, QEvent*) (libQt5Core.so.5 + 0x2b5a2a) #14 0x00007f53f22d1523 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (libQt5Core.so.5 + 0x2b8523) #15 0x00007f53f2328054 n/a (libQt5Core.so.5 + 0x30f054) #16 0x00007f53f06b0b84 g_main_context_dispatch (libglib-2.0.so.0 + 0x53b84) #17 0x00007f53f0704c21 n/a (libglib-2.0.so.0 + 0xa7c21) #18 0x00007f53f06af3b1 g_main_context_iteration (libglib-2.0.so.0 + 0x523b1) #19 0x00007f53f2327691 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (libQt5Core.so.5 + 0x30e691) #20 0x00007f53f22cd3ac QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (libQt5Core.so.5 + 0x2b43ac) #21 0x00007f53f22d5844 QCoreApplication::exec() (libQt5Core.so.5 + 0x2bc844) #22 0x00005568688bb069 n/a (plasmashell + 0x1e069) #23 0x00007f53f1c94b25 __libc_start_main (libc.so.6 + 0x27b25) #24 0x00005568688bb2ae n/a (plasmashell + 0x1e2ae) Stack trace of thread 1249: #0 0x00007f53f11299ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba) #1 0x00007f53f1123574 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf574) #2 0x00007f53f20ed048 QWaitCondition::wait(QMutex*, QDeadlineTimer) (libQt5Core.so.5 + 0xd4048) #3 0x00007f53f20ea4f4 n/a (libQt5Core.so.5 + 0xd14f4) #4 0x00007f53f20e6eff n/a (libQt5Core.so.5 + 0xcdeff) #5 0x00007f53f111d299 start_thread (libpthread.so.0 + 0x9299) #6 0x00007f53f1d6c053 __clone (libc.so.6 + 0xff053) Stack trace of thread 1242: #0 0x00007f53f11299ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba) #1 0x00007f53f1123574 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf574) #2 0x00007f53f20ed048 QWaitCondition::wait(QMutex*, QDeadlineTimer) (libQt5Core.so.5 + 0xd4048) #3 0x00007f53f20ea4f4 n/a (libQt5Core.so.5 + 0xd14f4) #4 0x00007f53f20e6eff n/a (libQt5Core.so.5 + 0xcdeff) #5 0x00007f53f111d299 start_thread (libpthread.so.0 + 0x9299) #6 0x00007f53f1d6c053 __clone (libc.so.6 + 0xff053) Stack trace of thread 1011: #0 0x00007f53f11299ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba) #1 0x00007f53f1123260 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf260) #2 0x00007f53e6d1c9bc n/a (radeonsi_dri.so + 0x4ee9bc) #3 0x00007f53e6d1b238 n/a (radeonsi_dri.so + 0x4ed238) #4 0x00007f53f111d299 start_thread (libpthread.so.0 + 0x9299) #5 0x00007f53f1d6c053 __clone (libc.so.6 + 0xff053) Stack trace of thread 1250: #0 0x00007f53f11299ba __futex_abstimed_wait_common64 (libpthread.so.0 + 0x159ba) #1 0x00007f53f1123574 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf574) #2 0x00007f53f20ed048 QWaitCondition::wait(QMutex*, QDeadlineTimer) (libQt5Core.so.5 + 0xd4048) #3 0x00007f53f20ea4f4 n/a (libQt5Core.so.5 + 0xd14f4) #4 0x00007f53f20e6eff n/a (libQt5Core.so.5 + 0xcdeff) #5 0x00007f53f111d299 start_thread (libpthread.so.0 + 0x9299) #6 0x00007f53f1d6c053 __clone (libc.so.6 + 0xff053) Stack trace of thread 1005: #0 0x00007f53f11299ba __futex_abstimed_wait_common64 (libpthread.so ``` Also attached is the journal entry of the service
Some additional information: * This machine is a laptop connected to an external display. I use only the external monitor, with the built-in display kept disabled. * The plasma crash seems to always have happened when using a Wayland session, but it would automatically recover. The difference, now, when using the systemd service was that it did not recover. It was upon adding the KDE_DEBUG=1 env var to the unit file, that it recovered automatically again, and registered a plasmashell crash so that its information was retrievable with 'coredumpctl'.
Created attachment 135999 [details] Journal entry of the filtered plasma-plasmashell user service
Crash is here. As for restarting there was a bug if we get an assert instead of a seg fault. We fixed this in latest (unreleased) kcrash framework, which is also why that env var fixes it. *** This bug has been marked as a duplicate of bug 431401 ***
*** This bug has been marked as a duplicate of bug 421700 ***