Bug 2043322 - Unable to unlock screen
Summary: Unable to unlock screen
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: kscreenlocker
Version: epel8
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-01-21 01:52 UTC by Jonathan Sattelberger
Modified: 2022-07-28 17:38 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-07-05 16:31:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jonathan Sattelberger 2022-01-21 01:52:32 UTC
Description of problem:

Unable to unlock screen using KDE Plasma 5.23.3. Date and Time appear, but the login prompt does not. Movement of the mouse or key press will wake the screen. Unable to manually unlock a desktop session with "loginctl unlock-session <ID>".

Version-Release number of selected component (if applicable):

kscreenlocker-5.23.3-1.el8.x86_64
plasma-desktop-5.23.3-1.el8.x86_64

$ uname -r
4.18.0-358.el8.x86_64
$ cat /etc/redhat-release 
CentOS Stream release 8

How reproducible:

Lock the screen
Wake screen

Steps to Reproduce:
1. Login to session using Plasma
2. Lock the screen (or idle-delay lock)
3. Wake the screen

Actual results:

Date and time are visible
No password prompt
Battery status is not visible
Virtual keyboard is not visible

Expected results:

Password prompt appears to unlock screen
Battery status is visible (if applicable)
Virtual keyboard option is visible (if applicable)

Additional info:

The following test works fine for both password and smart card authentication (although password prompt does not indicate a smart card is inserted):

$ /usr/libexec/kscreenlocker_greet --testing
Locked at 1642727955
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserList.qml:41:9: Unable to assign [undefined] to bool

Comment 1 Christian Dersch 2022-01-21 07:54:08 UTC
Same issue here, identical package versions.

Comment 2 Neal Gompa 2022-01-21 09:47:07 UTC
Re-assigning to effective maintainer (Rex), also CC'ing EPEL maintainer (Troy).

Comment 3 Troy Dawson 2022-01-21 14:31:49 UTC
Still investigating, but I have two questions for you.
1 - Are you running Plasma X11 or Plasma Wayland when you log in?
2 - Do you have more than one monitor?

I have two monitors, and it's rather strange.  When I wake the machine up with my mouse, the login is only on one screen, the primary screen (the one with main panel at the bottom).  When I wake the machine up with the keyboard, the login is on the other screen.

As I said, I'm still investigating, but that is interesting.

Comment 4 Christian Dersch 2022-01-21 14:41:27 UTC
For me: One monitor, Plasma X11

Comment 5 Jonathan Sattelberger 2022-01-21 14:52:04 UTC
(In reply to Troy Dawson from comment #3)
> Still investigating, but I have two questions for you.
> 1 - Are you running Plasma X11 or Plasma Wayland when you log in?
> 2 - Do you have more than one monitor?

1 - Plasma X11. Wayland is disabled. I can enable it is necessary for testing purposes.
2 - Tried with the following combinations:

  a. laptop display on (single display, no external devices)
  b. laptop display on (primary) and external monitor on (extended, HDMI)
  c. laptop display off, connected to external monitor (primary, HDMI)

The password prompt does not appear in any of the test cases. Only the date and time.

Sometimes the display fails to turn off completely, nor does the time update. I notice this issue mostly on the external monitor. The laptop display appears to dim before turning off.

Comment 6 Troy Dawson 2022-01-21 17:46:48 UTC
I don't think this is a kde problem, but a kernel (possibly driver) problem.
There were some qt5 updates, but when I updated just them, I didn't see this problem.  And those were just rebuilds, no code changes.
Updating the few X stuff didn't cause it to show up either.

But when I updated just my kernel stuff, sddm (login manager) didn't show anything at all.  I had to switch to gdm.  Once I logged in, I was able to see the problem that you all are seeing.

Try rebooting into an earlier kernel.  I think there is something wrong with kernel-4.18.0-358.el8.
See if the problem goes away on an earlier kernel (kernel-4.18.0-348.2.1.el8_5 works for me)

Before I say it's the kernel, I'd like someone else to verify.

Comment 7 Jonathan Sattelberger 2022-01-21 18:13:37 UTC
(In reply to Troy Dawson from comment #6)
> Try rebooting into an earlier kernel.  I think there is something wrong with
> kernel-4.18.0-358.el8.
> See if the problem goes away on an earlier kernel
> (kernel-4.18.0-348.2.1.el8_5 works for me)
> 
Rebooted into 4.18.0-348.7.1.el8_5.x86_64. Problem resolved.

Comment 8 Jonathan Sattelberger 2022-01-27 17:50:34 UTC
Note: Also seems to affect x2goclient-4.1.2.2-1.el8.x86_64. Rebooting into an older kernel resolved the issue.

Comment 9 Troy Dawson 2022-02-02 15:28:36 UTC
I've opened a bug on CentOS Stream, against the kernel for this
https://bugzilla.redhat.com/show_bug.cgi?id=2043771

Comment 10 Jonathan Sattelberger 2022-05-08 15:03:25 UTC
Modified the org.kde.breeze.desktop theme to make the password prompt always visible. Everything appeared as expected (including the virtual keyboard button and battery indicator). However, I could not click on anything or tab. The cursor was blinking in the password prompt but did not respond to a keypress. Pressing the capslock key displayed a message above the password prompt.

Removing the lockscreen theme from org.kde.breeze.desktop will use the fallbacktheme from KScreenLocker. The same issue was encountered. The virtual keyboard appeared in the way, unresponsive to the mouse or keyboard.

Everything seems fine while debugging with /usr/libexec/kscreenlocker_greet --testing (including the faillbacktheme).

Switching back to the GDM login screen will not unlock the current session. Nor does loginctl.

Comment 11 Matthias Menzel 2022-05-21 19:53:40 UTC
(In reply to Troy Dawson from comment #6)
> I don't think this is a kde problem, but a kernel (possibly driver) problem.
> There were some qt5 updates, but when I updated just them, I didn't see this
> problem.  And those were just rebuilds, no code changes.
> Updating the few X stuff didn't cause it to show up either.
> 
> But when I updated just my kernel stuff, sddm (login manager) didn't show
> anything at all.  I had to switch to gdm.  Once I logged in, I was able to
> see the problem that you all are seeing.
> 
> Try rebooting into an earlier kernel.  I think there is something wrong with
> kernel-4.18.0-358.el8.
> See if the problem goes away on an earlier kernel
> (kernel-4.18.0-348.2.1.el8_5 works for me)
> 
> Before I say it's the kernel, I'd like someone else to verify.

I got that issue now with RHEL 8.6, Kernel 4.18.0-372.9.1.el8.
Booting into kernel 4.18.0-348.20.1.el8_5 would "solve" it.

Comment 12 Troy Dawson 2022-05-23 16:29:42 UTC
This is a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=2082719

Before I mark it as duplicate let me update this bug.

This is a RHEL 8.6 kernel bug. The bug is 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."

There is a private, internal only bug that is dealing with the issue.
I am keeping the public bug 2082719 updated with the major updates, that I can make public.

At the time of this writing, there is a kernel fix that has just gone to QA.
That doesn't give us a timeline yet, there still might be regressions that need to be fixed.  But at least now it's in the intense testing.

Comment 13 Troy Dawson 2022-06-07 13:31:22 UTC
For CentOS Stream 8 this has been fixed with kernel-4.18.0-394.el8.

We are still waiting for a fixed kernel to make it to RHEL 8.

Comment 14 Jonathan Sattelberger 2022-06-08 14:32:11 UTC
(In reply to Troy Dawson from comment #13)
> For CentOS Stream 8 this has been fixed with kernel-4.18.0-394.el8.

Confirmed. The issue appears to be resolved in CentOS Stream 8 with kernel-4.18.0-394.el8.x86_64.

Comment 15 vishheg1 2022-07-15 11:48:20 UTC
(In reply to Troy Dawson from comment #13)
> For CentOS Stream 8 this has been fixed with kernel-4.18.0-394.el8.
> 
> We are still waiting for a fixed kernel to make it to RHEL 8.

Any update on when this would be available at RHEL 8?

Comment 16 Troy Dawson 2022-07-15 13:24:30 UTC
Since this bug was closed, I've been tracking the progress on the sddm bug (affected by the same thing)
https://bugzilla.redhat.com/show_bug.cgi?id=2082719

But to summarize:
Work on getting the fix into RHEL 8.6 has started this week.
There is currently no estimate for release.

Comment 17 Christoph Karl 2022-07-28 17:25:20 UTC
Same here with 4.18.0-372.16.1.el8_6.x86_64

Workarround: Switch to console login (Strg-Alt F3) and kill "kscreenlocker_greet"

Comment 18 Jonathan Sattelberger 2022-07-28 17:38:47 UTC
(In reply to Christoph Karl from comment #17)
> Same here with 4.18.0-372.16.1.el8_6.x86_64
> 
> Workarround: Switch to console login (Strg-Alt F3) and kill
> "kscreenlocker_greet"

Refer to my comment BZ#2082719 for rebuilding qt5-qtbase. It's a dirty hack, but did the job until this was resolved in CentOS Stream 8.

https://bugzilla.redhat.com/show_bug.cgi?id=2082719#c13


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