Authentication is cancelled (and immediately restarted) hitting Escape causing fingerprint to stop working and multiple stale gdm working
In the user session lockscreen (gdm login screen is fine):
- Lock the screen
- Hit Enter
- Hit Escape
- Repeat
You'll see by checking watch -n1 "ps aux |grep gdm-session-worker"
(or just ps
'ing after unlocked) that many gdm workers are left around and never terminated.
With a fingerprint reader:
- Lock the screen
- Hit Enter (swipe the screen)
- Fingerprint reader is activated
- Hit Escape (swipe the screen)
- Fingerprint reader is deactivated
- Once deactivated it gets suddenly reactivated
- The gdm-fingerprint worker is never released and the device is actually active:
- Hit Enter
- The device isn't recognized anymore as being already claimed
- Hit Escape (note: in the clock view!)
- Touch the fingerprint device:
- Once you get a clear match, the gdm-worker is stopped
So, what happens under the hood is that the authentication is restarted while the worker is never released when hitting Escape, leading to lots of gdm-session-worker
processes dangling around.
While this happens in all the authentication methods, the case of the fingerprint authentication is the most problematic, because only one worker at time can claim the usage of a device, and so the latest created won't allow the user to use the fingerprint sensor.
Edited by Marco Trevisan