https://bugs.kde.org/show_bug.cgi?id=461327
Bug ID: 461327 Summary: kscreenlocker_greet crashed in QtWayland::wl_surface::object Classification: Plasma Product: kscreenlocker Version: 5.26.2 Platform: Fedora RPMs OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: greeter Assignee: plasma-b...@kde.org Reporter: matt.fagn...@bell.net CC: bhus...@gmail.com Target Milestone: --- SUMMARY I booted the Fedora Rawhide live image Fedora-KDE-Live-x86_64-Rawhide-20221102.n.0.iso https://koji.fedoraproject.org/koji/buildinfo?buildID=2083154 in GNOME Boxes QEMU/KVM VM with 3 GiB RAM and 3D acceleration enabled in a Fedora 37 KDE Plasma installation. Plasma 5.26.2 on Wayland started. I left the VM idle for several minutes. The VM's screen had the following message when I used it again. "The screen locker is broken and unlocking isn't possible anymore. In order to unlock switch to a virtual terminal (e.g. Ctrl+Alt+F2), log in and execute the command: loginctl unlock-session 1 Then log out of the virtual session with Ctrl+D, and switch back to the running session (Ctrl+Alt+F1)." After I followed those instructions, I saw /usr/libexec/kscreenlocker_greet crashed in the journal, but coredumpctl didn't show the crash. I reproduced the crash by running /usr/libexec/kscreenlocker_greet and /usr/libexec/kscreenlocker_greet --testing in konsole. coredumpctl gdb showed that QtWayland::wl_surface::object with an argument this=0x10 which looked like an invalid pointer (null plus an offset) Core was generated by `/usr/libexec/kscreenlocker_greet --testing'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f64ad9c8da6 in QtWayland::wl_surface::object (this=0x10) at /usr/include/qt5/QtWaylandClient/5.15.6/QtWaylandClient/private/qwayland-wayland.h:637 637 /usr/include/qt5/QtWaylandClient/5.15.6/QtWaylandClient/private/qwayland-wayland.h: No such file or directory. [Current thread is 1 (Thread 0x7f64ad5cfe80 (LWP 2622))] (gdb) bt #0 0x00007f64ad9c8da6 in QtWayland::wl_surface::object (this=0x10) at /usr/include/qt5/QtWaylandClient/5.15.6/QtWaylandClient/private/qwayland-wayland.h:637 #1 LayerShellQt::QWaylandLayerSurface::QWaylandLayerSurface (this=<optimized out>, shell=<optimized out>, window=<optimized out>, this=<optimized out>, shell=<optimized out>, window=<optimized out>) at /usr/src/debug/layer-shell-qt-5.26.2-1.fc38.x86_64/src/qwaylandlayersurface.cpp:38 #2 0x00007f64ad9c95b9 in LayerShellQt::QWaylandLayerShell::createLayerSurface (this=0x55af214b65e0, window=0x55af217cf540) at /usr/src/debug/layer-shell-qt-5.26.2-1.fc38.x86_64/src/qwaylandlayershell.cpp:26 #3 0x00007f64ab929515 in QtWaylandClient::QWaylandWindow::initWindow (this=0x55af217cf540) at /usr/src/debug/qt5-qtwayland-5.15.7-1.fc38.x86_64/src/client/qwaylandwindow.cpp:141 #4 0x00007f64ab92984d in QtWaylandClient::QWaylandWindow::setVisible (visible=<optimized out>, this=0x55af217cf540) at /usr/src/debug/qt5-qtwayland-5.15.7-1.fc38.x86_64/src/client/qwaylandwindow.cpp:436 #5 QtWaylandClient::QWaylandWindow::setVisible (this=0x55af217cf540, visible=<optimized out>) at /usr/src/debug/qt5-qtwayland-5.15.7-1.fc38.x86_64/src/client/qwaylandwindow.cpp:428 #6 0x00007f64ac176097 in QWindowPrivate::setVisible(bool) () from /lib64/libQt5Gui.so.5 #7 0x000055af1f7097bf in ScreenLocker::UnlockApp::createViewForScreen (this=this@entry=0x7ffd63c765e0, screen=screen@entry=0x55af2112c790) at /usr/src/debug/kscreenlocker-5.26.2-1.fc38.x86_64/greeter/greeterapp.cpp:417 #8 0x000055af1f709f34 in ScreenLocker::UnlockApp::handleScreen (this=this@entry=0x7ffd63c765e0, screen=0x55af2112c790) at /usr/src/debug/kscreenlocker-5.26.2-1.fc38.x86_64/greeter/greeterapp.cpp:306 #9 0x000055af1f700de0 in ScreenLocker::UnlockApp::initialViewSetup (this=0x7ffd63c765e0) at /usr/src/debug/kscreenlocker-5.26.2-1.fc38.x86_64/greeter/greeterapp.cpp:296 #10 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kscreenlocker-5.26.2-1.fc38.x86_64/greeter/main.cpp:187 The journal showed errors like the following at the times of the crashes. Nov 02 12:32:44 kscreenlocker_greet[2291]: kscreenlocker_greet: Lockscreen QML outdated, falling back to default Nov 02 12:32:46 kernel: Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7 Nov 02 12:32:46 kernel: Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7 Nov 02 12:32:46 kernel: Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7 Nov 02 12:32:46 kscreenlocker_greet[2291]: kf.kirigami: Failed to find a Kirigami platform plugin Nov 02 12:32:47 kernel: show_signal_msg: 3 callbacks suppressed Nov 02 12:32:47 kernel: kscreenlocker_g[2291]: segfault at 18 ip 00007ff9e1838da6 sp 00007fff131564d0 error 4 in libLayerShellQtInterface.so.5.26.2[7ff9e1837000+3000] likely on CPU 3 (core 3, socket 0) Nov 02 12:32:47 kernel: Code: 8d 64 24 38 48 89 44 24 28 48 89 ee 4c 89 e7 e8 10 e8 ff ff 48 89 ef e8 08 e9 ff ff 4c 89 e6 4c 89 ef 89 44 24 24 49 8b 46 30 <4c> 8b 48 18 4c 89 4c 24 18 e8 cc e9 ff ff 48 8b 44 24 40 4d 8b 7f Nov 02 12:32:47 audit[2291]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=2291 comm="kscreenlocker_g" exe="/usr/libexec/kscreenlocker_greet" sig=11 res=1 Nov 02 12:32:47 kwin_wayland_wrapper[1467]: not a valid new object id (2), message get_registry(n) Nov 02 12:32:47 kwin_wayland_wrapper[1467]: error in client communication (pid 1467) Nov 02 12:32:47 kwin_wayland_wrapper[2312]: wl_display@1: error 1: invalid arguments for wl_display@1.get_registry Nov 02 12:32:47 kscreenlocker_greet[2312]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash Nov 02 12:32:47 kscreenlocker_greet[2312]: The Wayland connection experienced a fatal error: Invalid argument Nov 02 12:32:47 kscreenlocker_greet[2316]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash Nov 02 12:32:47 kscreenlocker_greet[2316]: The Wayland connection broke. Did the Wayland compositor die? Nov 02 12:32:48 kscreenlocker_greet[2320]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash Nov 02 12:32:48 kscreenlocker_greet[2320]: The Wayland connection broke. Did the Wayland compositor die? STEPS TO REPRODUCE 1. Boot a Fedora 37 KDE Plasma installation updated to 2022-11-2 with the updates-testing repo enabled. 2. Log in to Plasma 5.26.2 on Wayland 3. Install GNOME Boxes if it isn't already with sudo dnf install gnome-boxes 4. Download the Fedora Rawhide live image Fedora-KDE-Live-x86_64-Rawhide-20221102.n.0.iso https://koji.fedoraproject.org/koji/buildinfo?buildID=2083154 5. start GNOME Boxes 6. start a QEMU/KVM VM using the image Fedora-KDE-Live-x86_64-Rawhide-20221102.n.0.iso with 3 GiB RAM and 3D acceleration enabled in the settings 7. Once Plasma 5.26.2 on Wayland started, leave the VM idle for several minutes until the screen locker error screen appears. The screen locking time is set to 5 minutes in System Settings. OBSERVED RESULT kscreenlocker_greet crashed in QtWayland::wl_surface::object each of a few times that kscreenlocker_greet ran EXPECTED RESULT kscreenlocker_greet wouldn't crash SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora Rawhide/38 (available in About System) KDE Plasma Version: 5.26.2 KDE Frameworks Version: 5.99.0 Qt Version: 5.15.7 ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.