| Summary: | kscreenlocker_greet breaks my fingerprint scanner, until I restart it | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | cacho96 |
| Component: | Screen locking | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | normal | CC: | kde, sitter |
| Priority: | NOR | ||
| Version First Reported In: | 6.4.2 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Fedora RPMs | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
I think this error logged to the console is meaningful: fprintd name owner changed during operation! Well, I mean, fprintd obviously shouldn't crash. Maybe report the bug there? 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. 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. |
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