Red Hat Bugzilla – Bug 614573
fprintd blocks screen unlock
Last modified: 2010-11-10 15:24:18 EST
fprintd appears to block unlocking the screen when it's locked via inactivity or via Ctl+Alt+L. I'm able to log in using my password, but after locking the screen I'm unable to unlock it.
gnome-screensaver takes my password and hangs in "Checking..." until it times the auth attempt out. I know the password is correct.
I can work around the issue by commenting out the:
auth sufficient pam_fprintd.so
line in my /etc/pam.d/system-auth file. I can *also* work around the issue by moving the /usr/share/dbus-1/system-services/net.reactivated.Fprint.service file to prevent fprintd from loading.
I have not enrolled any fingerprints on my system, and this is an up-to-date install of RHEL6 as of 2010-07-14.
Created attachment 431885 [details]
screensaver log from launch until password timeout
Created attachment 431886 [details]
log from 2.28.3-5.el6 with *works*
So downgrading to gnome-screensaver-2.28.3-5.el6 makes things work again.
THe problem appears to be caused by patch #14, remove-theme-support.patch. Builds without that patch do not exhibit the hang.
can't unlock screen is a serious blocker, devack+
I spent some time trying to reproduce this yesterday and came up short. I also read through the patch and can't come up with anything immediately plausible.
We can always revert the patch I guess, but I'd like to avoid that if possible.
Roderick, any chance you could set up a test user that I could remotely debug with?
So Roderick McCloud (Dan Williams) set up vnc on his machine and I was able to reproduce. It took several hours for me to figure out the problem, but it turns out to be an issue in pam_fprintd.
pam_fprintd is very careful to use its own main loop context (as it should) to prevent getting in the way of the gnome-screensaver.
Unfortunately, there's a small bug in its logic where it ends up removing a random file descriptor from the default context. In Dan's case that file descriptor is really important. It's what tells gnome-screensaver when to drop the dialog.
The patch is as simple as:
- g_source_remove (timeout_id);
+ g_source_destroy (source);
(g_source_remove always operates on the default context)
*** Bug 613970 has been marked as a duplicate of this bug. ***
cannot see this error any more in snapshot 9
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.