Bug 368884 - Kscreenlocker locks screen for ever! (a critical bug)
Summary: Kscreenlocker locks screen for ever! (a critical bug)
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kscreenlocker
Classification: Plasma
Component: breeze-theme (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR critical
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-16 07:34 UTC by Thomas Meiner
Modified: 2016-10-28 17:35 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace all threads (comment 6) (1.38 KB, application/gz)
2016-09-16 11:46 UTC, Maciej Sitarz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Meiner 2016-09-16 07:34:18 UTC
Description of problem:
Since the last update for Kscreenlocker, it displays only a black screen and does not react on any key or mouse movement.The only way to get out is to kill Xorg.

Version-Release number of selected component (if applicable):
Fedora 24
Kscreenlocker 5.7.4

How reproducible: 100%

Reproducible: Always

Steps to Reproduce:
Each time Kscreenlocker takes control of the screen!

Actual Results:  
Only a totality black screen. Does not react on any key or mouse movement.

Expected Results:  
At least: Show the password line for unlock at mouse movement or key hit. 
Nice to have: Play a screensavers like it used to be in KED 4. ;-) 

The only way to unlock the screen is to kill Xorg! This may causes loose of data, because the howl X-Sesseion is killed. Under this aspect it is a very critical but!
Comment 1 Thomas Meiner 2016-09-16 07:36:14 UTC
See: https://bugs.kde.org/show_bug.cgi?id=368884
Comment 2 Thomas Meiner 2016-09-16 07:37:29 UTC
Sorry that above was the wrong address:
see: https://bugzilla.redhat.com/show_bug.cgi?id=1376364
Comment 3 Germano Massullo 2016-09-16 10:13:35 UTC
$ /usr/libexec/kscreenlocker_greet --testing

$ gdb kscreenlocker_greet 2936
GNU gdb (GDB) Fedora 7.11.1-75.fc24
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
kscreenlocker_greet: No such file or directory.
Attaching to process 2936
[New LWP 2937]
[New LWP 2938]
[New LWP 2939]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f16b3de03ed in poll () at ../sysdeps/unix/syscall-template.S:84
84      T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) bt
#0  0x00007f16b3de03ed in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f16b24faa06 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x5626d25264f0, timeout=<optimized out>, context=0x7f16980016f0) at gmain.c:4135
#2  g_main_context_iterate (context=context@entry=0x7f16980016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007f16b24fab1c in g_main_context_iteration (context=0x7f16980016f0, may_block=may_block@entry=1) at gmain.c:3901
#4  0x00007f16b4be522f in QEventDispatcherGlib::processEvents (this=0x5626d20c36d0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007f16b4b945ea in QEventLoop::exec (this=this@entry=0x7ffc52398510, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f16b4b9c17c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#7  0x00005626d00b74a7 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kscreenlocker-5.7.4/greeter/main.cpp:173
(gdb)
Comment 4 Germano Massullo 2016-09-16 10:16:42 UTC
Comment 3 is about a machine reproducing the bug with kscreenlocker-5.7.4-1.fc24.x86_64
Comment 5 Germano Massullo 2016-09-16 11:09:59 UTC
As soon I can put my hands on the affected machine I will provide other infos with
(gdb) thread apply all backtrace
since the previous bugtrace seems to not be useful
Comment 6 Maciej Sitarz 2016-09-16 11:31:02 UTC
I also have this problem on Fedora 24. I upgraded to latest testing packages, now I have kscreenlocker-5.7.5-1.fc24.x86_64 but problem still persists.

Debug logs:
$ /usr/libexec/kscreenlocker_greet --testing
No metadata file in the package, expected it at: "/usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.two/"
No metadata file in the package, expected it at: "/usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.two/"
Locked at 1474025237

$ gdb /usr/libexec/kscreenlocker_greet $(pidof kscreenlocker_greet) --eval-command="bt" --batch
New LWP 22069]
[New LWP 22070]
[New LWP 22071]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007fa73930b3ed in poll () at ../sysdeps/unix/syscall-template.S:84
84      T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
#0  0x00007fa73930b3ed in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fa737a25a06 in g_main_context_iterate (priority=<optimized out>, n_fds=2, fds=0x55892b91f6b0, timeout=<optimized out>, context=0x7fa71c0016f0) at gmain.c:4135
#2  0x00007fa737a25a06 in g_main_context_iterate (context=context@entry=0x7fa71c0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007fa737a25b1c in g_main_context_iteration (context=0x7fa71c0016f0, may_block=may_block@entry=1) at gmain.c:3901
#4  0x00007fa73a11022f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55892b923720, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007fa73a0bf5ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffffa7a9340, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fa73a0c717c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1285
#7  0x0000558929eea4a7 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kscreenlocker-5.7.5/greeter/main.cpp:173
Comment 7 Maciej Sitarz 2016-09-16 11:46:44 UTC
Created attachment 101120 [details]
Backtrace all threads (comment 6)

Added gdb backtrace from all threads (additional to debug from comment 6)
Comment 8 Rex Dieter 2016-09-16 11:55:00 UTC
This is most likely a downstream/fedora specific packaging bug.  In recent packaged release of plasma-workspace, a custom distro plasma theme was removed,
/usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.two
it is appears (all?) the users experiencing this problem are still using that (at least kscreenlocker is)

So, the real issue here is that kscreenlocker doesn't (gracefully) handle the case of a missing/misconfigured theme.
Comment 9 Gilboa Davara 2016-09-16 12:05:23 UTC
I can confirm that indeed changing the desktop theme to "breeze" or "breeze dark" in the main theme applet and recreating the different customizations solves the problem.

- Gilboa
Comment 10 Martin Flöser 2016-09-16 12:23:40 UTC
Thanks for the update. I don't think there is anything we can do from our side to protect against such situations in future.
Comment 11 Robert Anderson 2016-10-26 21:04:58 UTC
I before and last time an rpm update solved it.

At this time I cannot use the lockscreen or logout correctly.

Lockscreen just returns me to the lockscreen.  Running with --testing yeilds an error as soon as I type my password.

Logging into a virtual terminal and running the unlock-session does work.

I have tried different themes but have not stumbled upon a working combination.


[rea@q ~]$ /usr/libexec/kscreenlocker_greet --testing
Locked at 1477515185
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.four/contents/components/InfoPane.qml:54:22: Unable to assign [undefined] to int
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.four/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.four/contents/components/system-log-out
file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.four/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.fedoraproject.fedora.twenty.four/contents/components/system-switch-user
KCrash: Application 'kscreenlocker_greet' crashing...
Segmentation fault (core dumped)
[rea@q ~]$ rpm -qa | grep screenlocker
kscreenlocker-5.7.5-1.fc24.x86_64
Comment 12 Martin Flöser 2016-10-27 05:15:48 UTC
>KCrash: Application 'kscreenlocker_greet' crashing...
>Segmentation fault (core dumped)

Please run through gdb to get a backtrace
Comment 13 Rex Dieter 2016-10-28 16:01:24 UTC
Robert, if you use nvidia driver from rpmfusion, a recent update has been problematic (most users have had to revert to previous driver release)
Comment 14 Robert Anderson 2016-10-28 17:35:23 UTC
I do have an Nvidia card. 

I also attempted to get the debugging trace but failed. In order to get the trace I needed to install another rpm.  That installed a few packages. After which  everything worked again. So I can no longer reproduce the error.