Bug 427191 - bad config for kscreen causes lots of things to coredump
Summary: bad config for kscreen causes lots of things to coredump
Status: CONFIRMED
Alias: None
Product: KScreen
Classification: Plasma
Component: common (show other bugs)
Version: 5.18.5
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-01 03:13 UTC by Dave
Modified: 2022-11-08 21:26 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 Dave 2020-10-01 03:13:03 UTC
SUMMARY
This was hard to track down because there's nothing in the logs to indicate that the config is bad, or that the monitors aren't happy

STEPS TO REPRODUCE
1. Make a bogus config for 2 monitors that doesnt work in ~/.local/share/kscreen/<GUID>
2. Try and log in via SDDM

OBSERVED RESULT

SDDM either crashes and leaves you at a flashing cursor, drops you back to the login, or leaves you at a black screen with a cursor. Log messages from journalctl are like:

 Process 6590 (kwin_wayland) of user 1000 dumped core.
                                                            
                                                            Stack trace of thread 6590:
                                                            #0  0x00007f36a2e0f9e5 n/a (n/a + 0x0)


systemd-coredump[7949]: Process 7462 (org_kde_powerde) of user 1000 dumped core.
                                                            
                                                            Stack trace of thread 7462:
                                                            #0  0x00007feb9ff799e5 raise (libc.so.6 + 0x3c9e5)
                                                            #1  0x00007feb9ff79a70 __restore_rt (libc.so.6 + 0x3ca70)
                                                            #2  0x00007feb9ff799e5 raise (libc.so.6 + 0x3c9e5)
                                                            #3  0x00007feb9ff62895 abort (libc.so.6 + 0x25895)
                                                            #4  0x00007feba038aa7f _ZNK14QMessageLogger5fatalEPKcz (libQt5Core.so.5 + 0x91a7f)
                                                            #5  0x00007feb8f0928c9 _ZNK15QtWaylandClient15QWaylandDisplay10checkErrorEv.cold (libQt5WaylandClient.so.5 + 0x5b8c9)
                                                            #6  0x00007feb8f0a0ede _ZN15QtWaylandClient15QWaylandDisplay13flushRequestsEv (libQt5WaylandClient.so.5 + 0x69ede)
                                                            #7  0x00007feba0582fb0 _Z10doActivateILb0EEvP7QObjectiPPv (libQt5Core.so.5 + 0x289fb0)
                                                            #8  0x00007feba0585f4c _ZN15QSocketNotifier9activatedEiNS_14QPrivateSignalE (libQt5Core.so.5 + 0x28cf4c)

 polkit-kde-authentication-agent-1[7946]: Failed to create wl_display (No such file or directory)

polkit-kde-authentication-agent-1[7946]: qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.

 systemd-coredump[7864]: Process 7609 (kwalletd5) of user 1000 dumped core.
                                                            
                                                            Stack trace of thread 7609:
                                                            #0  0x00007f3eec6b99e5 raise (libc.so.6 + 0x3c9e5)
                                                            #1  0x00007f3eec6a2895 abort (libc.so.6 + 0x25895)

systemd-coredump[26514]: Process 8389 (plasmashell) of user 1000 dumped core.
                                                             
                                                             Stack trace of thread 25673:
                                                             #0  0x00007f34da7369e5 raise (libc.so.6 + 0x3c9e5)
                                                             #1  0x00007f34da736a70 __restore_rt (libc.so.6 + 0x3ca70)
                                                             #2  0x00007f34da63e7f9 wl_proxy_set_queue (libwayland-client.so.0 + 0x77f9)
                                                             #3  0x00007f34c9b2cf15 _ZN15QtWaylandClient14QWaylandWindow16waitForFrameSyncEi (libQt5WaylandClient.so.5 + 0x6ef15)


EXPECTED RESULT

Usable Debug logging would be helpful.


kwin_wayland, plasmashell, org_kde_powerde, kactivitymanage, kglobalaccel5, kwalletd5 shouldn't all coredump in this case, and should exit gracefully. possibly wait until the screen config is applied to start all these services and fail faster.

if the kscreen config is invalid it should have some input validation and either back out the config (leaving it in someplace safe to review) and revert to a default

log that there is a problem with the display adapters.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 32, plasma-workspace-wayland 5.18.5-2.fc32
(available in About System)
KDE Plasma Version: 5.18.5-2.fc32
KDE Frameworks Version: 5.70.1-1.fc32
Qt Version: 5.14.2-4.fc32

ADDITIONAL INFORMATION
Fedora 32, amdgpu, qt5, wayland