Bug 506658 - kscreenlocker_greet breaks my fingerprint scanner, until I restart it
Summary: kscreenlocker_greet breaks my fingerprint scanner, until I restart it
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: Screen locking (other bugs)
Version First Reported In: 6.4.2
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-07-06 00:10 UTC by cacho96
Modified: 2025-07-07 08:54 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cacho96 2025-07-06 00:10:40 UTC
SUMMARY
I am not able to login at the screenlocker page with my fingerprint scanner, unless I restart kscreenlocker_greet 

STEPS TO REPRODUCE
1. Lock the screen with 

    sleep 1
    dbus-send --session --print-reply --dest=org.kde.kglobalaccel /component/org_kde_powerdevil org.kde.kglobalaccel.Component.invokeShortcut string:'Turn Off Screen'
    sleep 2
    dbus-send --session --print-reply --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock

2. Wait a few seconds and then get the screen on by moving the mouse
3. I see the screenlocker window prompting for password, with the sentence "or scan your fingerprint..." below the prompt, but only for a fraction of a second. I hear an error message sound, and I cannot use the fingerprint.

OBSERVED RESULT
After logging with a password, in the console I see a libfprint kernel crash.

YET, I found a workaround: I created a service that checks for screen on/off. If the screen turns on AND the screen is locked, I run the following command:

        sleep 1 ; pkill -f kscreenlocker_greet

Then the screenlocker turns black, but when it comes back to life I do see the line "or scan your fingerprint...", and I can use my fingerprint to log in, strongly indicating that this is indeed a kscreenlocker_greet bug. 

In addition, if I lock the screen without turning it off, with

    sleep 2
    dbus-send --session --print-reply --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock

then the screenlocker allows me to use the fingerprint scanner.

This journalctl extract seems to indicate that there is some ownership problem:

$ sudo journalctl -u fprintd.service -b -r
Jul 03 23:15:09 Orion systemd[1]: Starting fprintd.service - Fingerprint Authentication Daemon...
Jul 03 23:15:09 Orion systemd[1]: fprintd.service: Failed with result 'core-dump'.
Jul 03 23:15:09 Orion systemd[1]: fprintd.service: Main process exited, code=dumped, status=11/SEGV
Jul 03 23:15:09 Orion fprintd[91565]: BUG: (machine->completed): fpi_ssm_next_state() ../libfprint/fpi-ssm.c:456
Jul 03 23:15:09 Orion fprintd[91565]: Error; expected 8 bytes but got 8000, continuing
Jul 03 23:14:52 Orion fprintd[91565]: Read failed: device was disconnected, aborting
Jul 03 23:14:22 Orion systemd[1]: Started fprintd.service - Fingerprint Authentication Daemon. 

This is the libfprint error in the console:
kernel: fprintd[81941]: segfault at 557324dea118 ip 00007f98ec20a75a sp 00007fff978d1ca0 error 4 in libfprint-2.so.2.0.0[a75a,7f98ec200000+5f000] likely on CPU 10 (core 20, socket 0)
Jul  3 23:13:16 Orion kernel: Code: 5d 89 05 11 83 0a 00 c3 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 55 48 89 e5 53 48 89 fb 48 83 ec 18 e8 fb 90 ff ff 48 85 db 74 36 <48> 8b 13 48 85 d2 74 05 48 3b 02 74 17 48 89 c6 48 89 df 48 89 55
Jul  3 23:13:16 Orion login[81830]: pam_fprintd(login:auth): fprintd name owner changed during operation!
Jul  3 23:13:16 Orion login[81830]: pam_fprintd(login:auth): ReleaseDevice failed: Object does not exist at path “/net/reactivated/Fprint/Device/1” 

EXPECTED RESULT
Screenlocker asking for my fingerprint, no crashes.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 42
KDE Plasma Version: 6.4.2
Qt Version: 4.8.7
Comment 1 cacho96 2025-07-06 00:13:49 UTC
I think this error logged to the console is meaningful:    fprintd name owner changed during operation!
Comment 2 Harald Sitter 2025-07-06 13:46:14 UTC
Well, I mean, fprintd obviously shouldn't crash. Maybe report the bug there?
Comment 3 cacho96 2025-07-06 14:40:48 UTC
Yes, I thought about that. Obviously it should not crash. But fprintd works perfectly for me for all authentication, including the virtual consoles and all inside KDE. The only single occasion that it doesn't work is with kde screenlocker. It is expecting 80 bytes and got 8000, so I guess a fprintd bug fix would give an error and exit gracefully...?

Anyway, I would report this also to fprintd. But I don't expect any answers though, since they are EXTREMELY slow adding new hardware even when patched versions for specific scanners have been circulating for a long time working perfectly.
Comment 4 David Edmundson 2025-07-07 08:54:48 UTC
I think they'd fix a crash pronto. If you can link a but report here when you file one that would be appreciated.

We don't talk to fprintd but via a crappy abstraction layer.  There's not much we can do.