Summary: | kscreenlocker broken with error message on wayland | ||
---|---|---|---|
Product: | [Plasma] kscreenlocker | Reporter: | Cane Kostovski <trekjunky> |
Component: | greeter | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | CLOSED FIXED | ||
Severity: | normal | CC: | 677ee1vp, bhush94, gustavo.schenkel, g_fretes, horen, kde, ljs80808, marc.collin, matejm98mthw, nate, noloader, nortexoid, postix, trekjunky, vikts |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=438839 | ||
Latest Commit: | https://invent.kde.org/plasma/kscreenlocker/commit/e31b987ba64c74f563fc0f071eda117d99913f15 | Version Fixed In: | 5.23 |
Sentry Crash Report: | |||
Attachments: |
Journalctl output
Journal entries during a single boot |
Description
Cane Kostovski
2021-06-24 03:57:16 UTC
I have the same situation on Arch. Operating System: Arch Linux KDE Plasma Version: 5.22.2 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.12.12-zen1-1-zen (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 2600X Six-Core Processor Memory: 15.6 GiB of RAM Graphics Processor: Radeon RX 580 Series Original Poster updated versions Operating System: OpenSuSE Tumbleweed KDE Plasma Version: 5.22.1 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.12.12-1-default (64-bit) Graphics Platform: Wayland Processors: 8-Core AMD FX 8350 Black Box Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series Original Poster updated versions Operating System: OpenSuSE Tumbleweed KDE Plasma Version: 5.22.2 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.12.13-1-default (64-bit) Graphics Platform: Wayland Processors: 8-Core AMD FX 8350 Black Box Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series kscreenlocker-5.22.2.1-1.1.x86_64.rpm Same problem on Fedora rawhide. *** Bug 439261 has been marked as a duplicate of this bug. *** We seem to all be using Radeon graphics: Operating System: Manjaro Linux KDE Plasma Version: 5.22.3 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.13.0-2-MANJARO (64-bit) Graphics Platform: Wayland Processors: 6 × AMD Ryzen 5 4500U with Radeon Graphics Memory: 14.5 GiB of RAM Graphics Processor: AMD RENOIR In my case Plasma 5.22.2 Framework 5.83.0 Qt: 5.15.2 Kernel 5.13.0-58 Graphics: Wayland Graphics: Radeon RX 5700 XT Operating System: openSUSE Tumbleweed 20210704 KDE Plasma Version: 5.22.2 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.12.13-1-default (64-bit) Graphics Platform: Wayland Processors: 8 × AMD FX(tm)-8350 Eight-Core Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series Same behavior with KDE 5.22.3 Operating System: Arch Linux KDE Plasma Version: 5.22.3 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.12.14-arch1-1(64-bit) Graphics Platform: Wayland Processors: 64 × AMD Ryzen Threadripper 3970X-32-Core Memory: 94.2 GiB of RAM Graphics Processor: AMD Radeon RX 5700 XT Operating System: openSUSE Tumbleweed 20210706 KDE Plasma Version: 5.22.2 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 Kernel Version: 5.13.0-1-default (64-bit) Graphics Platform: Wayland Processors: 8 × AMD FX(tm)-8350 Eight-Core Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series There isn't a lot to go on from these comments. Journalctl output after the event? I suspect this is the same cause as 438839. Created attachment 139965 [details]
Journalctl output
Crash around 10:10
Jul 09 04:25:33│kernel│kscreenlocker_g[5270]: segfault at 18 ip 00007fa9e35df53b sp 00007ffff62879a0 error 4 in libLayerShellQtInterface.so.5.22.2[7fa9e35de000+2000] │ │Jul 09 04:27:19│kernel│kscreenlocker_g[5313]: segfault at 0 ip 00007f2fb0692516 sp 00007ffea4aeb950 error 4 in libwayland-client.so.0.3.0[7f2fb068e000+5000] Ok, not quite the same as 438839 but similar. We're getting the placeholder screen. That gets into ``` init(shell->get_layer_surface(window->waylandSurface()->object(), window->waylandScreen()->output(), interface->layer(), interface->scope())); ``` This then obviously crashes. What priority is it to fix this issue? How soon will it be fixed? Sorry about my impatience. Don't do that please. If you want to help please confirm the blind theory above with some debug on your system that reproduces it. I have the same problem, but what I can add to this bug report is it happens when my Monitor is using the Deep Sleep function, which is like a standby function. In this mode the OS needs do a power cycle on video adapter to wake the monitor up. I have tried just turn off the option but was in vain, because I reinstalled the system(moved to f2fs on a NVME SSD) few day ago and forgot to add the kernel instruction on the bootloader for optimize power on my AMD RDNA2 (amdgpu.aspm=1). This is the 3rd day I test it and the problem can be avoided doing this. Neither Kernel 5.11.x to 5.13.x can wake up the monitor in this state, which covers all new AMD Cards (Big Navi / RX 6000 / Navi 2x / RDNA2)), at least not using open source drivers. On Windows it work. An issue still related is soon after I unlock the session I can notice all my KDE Apps reside to another shape, Konsole, Dolphin, Konversation are examples. My theory is when the machine enters in a state of "standby"(not hibernating or suspended) the video adapter sleep, and Wayland can't find any available display to handle the session to unlock the screen, also resizing to small resolution. Maybe what we need in here is to a dummy video adapter to exist and handle stuff while none are available, changing back to the first available adapter after. Just for observation, using X.Org this issue of unlocking session doesn't happen, the other however still exist. https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-Linux-5.12-More-Fixes Operating System: Slackware 15.0-beta KDE Plasma Version: 5.22.3 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.12.16 (64-bit) Graphics Platform: Wayland Processors: 28 × Intel® Xeon® CPU E5-2697 v3 @ 2.60GHz Memory: 125.7 GiB of RAM Graphics Processor: AMD Radeon RX 6800 XT Operating System: openSUSE Tumbleweed 20210718 KDE Plasma Version: 5.22.3 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.13.2-1-default (64-bit) Graphics Platform: Wayland Processors: 8 × AMD FX(tm)-8350 Eight-Core Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series How do I get debug info from kscreenlocker? Created attachment 140225 [details]
Journal entries during a single boot
Jul 20 23:33:17 is when I started KScreenLocker, Turned Off My TV, And Turned it back on to see the problem
Operating System: openSUSE Tumbleweed 20210726 KDE Plasma Version: 5.22.3 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.13.4-1-default (64-bit) Graphics Platform: Wayland Processors: 8 × AMD FX(tm)-8350 Eight-Core Processor Memory: 31.3 GiB of RAM Graphics Processor: Radeon RX 570 Series 2021-06-24 I reported the bug. I don't know the date this bug was confirmed. It is now 2021-07-30. How patient need I be? Should I have a six pack beer every day to help me get to the day it is fixed? I asked how to get the debug report for kscreenlocker on 2021-07-21, but I did not get an answer. I guess it is not needed from me. Please give me a rough estimate for when it will be fixed? I do not need any further info. I do need you to not spam my bug tracker. It makes it hard to find the comments that do add value. To post an update: There was a patch for layershell-qt that got merged. That might fix the issue on it's own, but ideally we need to refactor kscreenlocker code to handle screens in a more sane way then add a guard for the null geometry that we would get from Qt's placeholder screen. # zypper search *layershell-qt* Loading repository data... Reading installed packages... No matching items found. Just to answer this question to Cane Kostovski from comment #24 If you intend the determine version of the package and to figure out if it contains the patch, you've searched wrong, use regex for those cases: ``` zypper search layer | grep -iE "(shell|qt)" ``` > i+ | layer-shell-qt5 | wlr-layer-shell integration for Qt 5 Here's the changelog by the way: https://opensuse.pkgs.org/tumbleweed/kde-frameworks-5-x86_64/layer-shell-qt5-5.22.4-8.2.x86_64.rpm.html (In reply to postix from comment #25) > Just to answer this question to Cane Kostovski from comment #24 > If you intend the determine version of the package and to figure out if it > contains the patch, you've searched wrong, use regex for those cases: > ``` zypper search layer | grep -iE "(shell|qt)" ``` > > > i+ | layer-shell-qt5 | wlr-layer-shell integration for Qt 5 > > Here's the changelog by the way: > https://opensuse.pkgs.org/tumbleweed/kde-frameworks-5-x86_64/layer-shell-qt5- > 5.22.4-8.2.x86_64.rpm.html thanks so much! ~> zypper search layer | grep -iE "(shell|qt)" | QtAV-players | QtAV/QML players | package | gtk-layer-shell | Library to create desktop components for Wayland | srcpackage | gtk-layer-shell-devel | Development files for gtk-layer-shell | package | layer-shell-qt | wlr-layer-shell integration for Qt | srcpackage i | layer-shell-qt5 | wlr-layer-shell integration for Qt 5 | package | layer-shell-qt5-devel | wlr-layer-shell integration for Qt 5 - development files | package | libgtk-layer-shell0 | Library to create desktop components for Wayland | package | typelib-1_0-GtkLayerShell-0_1 | Library to create desktop components for Wayland | package | xt7-player-mpv | Qt/Gambas gui to mpv | package | xt7-player-mpv | Qt/Gambas gui to mpv | srcpackage (In reply to postix from comment #25) > Just to answer this question to Cane Kostovski from comment #24 > If you intend the determine version of the package and to figure out if it > contains the patch, you've searched wrong, use regex for those cases: > ``` zypper search layer | grep -iE "(shell|qt)" ``` > > > i+ | layer-shell-qt5 | wlr-layer-shell integration for Qt 5 > > Here's the changelog by the way: > https://opensuse.pkgs.org/tumbleweed/kde-frameworks-5-x86_64/layer-shell-qt5- > 5.22.4-8.2.x86_64.rpm.html # zypper search shell | grep -iE "(layer|qt)" | gtk-layer-shell | Library to create desktop components for Wayland | srcpackage | gtk-layer-shell-devel | Development files for gtk-layer-shell | package | layer-shell-qt | wlr-layer-shell integration for Qt | srcpackage i | layer-shell-qt5 | wlr-layer-shell integration for Qt 5 | package | layer-shell-qt5-devel | wlr-layer-shell integration for Qt 5 - development files | package | libgtk-layer-shell0 | Library to create desktop components for Wayland | package | libqt5-kwayland-shellplugin | A Qt platform integration plugin | package | typelib-1_0-GtkLayerShell-0_1 | Library to create desktop components for Wayland | package *** Bug 440522 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/kscreenlocker/-/merge_requests/46 Git commit e31b987ba64c74f563fc0f071eda117d99913f15 by David Edmundson. Committed on 15/08/2021 at 20:27. Pushed by davidedmundson into branch 'master'. Avoid creating windows for placeholder screens. Unfortuantely QPlatformScreen::isPlaceholder is not exposed so we need a heuristic. On wayland all placeholder screens have a null geometry. We also know that any real screen must have a geometry so we don't need to watch that QScreen for changes. M +3 -0 greeter/greeterapp.cpp https://invent.kde.org/plasma/kscreenlocker/commit/e31b987ba64c74f563fc0f071eda117d99913f15 i installed layer-shell-qt5-5.22.4-8.2.x86_64.rpm from https://opensuse.pkgs.org/tumbleweed/kde-frameworks-5-x86_64/layer-shell-qt5-5.22.4-8.2.x86_64.rpm.html with only one screen i still have this issue. Are you using kscreenlocker from git master? Because that's where the KDE part of the fix is. i only took layer-shell-qt5, if i also need kscreenlocker, i will wait, thanks I wonder if they don't verify it for version 5.23 My electric bill will be huge? If anyone does have issues with Plasma 5.23 please open a new bug with a new backtrace. Git commit 4a439143baf75b9a00cf17a3b7a34ae9ac93c68a by David Edmundson. Committed on 15/09/2021 at 22:55. Pushed by davidedmundson into branch 'master'. Fix a crash when creating views on the placeholder screen When a compositor has no outputs listed Qt creates a dummy placeholder QScreen object that does not represent a wl_output. This should still be fixed in the clients to not create a view, it's wasteful and probably will still have plenty of other bugs, hence the giant warning, but it's still worth guarding. M +9 -1 src/qwaylandlayersurface.cpp https://invent.kde.org/plasma/layer-shell-qt/commit/4a439143baf75b9a00cf17a3b7a34ae9ac93c68a |