Bug 2043771 - kernel-4.18.0-358.el8.x86_64 doing strange things to kde on centos stream
Summary: kernel-4.18.0-358.el8.x86_64 doing strange things to kde on centos stream
Keywords:
Status: CLOSED DUPLICATE of bug 2044587
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: kernel
Version: CentOS Stream
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Lyude
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-01-21 23:24 UTC by Troy Dawson
Modified: 2022-05-18 06:59 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2082719 (view as bug list)
Environment:
Last Closed: 2022-05-06 21:50:34 UTC
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-109178 0 None None None 2022-01-21 23:25:54 UTC

Description Troy Dawson 2022-01-21 23:24:59 UTC
Description of problem:
Thus far, we are seeing two problems with KDE that only show up on kernel 4.18.0-358.el8 on CentOS Stream 8

1 - Unable to unlock your screen. - https://bugzilla.redhat.com/show_bug.cgi?id=2043322
2 - sddm login screen is completely blank

Both of these problems only show up on kernel 4.18.0-358.el8 and go away when you boot into an older kernel.
This happens on real hardware, as well as virtual machines.

Version-Release number of selected component (if applicable):
kernel-4.18.0-358.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Start with CentOS Stream 8 machine.
2. Update to the latest update, with kernel 4.18.0-358.el8
3. Install KDE
dnf install epel-release -y
dnf config-manager --enable powertools
dnf group install kde-desktop -y
systemctl set-default graphical.target

4. To check sddm, enable it, and reboot
systemctl enable sddm -f
reboot

5. To check screen lock problem, log in via gdm, then lock screen
dnf install gdm -y
systemctl enable gdm -f
reboot
* login to Plasma (X11) or Plasma (Wayland) *
* lock screen *

Actual results:
sddm gives you just a black screen.  The mouse icon is there and moves with the mouse.
The screen lock problem, you see the clock, but nothing else, so you cannot log in.

Expected results:
sddm should have a graphical screen allowing you to log in.
The screen unlock should have a place to type in your password when you move your mouse, or type something on the keyboard.

Additional info:
We've tried turning selinux off, and on.
I've looked through several different logs, but I'm not finding anything different between booting between the the kernels.

Comment 1 Michel Dänzer 2022-01-31 09:39:24 UTC
(In reply to Troy Dawson from comment #0)
> Both of these problems only show up on kernel 4.18.0-358.el8 and go away
> when you boot into an older kernel.

Which older version(s) have you tested, specifically?

Comment 2 Turing 2022-01-31 13:03:33 UTC
As someone who has encountered this bug, I can tell you that 4.18.0-348.el8 (the immediately predecessor version) works fine.

Comment 3 Troy Dawson 2022-01-31 14:14:36 UTC
Both 4.18.0-348.2.1.el8_5.x86_64 and 4.18.0-348.el8.x86_64 work correctly.

Comment 4 George 2022-02-11 05:32:43 UTC
duplicate I raised here, Bug 2040536

Issue also in kernel 4.18.0-365.el8.x86_64

Comment 5 Lyude 2022-03-12 19:11:03 UTC
(Setting NEEDINFO on myself to make sure I take a look at this)

Comment 6 Lyude 2022-03-16 22:51:06 UTC
Yeah, I can reproduce this on a VM using virgl just fine. Will start looking into this

Comment 10 Troy Dawson 2022-03-23 15:53:40 UTC
I just found something similar on the KDE bugs.
https://bugs.kde.org/show_bug.cgi?id=445449
https://bugs.kde.org/show_bug.cgi?id=445385

Their bug is dealing with long sddm shutdown time.  It started with the 5.15.2 kernel, and goes away if they go back to the 5.14.16 kernel.
I am seeing these long sddm shutdowns as well, but since they don't stop you from logging in, I didn't worry about them.

Still investigating, but I wanted to put this information here incase anyone else wants to look as well.

Comment 11 Turing 2022-03-23 17:02:11 UTC
I did want to note one thing I noticed when diagnosing this issue on my end. Switching to another TTY and using `loginctl unlock-session' did not unlock the session. In addition, there was some indication from the logs that the session might not have been registering properly with the systemd system.

Comment 12 Jonathan Sattelberger 2022-04-14 16:23:43 UTC
Issue also in kernel 4.18.0-373.el8.x86_64.

Comment 13 Orion Poplawski 2022-04-22 14:30:48 UTC
Still present with kernel-4.18.0-383.el8.x86_64 as well.

Comment 14 Troy Dawson 2022-04-28 22:48:56 UTC
I've done some more debugging.
I'm not at an answer yet, but this is what I've found thus far.
It seems there are several things besides sddm that fail on the newer kernels (kscreenlocker_greet, akonadi, sddm-greeter) but I'll stick to sddm-greeter.

sddm-greeter crashes each time it starts, thus the blank/black screen.
This is the core_backtrace that I got from it.

{   "signal": 6
,   "executable": "/usr/bin/sddm-greeter"
,   "stacktrace":
      [ {   "crash_thread": true
        ,   "frames":
              [ {   "address": 140698901846607
                ,   "build_id": "d525c5b11962d363f9e9d3c119d2d46c92a0e3f5"
                ,   "build_id_offset": 322127
                ,   "function_name": "raise"
                ,   "file_name": "/lib64/libc.so.6"
                }
              , {   "address": 140698901663157
                ,   "build_id": "d525c5b11962d363f9e9d3c119d2d46c92a0e3f5"
                ,   "build_id_offset": 138677
                ,   "function_name": "abort"
                ,   "file_name": "/lib64/libc.so.6"
                }
              , {   "address": 140698915831879
                ,   "build_id": "6699bdd7da7c9ed74fd752ae36caf4a04a42ddc2"
                ,   "build_id_offset": 725063
                ,   "function_name": "qt_message_output(QtMsgType, QMessageLogContext const&, QString const&) [clone .cold.117]"
                ,   "file_name": "/lib64/libQt5Core.so.5"
                }
              , {   "address": 140698924449279
                ,   "build_id": "db93a4bda87e9b90d8dd083b00d903b020509acc"
                ,   "build_id_offset": 1424895
                ,   "function_name": "QGuiApplicationPrivate::createPlatformIntegration()"
                ,   "file_name": "/lib64/libQt5Gui.so.5"
                }
              , {   "address": 140698924450677
                ,   "build_id": "db93a4bda87e9b90d8dd083b00d903b020509acc"
                ,   "build_id_offset": 1426293
                ,   "function_name": "QGuiApplicationPrivate::createEventDispatcher()"
                ,   "file_name": "/lib64/libQt5Gui.so.5"
                }
              , {   "address": 140698917900745
                ,   "build_id": "6699bdd7da7c9ed74fd752ae36caf4a04a42ddc2"
                ,   "build_id_offset": 2793929
                ,   "function_name": "QCoreApplicationPrivate::init()"
                ,   "file_name": "/lib64/libQt5Core.so.5"
                }
              , {   "address": 140698924458115
                ,   "build_id": "db93a4bda87e9b90d8dd083b00d903b020509acc"
                ,   "build_id_offset": 1433731
                ,   "function_name": "QGuiApplicationPrivate::init()"
                ,   "file_name": "/lib64/libQt5Gui.so.5"
                }
              , {   "address": 140698924461720
                ,   "build_id": "db93a4bda87e9b90d8dd083b00d903b020509acc"
                ,   "build_id_offset": 1437336
                ,   "function_name": "QGuiApplication::QGuiApplication(int&, char**, int)"
                ,   "file_name": "/lib64/libQt5Gui.so.5"
                }
              , {   "address": 93952641413531
                ,   "build_id": "598bb947ec337a74313071c2c3e93758253446eb"
                ,   "build_id_offset": 111003
                ,   "function_name": "main"
                ,   "file_name": "/usr/bin/sddm-greeter"
                } ]
        } ]
}

I don't see anything that really points to the kernel, so I don't know why going back to an older kernel fixes things.
But I see alot of qt5 stuff.  There is and updated qt5 released for CentOS STream 8, I'm going to see if that does anything.

Comment 15 Piotr Golonka 2022-05-06 10:13:57 UTC
FYI, just checked on CentOS Stream 9, and SDDM works correctly, whereas the latest CentosStream8 it fails (black screen as descrived above).
Both of the OSes installed today in the minimal "Custom Operating System" setup, enabled EPEL, installed openbox for a minimal session.

Comment 16 Piotr Golonka 2022-05-06 10:39:21 UTC
Could it be related to https://bugzilla.redhat.com/show_bug.cgi?id=2057419 ?
If so, already pushed to F36... Could it be backported to EPEL?

Comment 17 Troy Dawson 2022-05-06 13:36:12 UTC
(In reply to Piotr Golonka from comment #15)
> FYI, just checked on CentOS Stream 9, and SDDM works correctly, whereas the
> latest CentosStream8 it fails (black screen as descrived above).
> Both of the OSes installed today in the minimal "Custom Operating System"
> setup, enabled EPEL, installed openbox for a minimal session.

Correct, this only affect CentOS Stream 8 / epel8.
CentOS Stream 9 / epel9 is unaffected.
But it would be good to figure out what the problem is incase it comes up in 9.

Comment 18 Troy Dawson 2022-05-06 13:40:23 UTC
(In reply to Piotr Golonka from comment #16)
> Could it be related to https://bugzilla.redhat.com/show_bug.cgi?id=2057419 ?
> If so, already pushed to F36... Could it be backported to EPEL?

That is the most promising thing yet.  Thank you very much.
I especially like that this line is removed
https://github.com/sddm/sddm/pull/1522/files#diff-d7898f8a43d0f15c2f009d1c0ac2efd089ee8b297f38e8f12c1d93a78bfa4b5eL57

I'll give that a try and see what happens.

Comment 19 Neal Gompa 2022-05-06 14:47:26 UTC
It should be reasonably safe to backport sddm from Fedora to EPEL, and indeed I'd recommend doing so, since that code is much closer to the latest upstream code.

Comment 22 Troy Dawson 2022-05-06 21:50:34 UTC

*** This bug has been marked as a duplicate of bug 2082719 ***

Comment 23 Troy Dawson 2022-05-10 14:03:25 UTC
Turns out this was a RHEL 8.6 kernel bug after all, but it was with process management.

"qt (and perhaps something else) rightly assumes that if the kernel supports P_PIDFD (qt
does the runtime check), then poll(pidfd) should work too, because
("pidfd: add P_PIDFD to waitid()") was the last one of those that became
available in kernel releases."

I am going to mark this as a duplicate of that bug.
That is a private bug, and I apologize to those that will not be able to see it's updates.  But I will keep the sddm bug open and do the major updates that can be public, on that bug.

Comment 24 Troy Dawson 2022-05-10 14:04:10 UTC

*** This bug has been marked as a duplicate of bug 2044587 ***


Note You need to log in before you can comment on or make changes to this bug.