Bug 614573 - fprintd blocks screen unlock
Summary: fprintd blocks screen unlock
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: fprintd
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Bastien Nocera
QA Contact: desktop-bugs@redhat.com
: 613970 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-14 19:11 UTC by Dan Williams
Modified: 2010-11-10 20:24 UTC (History)
8 users (show)

Fixed In Version: fprintd-0.1-19.git04fd09cfa.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-11-10 20:24:18 UTC
Target Upstream Version:

Attachments (Terms of Use)
screensaver log from launch until password timeout (14.47 KB, text/plain)
2010-07-14 19:36 UTC, Dan Williams
no flags Details
log from 2.28.3-5.el6 with *works* (10.82 KB, text/plain)
2010-07-14 19:45 UTC, Dan Williams
no flags Details

Description Dan Williams 2010-07-14 19:11:10 UTC
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.

Comment 2 Dan Williams 2010-07-14 19:36:17 UTC
Created attachment 431885 [details]
screensaver log from launch until password timeout

Comment 3 Dan Williams 2010-07-14 19:40:56 UTC

Comment 4 Dan Williams 2010-07-14 19:45:44 UTC
Created attachment 431886 [details]
log from 2.28.3-5.el6 with *works*

Comment 5 Dan Williams 2010-07-14 19:47:51 UTC
So downgrading to gnome-screensaver-2.28.3-5.el6 makes things work again.

Comment 6 Dan Williams 2010-07-14 20:03:06 UTC
THe problem appears to be caused by patch #14, remove-theme-support.patch.  Builds without that patch do not exhibit the hang.

Comment 7 Ray Strode [halfline] 2010-07-15 20:46:53 UTC
can't unlock screen is a serious blocker, devack+

Comment 8 Ray Strode [halfline] 2010-07-27 13:56:17 UTC
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?

Comment 9 Ray Strode [halfline] 2010-07-27 22:20:41 UTC
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)

marking MODIFIED

Comment 11 Ray Strode [halfline] 2010-07-29 13:54:09 UTC
*** Bug 613970 has been marked as a duplicate of this bug. ***

Comment 12 Vladimir Benes 2010-08-04 12:50:05 UTC
cannot see this error any more in snapshot 9

Comment 13 releng-rhel@redhat.com 2010-11-10 20:24:18 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.