linuxmint / cinnamon-screensaver

The Cinnamon screen locker and screensaver program
GNU General Public License v2.0
150 stars 86 forks source link

"Lock screen" does not show password prompt (does not let me in too) #263

Open cronfy opened 6 years ago

cronfy commented 6 years ago
 * cinnamon-screensaver 3.4.2
 * Distribution - Linux Mint 18.2 Sonya
 * Graphics hardware *and* driver used - `video 40960  1 i915_bpo`
 * 64 bit

Issue

Sometimes when I lock screen and then try to unlock it, I press any key or move mouse, but password prompt does not appear - only mouse cursor appears on the screen.

I can't log in. If I blindly type password, I do not login also.

I can resolve this only by switching to text console and killing cinnamon-screensaver.

What information should I collect to debug this situation?

nadalle commented 6 years ago

This issue is occurring for me now with cinnamon-screensaver 3.4.4+sonya

A semi-reliable way to reproduce it seems to be to disable the screensaver with "cinnamon-screensaver-command -d" from a shell while locked, then lock the screen again.

giddel commented 6 years ago

The same effect occurs here with version:

* Linux Mint 18.3 Sylvia
* cinnamon-screensaver 3.6.1

If I kill the cinnamon-screensaver, the locked scree is still alive.

I cannot send command by cinnamon-screensaver-command from an other console (str+alt+f1), I get always:

Failed to connect to Mir: Failed to connect to server socket: No such file or directory
R3D9477 commented 6 years ago

I can confirm this bug, too (But for Mate, not for Cinnamon. maybe problems have a similar roots). I can't unlock screen, because password textbox in login screen does'n accept any text (password)

Linux Mint 18.3 x64 Mate Mint-Meta-Mate 2018.06.08 (Tara) Mate 1.20


UPD

was fixed with latest updates of Linux Mint

fschaap commented 5 years ago

I have never had this issue before, but it appeared now for me with Cinnamon 4.0.0.

Screenfetch info:


 ██████████████████  ████████     
 ██████████████████  ████████     OS: Manjaro 18.0.0 Illyria
 ██████████████████  ████████     Kernel: x86_64 Linux 4.19.1-1-MANJARO
 ██████████████████  ████████     Uptime: 18m
 ████████            ████████     Packages: 1131
 ████████  ████████  ████████     Shell: bash 4.4.23
 ████████  ████████  ████████     Resolution: 3520x1200
 ████████  ████████  ████████     DE: Cinnamon 4.0.0
 ████████  ████████  ████████     WM: Muffin
 ████████  ████████  ████████     WM Theme: cinnamon (Marwaita)
 ████████  ████████  ████████     GTK Theme: Marwaita [GTK2/3]
 ████████  ████████  ████████     Icon Theme: Mint-X-Dark
 ████████  ████████  ████████     Font: Cantarell 10
 ████████  ████████  ████████     CPU: Intel Core i5-6200U @ 4x 2.8GHz [36.0°C]
                                  GPU: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) 
                                  RAM: 3703MiB / 15462MiB
cronfy commented 5 years ago

Still happens to me with Cinnamon 3.4.6.

fschaap commented 5 years ago

Besides being annoying, this is a GDPR compliance issue for me, as we are required to lock our screens when leaving the keyboard.

fschaap commented 5 years ago

It doesn't happen on every machine. The lock screen password prompt disappeared on my Thinkpad T460. However, I just updated a desktop to Cinnamon 4.0.0 and there the password prompt appears normally on the lock screen. The desktop is a much older install that has been updated many times. The Thinkpad T460 is a fresh install from last week that only now received its first update.

So... I have another Thinkpad X260, also with Manjaro and the Cinnamon DE. The install on the X260 again is much older, has been updated for over a year or so. I just updated the X260 to Cinnamon 4.0.0 and the lock screen works just fine. Weird!

mtwebster commented 5 years ago

Can you run cinnamon-screensaver in debug mode?

kill it: sudo killall cinnamon-screensaver

then restart: cinnamon-screensaver --debug

and capture any output from when this problem occurs.

Thank you

fschaap commented 5 years ago

I am on Manjaro, so there are likely to be some differences with stock Linux Mint, but for the past 2 years Cinnamon has been just excellent for me on Manjaro.

This is what I get though:

$ sudo killall cinnamon-screensaver
[sudo] password for ___: 
cinnamon-screensaver: no process found
$ cinnamon-screensaver --debug
Debug mode active
/usr/share/cinnamon-screensaver/cinnamon-screensaver-main.py:61: DeprecationWarning: Gtk.icon_size_register is deprecated
  Gtk.icon_size_register("audio-button", 20, 20)
Cinnamon Screensaver support not found in current theme - adding some...
Trying to connect to logind...
org.gnome.ScreenSaver is gone from the session bus
org.mate.ScreenSaver is gone from the session bus
A screensaver is already running!  Exiting...

This kinda meshes with what I found when dropping to a tty from the lockscreen. I pgrepped all the cinnamon* processes, thinking I might kill the screensaver, but it wasn't running.

cinnamon-screensaver is installed as part of the desktop:

$ pacman -Qi cinnamon-screensaver
Name            : cinnamon-screensaver
Version         : 4.0.0-1
Description     : Screensaver designed to integrate well with the Cinnamon
                  desktop.
Architecture    : x86_64
URL             : https://github.com/linuxmint/cinnamon-screensaver
Licenses        : GPL
Groups          : None
Provides        : None
Depends On      : accountsservice  cinnamon-desktop  dbus-glib  libgnomekbd
                  python-cairo  python-gobject  python-setproctitle
                  python-xapp  xapps
Optional Deps   : cinnamon-translations: i18n
Required By     : cinnamon
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 1456,00 KiB
Packager        : Eli Schwartz <eschwartz@archlinux.org>
Build Date      : zo 04 nov 2018 03:10:48 CET
Install Date    : do 08 nov 2018 07:51:13 CET
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

It appears csd-screensaver is running:

$ pgrep -l screensaver
3013 csd-screensaver
mtwebster commented 5 years ago

That message means it tried to establish itself on dbus and failed.

Try installing d-feet, launch it, go to the session page (as opposed to system) and try to search for 'screensaver' - does org.cinnamon.ScreenSaver show up? Does it already have a pid? Does it acquire one if you click on it?

I remember some bug from a while back on arch/some arch distro - I guess there are some alternate package versions for some system things, I think there was one that excluded dbus support - you don't have any strange package choices by chance?

fschaap commented 5 years ago

Yes, org.cinnamon.ScreenSaver is in de session page. Yes, it already has an pid. Status is: Activatable: yes.

No, I don't have strange package choices. I installed this laptop from the Manjaro 17.1.12 Cinnamon iso about a week ago. It worked just fine with the Cinnamon 3.8.2 (if I am correct) packages. Lock screen worked too. I hardly changed a thing, except for installing some packages I needed. Today I updated and got the new Cinnamon 4.0.0 packages. There are some minor visual differences, but everything works. Except for the lock screen.

fschaap commented 5 years ago

Btw, the screensaver itself works. It activates automatically after the wait period according to whatever you've set in the settings.

It's just that the login prompt does not appear on the lock screen.

I'm not familiar with how the lock screen works and if it is different from the screensaver, so maybe looking at the screensaver is looking at the wrong part of the system.

mtwebster commented 5 years ago

Hmm ok, fair enough - please do this:

open /usr/share/dbus-1/services/org.cinnamon.ScreenSaver.service as root, and modify the exec line by adding --debug to it.

So it should look like:

[D-BUS Service]
Name=org.cinnamon.ScreenSaver
Exec=/usr/bin/cinnamon-screensaver --debug

Then log out and back in. Hopefully you'll end up with some debugging lines in your journal? If I get a moment I'll try to reproduce on virtualbox.

fschaap commented 5 years ago

Nope, sorry. No debugging lines from the screensaver in the journal :-(

mtwebster commented 5 years ago

Ah, just run cinnamon-screensaver-command -e - that should terminate it properly, then you can run in debug mode in a terminal.

I tried on an up-to-date manjaro, and couldn't reproduce any incorrect behavior. Can you share your screensaver settings pages? (settings and customize)

Thanks, you can revert that change to the dbus file whenever (though it's doing no harm either way), sorry for the detour.

fschaap commented 5 years ago

Reproducing this issue is going to be really difficult. I have updated 3 other machines to Cinnamon 4.0.0 and none had the lockscreen issue.

I've got some warnings and errors in the log though.

I terminated the screensaver with cinnamon-screensaver-command -e, undid the --debug option from /usr/share/dbus-1/services/org.cinnamon.ScreenSaver and then started the screensaver from the terminal with cinnamon-screensaver. I got the following output:

$ cinnamon-screensaver
/usr/share/cinnamon-screensaver/cinnamon-screensaver-main.py:61: DeprecationWarning: Gtk.icon_size_register is deprecated
  Gtk.icon_size_register("audio-button", 20, 20)
Cinnamon Screensaver support not found in current theme - adding some...
Trying to connect to logind...
Starting screensaver...

(cinnamon-screensaver-main.py:3845): accountsservice-WARNING **: 10:09:24.136: Could not get current seat: No data available
Not running under the session scope, trying XDG_SESSION_ID
found session: 5
Successfully using logind

I thought I'd try the lockscreen again, but no login prompt, so I tapped some keys and enter and this showed up in the journal:

nov 09 10:11:29 XXX cinnamon-screensaver-pam-helper[3966]: pam_unix(cinnamon-screensaver:auth): authentication failure; logname= uid=1000 euid=1000 tty=:0 ruser= rhost=  user=XXX
nov 09 10:11:29 XXX cinnamon-screensaver-pam-helper[3966]: gkr-pam: the password for the login keyring was invalid.
nov 09 10:11:32 XXX cinnamon-screensaver-pam-helper[3966]: pam_unix(cinnamon-screensaver:auth): authentication failure; logname= uid=1000 euid=1000 tty=:0 ruser= rhost=  user=XXX
nov 09 10:11:32 XXX cinnamon-screensaver-pam-helper[3966]: gkr-pam: the password for the login keyring was invalid.

Interesting, because previously when I typed the correct password on the lock screen, I was not logged in...

I dropped to tty and after I logged in, this showed up in the journal:

nov 09 10:12:06 XXX cinnamon-screensaver-pam-helper[3966]: pam_unix(cinnamon-screensaver:auth): conversation failed
nov 09 10:12:06 XXX cinnamon-screensaver-pam-helper[3966]: pam_unix(cinnamon-screensaver:auth): auth could not identify password for [XXX]
nov 09 10:12:06 XXX cinnamon-screensaver-pam-helper[3966]: gkr-pam: no password is available for user

Next I started cinnamon-screensaver --debug from the terminal and magic! Despite not seeing the login prompt, I could log in with my password! I got the following output:

Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1200
Monitor 1 is 0,102 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1200
Scale factor of 1 applied.  Monitor 1 is 0,102 1920 x 1080
Stage.update_geometry - new backdrop position: 0, 0  new size: 3840 x 1200
manager: user activity, waking
authClient: attempting to initialize
authClient: initialized
manager: locked, raising unlock widget
Traceback (most recent call last):
  File "/usr/share/cinnamon-screensaver/stage.py", line 727, in do_key_press_event
    return self.event_handler.on_key_press_event(event)
  File "/usr/share/cinnamon-screensaver/util/eventHandler.py", line 79, in on_key_press_event
    self.on_user_activity()
  File "/usr/share/cinnamon-screensaver/util/eventHandler.py", line 32, in on_user_activity
    self.manager.simulate_user_activity()
  File "/usr/share/cinnamon-screensaver/manager.py", line 172, in simulate_user_activity
    self.stage.raise_unlock_widget()
  File "/usr/share/cinnamon-screensaver/stage.py", line 649, in raise_unlock_widget
    self.info_panel.refresh_power_state()
  File "/usr/share/cinnamon-screensaver/infoPanel.py", line 52, in refresh_power_state
    self.power_widget.refresh()
AttributeError: 'InfoPanel' object has no attribute 'power_widget'
pam_start ("cinnamon-screensaver", "XXX", ...) ==> 0 (Success)
Handling message style 1: 'Password: '
Waiting for respose to message style 1: 'Password: '
Waiting for lock
Waiting for response
Got message style 1: 'Password: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Password: _'
authClient: idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient: idle add auth-busy
Output from pam helper: ''
authClient: message to child
auth_message_handler processing response string
should interrupt: 0
Got response
Got respose to message style 1: interrupt:0
Msg handler returned 1
Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE'
authClient: idle add auth-busy
Output from pam helper: ''
   pam_authenticate (...) ==> 0 (Success)
pam_acct_mgmt (...) ==> 0 (Success)
   pam_setcred (...) ==> 0 (Success)
 pam_end (...) ==> 0 (Success)
Verify user returned: TRUE
Output from pam helper: 'CS_PAM_AUTH_SUCCESS'
authClient: idle add success
Output from pam helper: ''
authClient: message to child
authClient: helper process completed...
CsScreen dispose
CsScreen finalize

So, I have set the --debug option again in /usr/share/dbus-1/services/org.cinnamon.ScreenSaver.service and rebooted.

I can now reliably log in from the lock screen. I need to first click the lock screen with the mouse to activate it. It does not show the login prompt. But when I type my password, it will log me in.

There's nothing interesting in the journal about the screensaver.

I'm thinking that I should attempt a re-install of this machine, with the Manjaro Architect installer, since that pulls the most recent packages straight from the mirrors when installing, thus forgoing the update from the older ISO packages. If the problem does not reappear, we can rule out that it is something structural to this particular machine.

mtwebster commented 5 years ago

I've added a fix for the one error (this prevents the unlock dialog from appearing): https://github.com/linuxmint/cinnamon-screensaver/commit/4dfa00e85ba08c64dbdcd9cdc801c4c22ebd3333

I'm not sure what the issues are with the pam authentication warnings. One thing to be aware of, the screensaver feeds the same keystroke that you 'woke' the computer with into the password field. Meaning, from a locked screen (no unlock dialog, just clock for instance), you can type your password and it will be passed along in full. On the other hand, I've seen where some people use the space bar, for instance, to wake the computer, then type their password, and it fails, because there is a leading space. (As I type I'm considering changing this behavior, at least maybe with whitespace)

A way to test the validity of the fix I linked would be to enable the info panel from screensaver settings. (customize->show info panel) - this will avoid the error you were getting.

If you're feeling more adventurous, you can edit (as root) /usr/share/cinnamon-screensaver/infoPanel.py. But more than likely you'll have a new version with the fix within a few days.

fschaap commented 5 years ago

I'm not sure what the issues are with the pam authentication warnings. One thing to be aware of, the screensaver feeds the same keystroke that you 'woke' the computer with into the password field.

Yep, I know :-)

A way to test the validity of the fix I linked would be to enable the info panel from screensaver settings. (customize->show info panel) - this will avoid the error you were getting.

Wow! Enabling the info panel fixed the password prompt, it's back!

If you're feeling more adventurous, you can edit (as root) /usr/share/cinnamon-screensaver/infoPanel.py. But more than likely you'll have a new version with the fix within a few days.

I have applied the change, but the change prevents me from entering the lockscreen entirely. I cannot trigger the lockscreen from screensaver timeout, keyboard shortcut or from the user widget.

mtwebster commented 5 years ago

Make sure you indented using spaces and not tabs. Sorry I should have mentioned this. Python is picky.

fschaap commented 5 years ago

Indeed, I had used tabs. I can confirm the patch works as expected now. Password prompt shows with and without the info panel checked.

Thanks a million @mtwebster :-)

icarter09 commented 5 years ago

@fschaap sounds like the patch fixed your issue. Can you close this issue? Thanks.

fschaap commented 5 years ago

@icarter09 I was not the original reporter, so I can't close the issue. Hopefully @cronfy can confirm and/or close the issue.

cronfy commented 5 years ago

Can the fix be applied to Cinnamon 3.4.6?

cronfy commented 5 years ago

In cinnamon-screensaver 3.4.2 there is no def refresh_power_state, so I can't apply the patch.

cronfy commented 5 years ago

I've got a debug log before and after freeze. Can this help?

Here is what I did:

  1. I started script in background that prints time every minute.
  2. Then I started cinnamon-screensaver in debug mode.
  3. I locked and unlocked the screen several times, everything was ok.
  4. But at 13:26 I locked the screen and left, and when I came back and pressed a key, no password prompt appeared.
  5. I killed the screensaver.

In the below log I added my own comments like this:

*** 
*** my comment
***
*** 
*** time printing script
***
cronfy@tachy ~ $ while sleep 60 ; do date ; done &
*** 
*** screensaver in debug
***
cronfy@tachy ~ $ cinnamon-screensaver --debug                                                                                     
Debug mode active
Cinnamon Screensaver support not found in current theme - adding some...
Trying to connect to logind...
Starting screensaver...
Successfully using logind
Вт мар 26 10:28:32 MSK 2019
...
Вт мар 26 10:49:32 MSK 2019
Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1080
Monitor 1 is 0,0 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1080
Scale factor of 1 applied.  Monitor 1 is 0,0 1920 x 1080
Вт мар 26 10:50:32 MSK 2019
...
Вт мар 26 10:57:32 MSK 2019
authClient initialize... initialized already: False
pam_start ("cinnamon-screensaver", "cronfy", ...) ==> 0 (Успех)
Handling message style 1: 'Пароль: '
Waiting for respose to message style 1: 'Пароль: '
Waiting for lock
Waiting for response
Got message style 1: 'Пароль: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Пароль: _'
authClient idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient idle add auth-busy
Output from pam helper: ''
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient message to child
authClient initialize... initialized already: True
auth_message_handler processing response string
should interrupt: 0
Got response
Got respose to message style 1: interrupt:0
Msg handler returned 1
Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE'
authClient idle add auth-busy
Output from pam helper: ''
   pam_authenticate (...) ==> 0 (Успех)
pam_acct_mgmt (...) ==> 0 (Успех)
   pam_setcred (...) ==> 0 (Успех)
 pam_end (...) ==> 0 (Success)
Verify user returned: TRUE
Output from pam helper: 'CS_PAM_AUTH_SUCCESS'
authClient idle add success
Output from pam helper: ''
authClient helper process completed...
authClient cancel requested, but no helper process
CsScreen dispose
CsScreen finalize
Вт мар 26 10:58:32 MSK 2019
Вт мар 26 10:59:32 MSK 2019
Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1080
Monitor 1 is 0,0 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1080
Scale factor of 1 applied.  Monitor 1 is 0,0 1920 x 1080
Вт мар 26 11:00:32 MSK 2019
authClient initialize... initialized already: False
pam_start ("cinnamon-screensaver", "cronfy", ...) ==> 0 (Успех)
Handling message style 1: 'Пароль: '
Waiting for respose to message style 1: 'Пароль: '
Waiting for lock
Waiting for response
Got message style 1: 'Пароль: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Пароль: _'
authClient idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient idle add auth-busy
Output from pam helper: ''
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient message to child
authClient initialize... initialized already: True
auth_message_handler processing response string
should interrupt: 0
Got response
Got respose to message style 1: interrupt:0
Msg handler returned 1
Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE'
authClient idle add auth-busy
Output from pam helper: ''
   pam_authenticate (...) ==> 0 (Успех)
pam_acct_mgmt (...) ==> 0 (Успех)
   pam_setcred (...) ==> 0 (Успех)
 pam_end (...) ==> 0 (Success)
Verify user returned: TRUE
Output from pam helper: 'CS_PAM_AUTH_SUCCESS'
authClient idle add success
authClient idle add success
Output from pam helper: ''
authClient message to child
authClient helper process completed...
CsScreen dispose
CsScreen finalize
Вт мар 26 11:01:32 MSK 2019
...
Вт мар 26 11:50:33 MSK 2019
Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1080
Monitor 1 is 0,0 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1080
Scale factor of 1 applied.  Monitor 1 is 0,0 1920 x 1080
Вт мар 26 11:51:33 MSK 2019
...
Вт мар 26 11:57:33 MSK 2019
authClient initialize... initialized already: False
pam_start ("cinnamon-screensaver", "cronfy", ...) ==> 0 (Успех)
authClient initialize... initialized already: True
Handling message style 1: 'Пароль: '
Waiting for respose to message style 1: 'Пароль: '
Waiting for lock
Waiting for response
Got message style 1: 'Пароль: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Пароль: _'
authClient idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient idle add auth-busy
Output from pam helper: ''
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient message to child
authClient initialize... initialized already: True
auth_message_handler processing response string
should interrupt: 0
Got response
Got respose to message style 1: interrupt:0
Msg handler returned 1
Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE'
authClient idle add auth-busy
Output from pam helper: ''
   pam_authenticate (...) ==> 0 (Успех)
pam_acct_mgmt (...) ==> 0 (Успех)
   pam_setcred (...) ==> 0 (Успех)
 pam_end (...) ==> 0 (Success)
Verify user returned: TRUE
Output from pam helper: 'CS_PAM_AUTH_SUCCESS'
authClient idle add success
Output from pam helper: ''
authClient helper process completed...
authClient cancel requested, but no helper process
CsScreen dispose
CsScreen finalize
Вт мар 26 11:58:33 MSK 2019
...
Вт мар 26 12:15:33 MSK 2019
Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1080
Monitor 1 is 0,0 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1080
Scale factor of 1 applied.  Monitor 1 is 0,0 1920 x 1080
Вт мар 26 12:16:33 MSK 2019
...
Вт мар 26 12:25:33 MSK 2019
authClient initialize... initialized already: False
pam_start ("cinnamon-screensaver", "cronfy", ...) ==> 0 (Успех)
Handling message style 1: 'Пароль: '
Waiting for respose to message style 1: 'Пароль: '
Waiting for lock
Waiting for response
Got message style 1: 'Пароль: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Пароль: _'
authClient idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient idle add auth-busy
Output from pam helper: ''
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient message to child
authClient initialize... initialized already: True
auth_message_handler processing response string
should interrupt: 0
Got response
Got respose to message style 1: interrupt:0
Msg handler returned 1
Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE'
authClient idle add auth-busy
Output from pam helper: ''
   pam_authenticate (...) ==> 0 (Успех)
pam_acct_mgmt (...) ==> 0 (Успех)
   pam_setcred (...) ==> 0 (Успех)
 pam_end (...) ==> 0 (Success)
Verify user returned: TRUE
Output from pam helper: 'CS_PAM_AUTH_SUCCESS'
authClient idle add success
Output from pam helper: ''
authClient message to child
authClient helper process completed...
CsScreen dispose
CsScreen finalize
Вт мар 26 12:26:33 MSK 2019
...
Вт мар 26 13:25:33 MSK 2019

***
*** Before this I locked screen for several times and unlocked it without problems.
***
*** Here I locked screen again. And after I came back, I pressed a key,
*** but no password prompt appeared on the screen.
***

Found 2 Xinerama screens on display :0
Monitor 0 is 1920,0 1920 x 1080
Monitor 1 is 0,0 1920 x 1080
Cinnamon Screensaver compiled without Solaris Xinerama support
Scale factor of 1 applied.  Monitor 0 is 1920,0 1920 x 1080
Scale factor of 1 applied.  Monitor 1 is 0,0 1920 x 1080
Вт мар 26 13:26:33 MSK 2019
...
Вт мар 26 13:30:33 MSK 2019
authClient initialize... initialized already: False
pam_start ("cinnamon-screensaver", "cronfy", ...) ==> 0 (Успех)
Handling message style 1: 'Пароль: '
Waiting for respose to message style 1: 'Пароль: '
Waiting for lock
Waiting for response
Got message style 1: 'Пароль: '
Output from pam helper: 'CS_PAM_AUTH_SET_PROMPT_Пароль: _'
authClient idle add auth-prompt
Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE'
authClient idle add auth-busy
Output from pam helper: ''
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
authClient initialize... initialized already: True
Killed 

***
*** I killed screensaver, because there was no password prompt
***
hpg-mheck commented 5 years ago

POSSIBLE WORKAROUND: I, and several other people, saw this issue after upgrading from Fedora 29 to Fedora 30:

https://bugzilla.redhat.com/show_bug.cgi?id=1534873

After a lot of investigation and troubleshooting, I eventually confirmed that the problem (at least for us) was "fprintd", the fingerprint recognition authentication daemon. Gnome (shell?) is apparently configured to use this as an authentication source; the mechanics of how that is plumbed are not entirely clear to me. What IS clear is that uninstalling fprintd made it go away:

( this is for Fedora; translate for your distro's package manager: ) sudo dnf remove fprintd sudo reboot

After doing this, I could now log into the system from screen lock without delay.

Now, I want to be clear that this probably isn't the end of the story, because I had some other issues that I suspect may be related; chief among them was really long delays trying to use "sudo" commands. I was able to resolve those by messing with "authselect", sssd, and nsswitch.conf, but I'm not sure I have anything terribly coherent to recommend other than sanity-checking nsswitch.conf's entry orders and reapplying authselect policy. But it was hard to get help investigating these, because when I looked into it everyone just said, "Oh, your resolv.conf or hosts or hostname is wrong". Except that it wasn't, because that was a DIFFERENT issue-- this one happened in runlevel 2, before networking was even up.

Researching both that issue and this one, what I have uncovered is what looks like some really brittle stuff in the low-level authentication systems that ALL of the major distros have a history of occasionally breaking during version upgrades.

So, at some point, those teams are going to have to stop pointing fingers at each other and actually come up with solutions that are harder to break.

hpg-mheck commented 5 years ago

Oh, and to answer the information-gathering question for this, what was helpful to us was this:

  1. Open a console.
  2. Execute: sudo journalctl -af
  3. Press enter several times to give yourself a visual reference point you can find when you scroll back if all this works.
  4. Press Window-L (or Super-L or whatever locks your screen).
  5. Wait 20-30 seconds.
  6. Press and release SHIFT, move the mouse, and left-click, to wake things up.
  7. Press ENTER, left-click + drag up, or touch-and-drag-up to get the password prompt.
  8. If the password prompt is not displayed, WAIT 60 SECONDS WITHOUT FURTHER ACTION.
  9. When the password screen is eventually displayed, log in.
  10. Go to the top of your journalctl output, and inspect it carefully, paying special attention to anything near "pam" related stuff.
cronfy commented 5 years ago

@hpg-mheck thanks. I tried this on some older version of Linux Mint, there [8] and [9] worked for me. But currently (Linux Mint 18.3, cinnamon 3.6.7) even if I wait for a long time, password prompt does not appear at [9].

ghost commented 5 years ago

I'm still suffering this issue. Linux Mint 19.1 Cinnamon 4.0.10 The problem appeared when I started using a second monitor (maybe a coincidence, just saying...)

cronfy commented 5 years ago

Me too have second monitor attached. And I noticed this correlation too. When I work with 1 monitor, issue never (indeed never) happens. When I attach second monitor, it begins to happen. I used to work on three computers with different Linux Mint versions since 17 (do not remember exact versions), then 18--18.3.

Symphtoms are all the same: 1 monitor - no problem, 2 monitors - have problem.

paranoidi commented 5 years ago

Crashed again, required killall cinnamon-screensaver

dmesg .. yeah, screensaver is is hitting CPU throttling

[Tue Jul 30 11:15:59 2019] CPU7: Package temperature/speed normal
[Tue Jul 30 11:15:59 2019] CPU3: Package temperature/speed normal
[Tue Jul 30 11:18:59 2019] CPU3: Core temperature above threshold, cpu clock throttled (total events = 131)
[Tue Jul 30 11:18:59 2019] CPU7: Core temperature above threshold, cpu clock throttled (total events = 131)
[Tue Jul 30 11:18:59 2019] CPU3: Core temperature/speed normal
[Tue Jul 30 11:18:59 2019] CPU7: Core temperature/speed normal
[Tue Jul 30 11:21:00 2019] CPU7: Package temperature/speed normal
[Tue Jul 30 11:21:00 2019] CPU1: Package temperature/speed normal
[Tue Jul 30 11:21:00 2019] CPU3: Package temperature/speed normal
.
.
[Tue Jul 30 12:12:47 2019] cinnamon[11207]: segfault at a0 ip 00007f1556624096 sp 00007ffd2b0cc6e0 error 4 in libmuffin.so.0.0.0[7f15565fd000+bd000]

journalctl

Jul 30 12:11:01 marko-ThinkPad-P52s cinnamon-screensaver-pam-helper[10096]: pam_unix(cinnamon-screensaver:auth): conversation failed
Jul 30 12:11:01 marko-ThinkPad-P52s cinnamon-screensaver-pam-helper[10096]: pam_unix(cinnamon-screensaver:auth): auth could not identify password for [xxx]

Edit: I'm going to maintain here a list of times when I've had to kill the screensaver in order to log in. It's a bit passive aggressive but should hilight the severity ..

I am now seeing something new in journalctl

cinnamon-screensaver-pam-helper[9425]: pam_ecryptfs: seteuid error

https://termbin.com/0jlw

Edit2: Nvidia driver upgrade solved crashing, it's still eating 100% of one core though ...

roadhazard commented 5 years ago

Here to report the same. Was running a fresh install of Endeavour OS (Arch based) and fresh Linux Mint 19.2 install (Cinnamon desktop on both). After the screen saver kicked in and I came back to type in my password, some times I'd get a single character entered and it would stop responding and other times, I couldn't type anything into the password box. Had to switch to a new terminal, login and reboot to get it back. Sure, I could have probably tried a better way of recovering the system but it was just quicker to reboot. :)

d-dmitry commented 4 years ago

After upgrading to 19.2 I have the same problem.

roadhazard commented 4 years ago

After upgrading to 19.2 I have the same problem.

The good news is, when the password prompt stops "responding", it actually hasn't. Somebody on the Mint forums I think pointed out that if I continue typing and hit enter, the lock screen will unlock. And it does. Disappointing that this bug has been open for going on 2 years with no fix. I'm also having weird problems with the Nemo version included in Mint 19.2. I've donated to the Mint project and I wish they'd direct some effort into resolving these problems.

cronfy commented 4 years ago

btw, I haven't experienced this problem for a long time (couple of months for sure). Still on 18.3.

roadhazard commented 4 years ago

btw, I haven't experienced this problem for a long time (couple of months for sure). Still on 18.3.

Correct. Looks like a bug that the Cinnamon developers introduced lately. Didn't have the problem with Mint 19.1 or Mint 18.x but DO have it in Arch based distros and Mint 19.2.

icarter09 commented 4 years ago

@eli-schwartz

cronfy commented 4 years ago

btw, I haven't experienced this problem for a long time (couple of months for sure). Still on 18.3.

What have changed/not changed in my setup since last time (couple of months ago) I've experienced this problem:

Not changed:

  1. I still have Linux mint 18.3 (I only update packages from time to time via Update manager).
  2. I still have Cinnamon 3.6.7.

Changed:

  1. I changed monitor and it's connection.
    • BEFORE I had 2 monitors connected like this:
      1. (main) motherboard DVI -> DVI-to-VGA connector -> VGA-VGA cable -> monitor VGA.
      2. (secondary) motherboard VGA -> VGA cable -> monitor VGA.
    • THEN I changed main monitor and it's connection:
      1. (main) motherboard DVI -> DVI-to-HDMI cable -> monitor HDMI.
      2. (secondary) same as above.
    • and NOW I changed monitor again and have this:
      1. (main) motherboard DVI -> DVI-to-DVI cable -> montitor DVI.
      2. (secondary) same as above.

Since "THEN" step I have not experienced this problem.

Harry-W-Haines-III commented 4 years ago

Edit2: Nvidia driver upgrade solved crashing, it's still eating 100% of one core though ...

Did you ever get a resolution to this issue?

paranoidi commented 4 years ago

Edit2: Nvidia driver upgrade solved crashing, it's still eating 100% of one core though ...

Did you ever get a resolution to this issue?

Unfortunately that is still happening (Lenovo P52s).

Seems like it happens only when displays go to power saving ..

Harry-W-Haines-III commented 4 years ago

If your computer has a newer Intel processor, have to tried adding the kernel parameter "intel_pstate=disable" to the grub boot line? This solved the issue of CPU 1 locking at 90% and causing the CPU to run 'hot'.

paranoidi commented 4 years ago

@Harry-W-Haines-III I have not tried that, thank you for the suggestion. Added to grub. I will report back once I have more information at hand.

claudiux commented 4 years ago

@Harry-W-Haines-III Thank you for the tip! It works like a charm.

ghost commented 4 years ago

If your computer has a newer Intel processor, have to tried adding the kernel parameter "intel_pstate=disable" to the grub boot line? This solved the issue of CPU 1 locking at 90% and causing the CPU to run 'hot'.

I can confirm this is a fix, on Asus Rog Strix with i7-9750 CPU. https://forum.endeavouros.com/t/cinnamon-screensaver-fails-to-update-screen-upon-wake-up/5567/2

LinuxOnTheDesktop commented 3 years ago

The CPU problem seems additional to the problem to which this issue reported was devoted originally. The proposed fix for that problem is actually a workaround and one that I believe disables important functionality.

The original problem has its cousins: #356; #359; #392. Should there be a 'meta-bug' report? Also: are these problems not fairly urgent? If they are, why does it feel as though they are not being treated as such?

LinuxOnTheDesktop commented 3 years ago

I am sorry to report that even with the latest (5.0.7) version of the screensaver the problem persists. (I applied the update, rebooted, and when I returned to the laptop it was locked and would not show the password box.)

LinuxOnTheDesktop commented 2 years ago

Just now one of my ThinkPads - a X1C6, running Mint Cinnamon 20.3 - had this problem again.

LinuxOnTheDesktop commented 2 years ago

On the most recent occurrence of this problem - the login box failed to appear - this was in the logs:

kernel: [ 11.558197] cinnamon-screen[2994]: segfault at 18 ip 00007f03a5983104 sp 00007ffcae4431d8 error 4 in libgtk-3.so.0.2404.16[7f03a5727000+36f000].

MintReport contained no crash report, but that might because MintReport crashed when I ran it. Seemingly if one runs MintReport as one user and then runs MintReport as another user there is a permission problem. I will file a bug for that specific issue if it reoccurs (better: after it reoccurs after I have solved the permission problem manually).

putsan commented 2 years ago

Hi, I'm not sure where to leave the report and with what details So I just wanted to say that your recommendations were beneficial to switch back to my desktop without rebooting my laptop

image

mtwebster commented 2 years ago

Hi, there are quite a few fixes in the latest tagged version 5.4.1, which you can test via Mint 21 beta if you use Mint, or else wait until your distro maintainer releases an update.

see: https://github.com/linuxmint/cinnamon-screensaver/pull/410