Bug 361187 - Locking screen in KDE 5.6 gets caught in a loop and then crashes with emergencyShow()
Summary: Locking screen in KDE 5.6 gets caught in a loop and then crashes with emergen...
Status: RESOLVED WORKSFORME
Alias: None
Product: kscreenlocker
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL: http://webmshare.com/1RanL
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2016-03-30 14:09 UTC by jcdejournett
Modified: 2018-10-27 04:16 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
attachment-7448-0.html (1.45 KB, text/html)
2016-03-30 14:26 UTC, jcdejournett
Details
attachment-31039-0.html (1.13 KB, text/html)
2016-03-31 15:38 UTC, jcdejournett
Details
attachment-5008-0.html (1.56 KB, text/html)
2016-03-31 17:40 UTC, jcdejournett
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jcdejournett 2016-03-30 14:09:14 UTC
Any manner of locking the screen (timeout, CLI, clicking "Lock" under "Leave" option in main menu) fails after 3 or 4 times, and prints this error:

The screen locker is broken and unlocking is not possible anymore.\n"
                          "In order to unlock switch to a virtual terminal (e.g. Ctrl+Alt+F2),\n"
                          "log in and execute the command:\n\n"
                          "loginctl unlock-sessions\n\n"
                          "Afterwards switch back to the running session (Ctrl+Alt+F%1).

Reproducible: Always

Steps to Reproduce:
1. Lock screen
2. Attempt to login
3. Repeat login until screen locker crashes

Actual Results:  
The crash screen appears, possibly from this line in the kscreenlocker source: https://github.com/KDE/kscreenlocker/blob/master/abstractlocker.cpp#L51

Expected Results:  
Logged in normally.

I would say this is a major bug in kscreenlocker, as the purpose of a screen locker is to lock and unlock the screen. As it stands, the unlocking functionality is broken.
Comment 1 Bhushan Shah 2016-03-30 14:10:50 UTC
Can you run /usr/lib/kscreenlocker_greet --testing manually from console and paste its log here?
Comment 2 jcdejournett 2016-03-30 14:26:27 UTC
Created attachment 98153 [details]
attachment-7448-0.html

https://goo.gl/XvN9kn

So it seems like it's not finding an oxygen theme and then crashing.

On Wed, Mar 30, 2016 at 9:10 AM, Bhushan Shah via KDE Bugzilla <
bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=361187
>
> Bhushan Shah <bhush94@gmail.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>          Resolution|---                         |WAITINGFORINFO
>              Status|UNCONFIRMED                 |NEEDSINFO
>
> --- Comment #1 from Bhushan Shah <bhush94@gmail.com> ---
> Can you run /usr/lib/kscreenlocker_greet --testing manually from console
> and
> paste its log here?
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 3 Bhushan Shah 2016-03-30 14:30:56 UTC
Nope, this is not related to that message, but rather "Floating point exception"
Comment 4 Bhushan Shah 2016-03-30 14:32:08 UTC
Setting status to unconfirmed.
Comment 5 Bhushan Shah 2016-03-30 14:32:18 UTC
Setting status to unconfirmed.
Comment 6 jcdejournett 2016-03-30 16:42:35 UTC
Any thoughts on where to look for the exception?
Comment 7 Bhushan Shah 2016-03-31 06:18:22 UTC
Can you build kscreenlocker in debug mode and get backtrace for kscreenlocker_greet?
Comment 8 jcdejournett 2016-03-31 15:38:29 UTC
Created attachment 98175 [details]
attachment-31039-0.html

What would that entail?

1. Git clone KDE/kscreenlocker.git
2. Some sort of configure? Setting a debug flag? What flag(s)?
3. Make/make test/make install

I did run a backtrace, the contents are here:

https://paste.kde.org/p8scntqcr

On Thursday, March 31, 2016, Bhushan Shah via KDE Bugzilla <
bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=361187
>
> --- Comment #7 from Bhushan Shah <bhush94@gmail.com> ---
> Can you build kscreenlocker in debug mode and get backtrace for
> kscreenlocker_greet?
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 9 Bhushan Shah 2016-03-31 15:41:29 UTC
On Thu, Mar 31, 2016 at 9:08 PM, via KDE Bugzilla
<bugzilla_noreply@kde.org> wrote:
> What would that entail?
>
> 1. Git clone KDE/kscreenlocker.git
> 2. Some sort of configure? Setting a debug flag? What flag(s)?
> 3. Make/make test/make install

Rather, following :
https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#CMAKE_.28KDE.29_applications
will be much easier.
Comment 10 jcdejournett 2016-03-31 17:40:50 UTC
Created attachment 98178 [details]
attachment-5008-0.html

Which package/repo should I be looking for? plasma? Or is there
specifically a kscreenlocker PKGBUILD I can edit? Sorry for all the novice
questions!

On Thu, Mar 31, 2016 at 10:41 AM, Bhushan Shah via KDE Bugzilla <
bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=361187
>
> --- Comment #9 from Bhushan Shah <bhush94@gmail.com> ---
> On Thu, Mar 31, 2016 at 9:08 PM, via KDE Bugzilla
> <bugzilla_noreply@kde.org> wrote:
> > What would that entail?
> >
> > 1. Git clone KDE/kscreenlocker.git
> > 2. Some sort of configure? Setting a debug flag? What flag(s)?
> > 3. Make/make test/make install
>
> Rather, following :
>
> https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#CMAKE_.28KDE.29_applications
> will be much easier.
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 11 Bhushan Shah 2016-03-31 17:43:42 UTC
On Thu, Mar 31, 2016 at 11:10 PM, via KDE Bugzilla
<bugzilla_noreply@kde.org> wrote:
> Which package/repo should I be looking for? plasma? Or is there
> specifically a kscreenlocker PKGBUILD I can edit? Sorry for all the novice
> questions!

https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/kscreenlocker
Comment 12 Adnan Kurniawan 2016-04-16 09:32:50 UTC
it's happen to me too.... same KDE but with opensuse 13.2
below is log when i run /usr/lib64/libexec/kscreenlocker_greet --testing 

kadal@linux-drh2:~> /usr/lib64/libexec/kscreenlocker_greet --testing
Locked at 1460799079
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserPasswordPrompt.qml:25: ReferenceError: userModel is not defined
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/user-identity
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/system-log-out
org.kde.keyboardLayout: Layouts list changed:  ("us")
Comment 13 Johannes Stickel 2016-05-03 19:48:18 UTC
I have the same issue with Kubuntu 16.04 (KDE 5.5.3). Really annoying.
Comment 14 Antony Lee 2016-05-09 01:21:33 UTC
I also have this issue and it is *extraordinarily* annoying.

In my case, the issue pops sometimes when autolocking after a timeout, never when running kscreenlocker_greet --testing, and always when locking with ctrl-alt-L or via the menu entry.

I have built a package with -DCMAKE_BUILD_TYPE=RelWithDebInfo.  However, there is no process named "kscreenlocker_greet", so what should I attach to to get a backtrace?
Comment 15 Martin Flöser 2016-05-09 06:11:55 UTC
(In reply to Antony Lee from comment #14)
> I have built a package with -DCMAKE_BUILD_TYPE=RelWithDebInfo.  However,
> there is no process named "kscreenlocker_greet", so what should I attach to
> to get a backtrace?

once you see the emergency screen the process is no longer started. But it's only shown if the process crashed before. Ideally you should have it locked in coredumpctl or maybe a drkonqi window.
Comment 16 Nick 2016-05-17 02:42:39 UTC
I got hit by this issue today.
However, I'm using gentoo with openrc--as such there is no loginctl command--not sure how to unlock the session?
I tried various dbus commands, and ultimately issuing ScreenSaver Lock actually killed X entirely.

Is there at least a way to unlock it from this state on an openrc system?
Comment 17 Martin Flöser 2016-05-17 05:45:05 UTC
> Is there at least a way to unlock it from this state on an openrc system?

It has nothing to do with the init system. The question is whether there is a session manager available. KScreenLocker supports the logind1 DBus interface (either systemd-logind or shim) and consolekit2. If you use a different session manager and it has a standardized interface, it's possible to integrate with it.
Comment 18 Tyler A 2016-09-09 20:36:03 UTC
In Xenial (ubuntu) the path is slightly different. For x86_64 it's
  /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet

On my system as my regular user, the screen briefly flashes and I just get this message.
  Locked at 1473452980

(The above number increments so I assume it's an epoch/timestamp of sorts)
The flash looks like a window is trying to open but then closes immediately. 


Now if I run it as root, I get the lock dialog, however it doesn't overlay the whole screen and I can still click stuff on my taskbar etc.
I also get the following output

Object::connect: No such signal QDBusAbstractInterface::currentLayoutChanged(QString)
QObject::connect: No such signal QDBusAbstractInterface::layoutListChanged()
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/InfoPane.qml:52:22: Unable to assign [undefined] to int
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/user-identity
org.kde.keyboardLayout: "No such object path '/modules/keyboard'"
org.kde.keyboardLayout: "No such object path '/modules/keyboard'"
QObject::connect: No such signal QDBusAbstractInterface::currentLayoutChanged(QString)
QObject::connect: No such signal QDBusAbstractInterface::layoutListChanged()
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/InfoPane.qml:52:22: Unable to assign [undefined] to int
file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/UserDelegate.qml:82:9: QML Image: Cannot open: file:///usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/user-identity
org.kde.keyboardLayout: "No such object path '/modules/keyboard'"
org.kde.keyboardLayout: "No such object path '/modules/keyboard'"
QObject::disconnect: No such slot QObject::dataUpdated(QString,Plasma::DataEngine::Data)
QObject::disconnect:  (sender name:   'Caps Lock')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::modelChanged(QString,QAbstractItemModel*)
QObject::disconnect:  (sender name:   'Caps Lock')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::dataUpdated(QString,Plasma::DataEngine::Data)
QObject::disconnect:  (sender name:   'Battery')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::modelChanged(QString,QAbstractItemModel*)
QObject::disconnect:  (sender name:   'Battery')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::dataUpdated(QString,Plasma::DataEngine::Data)
QObject::disconnect:  (sender name:   'AC Adapter')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::modelChanged(QString,QAbstractItemModel*)
QObject::disconnect:  (sender name:   'AC Adapter')
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::dataUpdated(QString,Plasma::DataEngine::Data)
QObject::disconnect:  (receiver name: 'DataSource')
QObject::disconnect: No such slot QObject::modelChanged(QString,QAbstractItemModel*)
QObject::disconnect:  (sender name:   'Local')
QObject::disconnect:  (receiver name: 'DataSource')



Not sure if the breeze desktop warnings are significant. Contents of the "/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/components/" are:
artwork/                  BreezeHeading.qml         InfoPane.qml              LogoutOptions.qml         UserDelegate.qml          UserSelect.qml
BreezeBlock.qml           BreezeLabel.qml           KeyboardLayoutButton.qml  LogoutScreen.qml          UserList.qml
Comment 19 Sebastian Fyda 2016-12-30 19:46:07 UTC
I have the same issue. Debian testing/unstable.
$ /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet --testing
Locked at 1483126759
Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile  0) 
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kscreenlocker_greet path = /usr/lib/x86_64-linux-gnu/libexec pid = 15235
KCrash: Arguments: /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet --testing 

exit code #134

ii  libkscreenlocker5:amd64                       5.8.2-1
ii  sddm                                          0.13.0-1
ii  sddm-theme-breeze                             4:5.8.2-1

renderer = Xrenderer (OpenGL crashes plasmashell), Nvidia proprietary drivers and triple monitor setup (it has been working well on dual screen, however I didn't tried to revert to dual screen setup to confirm)

After a reboot, it works fine, then after 2-3 locks, the login screen needs about a minute to show itself (no load, black screen, nothing interesting going on according to process list), then after 2-3 more locks it crashes totally.

If I can provide any additional piece of information, I'd be happy to do so.
Comment 20 Andrew Crouthamel 2018-09-26 22:11:58 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 21 Andrew Crouthamel 2018-10-27 04:16:10 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!