Bug 1313929 - kscreenlocker stops taking keyboard input, thus locking user out
Summary: kscreenlocker stops taking keyboard input, thus locking user out
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kscreenlocker
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Daniel Vrátil
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-02 16:00 UTC by long
Modified: 2016-12-20 19:12 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-20 19:12:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 348789 0 None None None 2016-03-15 17:50:37 UTC
KDE Software Compilation 360396 0 None None None 2016-03-15 17:48:58 UTC

Description long 2016-03-02 16:00:11 UTC
Description of problem:
System hibernated.  After resuming kscreenlocker still displayed time and date from when it hibernated.  It would not accept any keyboard input.  Mouse cursor still worked but I could not click anything.  Had to 'kill -9' kscreenlocker_greet to gain access to my KDE session.

Version-Release number of selected component (if applicable):
kscreenlocker-5.5.4-3.fc23.x86_64

How reproducible:
Intermittent

Steps to Reproduce:
1.Allow system to hibernate
2.Resume system
3.

Actual results:
See description

Expected results:
I can type my password to access my KDE session

Additional info:

Comment 1 Rex Dieter 2016-03-02 16:06:18 UTC
I'll speculate that it's a driver-induced plasmashell deadlock/freeze.

What video driver do you use?

If intel, possible culprit is recent update:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253

that (re)enabled DRI3 by default (which was the source of many plasmashell deadlocks in the past)

Comment 2 long 2016-03-02 17:29:32 UTC
yup, I'm intel.  Anything you would like me to try?

xorg-x11-drv-intel-2.99.917-19.20151206.fc23.x86_64

Comment 3 Rex Dieter 2016-03-02 18:12:01 UTC
Can try reverting back to using dri2 mode, create a snippet at:
/etc/X11/xorg.conf.d/20-intel.conf containing:
Section "Device"
Identifier "Intel_Graphics"
Driver "intel"
Option "DRI" "2"
EndSection

and reboot, and see if that helps.

Comment 4 Michal Hlavinka 2016-03-15 13:51:38 UTC
(In reply to Rex Dieter from comment #3)
> Can try reverting back to using dri2 mode, create a snippet at:
> /etc/X11/xorg.conf.d/20-intel.conf containing:
> Section "Device"
> Identifier "Intel_Graphics"
> Driver "intel"
> Option "DRI" "2"
> EndSection
> 
> and reboot, and see if that helps.

sorry for OT, but is this supposed to help with plasmashell and chrome hangs (after screen lock/idle) too?

Comment 5 Rex Dieter 2016-03-15 13:54:04 UTC
Cannot speak for chrome, but this workaround has been known to help plasmashell deadlocks which is very *ontopic* here.

Comment 6 long 2016-04-08 20:58:45 UTC
I was out sick a while so I don't know if it was switching to DRI2 or an intervening update but it hasn't frozen since I made the DRI change.

Comment 7 Rex Dieter 2016-04-09 13:09:13 UTC
One extra test to help determine that:  switch back to DRI3 and see if the problem(s) come back or not.

Comment 8 long 2016-06-13 16:33:56 UTC
I re-enabled DRI3 a while ago.  I feel like it may have locked up once/twice in this fashion but nothing reliable.  I've had so many problems with F23 KDE though that I can't honestly say whether or not the problem is gone or not.  Since I won't be using that computer until August I wanted to update this before I forgot.

Comment 9 PPRiphagen 2016-11-16 15:20:25 UTC
I have the same problem, but I have an ATI video card, not Intel so the DRI3 fix does not apply in my case.
Sending kill -1 to kscreenlocker does however unfreeze the screen again.
I will attach a backtrace as soon as my testing kscreenlocker has the same issue.

Comment 10 Helio Chissini de Castro 2016-11-17 09:00:42 UTC
I have the same problem with nvidia driver and older xorg .18 packages reverted on F25.

For unlock, better way instead of use kill is use loginctl unlock-sessions which make a proper gracious unlock

Comment 11 PPRiphagen 2016-11-17 12:29:15 UTC
It does seem to be DRI related with my ATI video card.
I have a backtrace now:

[Thread debugging using libthread_db enabled]                                                                                                                                                                                                   Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".                                                                                                                                                                      0x00007f37a24920bd in poll () at ../sysdeps/unix/syscall-template.S:84                                                                                                                                                                          84      ../sysdeps/unix/syscall-template.S: No such file or directory.                                                                                                                                                                          (gdb) bt                                                                                                                                                                                                                                        #0  0x00007f37a24920bd in poll () at ../sysdeps/unix/syscall-template.S:84                                                                                                                                                                      #1  0x00007f37a1f31c62 in poll (__timeout=-1, __nfds=1, __fds=0x7ffed0a71e80) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46                                                                                                                  #2  _xcb_conn_wait (c=c@entry=0x56311bbf9080, cond=cond@entry=0x56311cc11a68, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459                                                                                       #3  0x00007f37a1f339a9 in xcb_wait_for_special_event (c=0x56311bbf9080, se=0x56311cc11a40) at ../../src/xcb_in.c:789                                                                                                                            #4  0x00007f379fb08ed7 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1                                                                                                                                                                  #5  0x00007f379fb09d82 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1                                                                                                                                                                  #6  0x00007f378aafbcc3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #7  0x00007f378aaf827c in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #8  0x00007f378a9f26be in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #9  0x00007f378a9f3bfc in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #10 0x00007f378a994ee2 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #11 0x00007f378a99d493 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so                                                                                                                                                              #12 0x00007f37a3a7c46a in QSGBatchRenderer::Renderer::renderBatches() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                        #13 0x00007f37a3a81ea5 in QSGBatchRenderer::Renderer::render() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                               #14 0x00007f37a3a8d8ff in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                       #15 0x00007f37a3a8e19b in QSGRenderer::renderScene(unsigned int) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                             #16 0x00007f37a3a9e55e in QSGRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                      #17 0x00007f37a3ae592e in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                #18 0x00007f37a3ab4333 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                                                                 #19 0x00007f37a3ab5591 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5                                                                                                                                                                 #20 0x00007f37a2d6a24a in QCoreApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                                         #21 0x00007f37a2d6a3b0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                                #22 0x00007f37a2dbf3ae in QTimerInfoList::activateTimers() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                                                    #23 0x00007f37a2dbf909 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                                                                                  #24 0x00007f379ed667d7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                                                                #25 0x00007f379ed66a40 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                                                                                     #26 0x00007f379ed66aec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0                                                                                                                                               #27 0x00007f37a2dc048f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                          #28 0x00007f37a2d680fa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                             #29 0x00007f37a2d7090c in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5                                                                                                                                            #30 0x000056311aabc417 in main (argc=<optimized out>, argv=<optimized out>) at ./greeter/main.cpp:173                                                                                                                                           (gdb) quit

Comment 12 Helio Chissini de Castro 2016-11-17 12:53:27 UTC
I just noted a curious not yet known if unrelated thing:

SELinux is preventing QSGRenderThread from execute access on the file 2F7661722F6C69622F7364646D2F233230353738353038202864656C6574656429.

*****  Plugin catchall (100. confidence) suggests   **************************

If you believe that QSGRenderThread should be allowed execute access on the 2F7661722F6C69622F7364646D2F233230353738353038202864656C6574656429 file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'QSGRenderThread' --raw | audit2allow -M my-QSGRenderThread
# semodule -X 300 -i my-QSGRenderThread.pp

Additional Information:
Source Context                system_u:system_r:xdm_t:s0-s0:c0.c1023
Target Context                system_u:object_r:xdm_var_lib_t:s0
Target Objects                2F7661722F6C69622F7364646D2F2332303537383530382028
                              64656C6574656429 [ file ]
Source                        QSGRenderThread
Source Path                   QSGRenderThread
Port                          <Unknown>
Host                          trex.bmw-carit.intra
Source RPM Packages           
Target RPM Packages           
Policy RPM                    selinux-policy-3.13.1-220.fc25.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     trex.bmw-carit.intra
Platform                      Linux trex.bmw-carit.intra 4.8.4-301.fc25.x86_64
                              #1 SMP Tue Oct 25 00:01:49 UTC 2016 x86_64 x86_64
Alert Count                   4
First Seen                    2016-11-07 17:34:11 CET
Last Seen                     2016-11-10 17:03:58 CET
Local ID                      a8824324-a04f-4054-8d8a-1f7563cf4d19

Raw Audit Messages
type=AVC msg=audit(1478793838.690:1679): avc:  denied  { execute } for  pid=13927 comm="QSGRenderThread" path=2F7661722F6C69622F7364646D2F233230353738353038202864656C6574656429 dev="dm-0" ino=20578508 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:xdm_var_lib_t:s0 tclass=file permissive=0


Hash: QSGRenderThread,xdm_t,xdm_var_lib_t,file,execute

Comment 13 Rex Dieter 2016-11-18 12:32:08 UTC
Where is
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 
coming from?

That's not fedora's mesa packaging as far as I can tell.

Comment 14 Rex Dieter 2016-11-18 12:32:46 UTC
As well as
/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
too

Comment 15 PPRiphagen 2016-11-18 12:47:16 UTC
My apologies, that is true. My issue is with the kscreenlocker, same behaviour as described in this bug report, but unfortunately not on Fedora, but on Kubuntu 16.10.
Solutions like the unlock-sessions do work for me. There are not many references on google to be found on this problem, except for this bug report.

Comment 16 Fedora End Of Life 2016-11-24 15:53:43 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 17 Fedora End Of Life 2016-12-20 19:12:20 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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