After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 675006 - login: Survive fprintd problems
login: Survive fprintd problems
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: login-screen
unspecified
Other All
: Normal normal
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-04-28 01:43 UTC by Matthias Clasen
Modified: 2012-09-13 20:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
login: Survive fprintd problems (1.54 KB, patch)
2012-04-28 01:43 UTC, Matthias Clasen
none Details | Review
gdm: don't fail if fprintd unavailable (1.66 KB, patch)
2012-05-01 23:27 UTC, Ray Strode [halfline]
committed Details | Review
fingerprint: autostart fprintd when necessary (1.84 KB, patch)
2012-09-13 20:05 UTC, Ray Strode [halfline]
none Details | Review

Description Matthias Clasen 2012-04-28 01:43:54 UTC
fprintd sometimes has problems and stops with an error when
it gets activated. This should not cause the login screen
to end in a fail whale, so catch this and continue without
fingerprints.

https://bugzilla.redhat.com//show_bug.cgi?id=814690
Comment 1 Matthias Clasen 2012-04-28 01:43:56 UTC
Created attachment 213004 [details] [review]
login: Survive fprintd problems
Comment 2 Ray Strode [halfline] 2012-05-01 23:27:23 UTC
Created attachment 213252 [details] [review]
gdm: don't fail if fprintd unavailable

fingerprint support is optional so we shouldn't try to start
fprintd upfront and croak if it fails.
Comment 3 Ray Strode [halfline] 2012-05-01 23:28:18 UTC
i think attachment 213252 [details] [review] is slightly nicer / more in line with what we do in other parts of the shell code. It seems to work okay.
Comment 4 Colin Walters 2012-05-02 00:45:44 UTC
Review of attachment 213252 [details] [review]:

Hm, so we end up not trying to autostart it, and then when we call _startFingerprintConversationIfNeeded() we'll get an error, and we just ignore it?  I guess that's OK...but for these kinds of "optional dbus services" it seems like it'd be cleaner to

1) Explicitly try starting them via StartServiceByName
2) Wait in a callback for their name to appear on the bus (notify::g-name-owner property)

But this is OK for now.
Comment 5 Ray Strode [halfline] 2012-05-02 15:44:59 UTC
Attachment 213252 [details] pushed as e333263 - gdm: don't fail if fprintd unavailable
Comment 6 Ray Strode [halfline] 2012-05-02 15:50:23 UTC
The suggestion in comment 4 would prevent unnecessarily calling into the bus every time the conversation is reset for cases where fprintd is around, but it would mean we don't reactivate fprintd if fprintd ever dies (unless we do StartServiceByName every time we reset, but then we lose the initial benefit)
Comment 7 Ray Strode [halfline] 2012-09-13 20:05:51 UTC
Created attachment 224265 [details] [review]
fingerprint: autostart fprintd when necessary

commit e333263fd646cee7b235e181db7dd96a6bf0735e changed fingerprint.js
to not throw an exception when fprintd is uninstalled, by adding the
flags DO_NOT_LOAD_PROPERTIES and DO_NOT_AUTO_START

DO_NOT_LOAD_PROPERTIES is correct.  Loading the properties is what makes
it fail at initialization time when not installed.  DO_NOT_AUTO_START is
not correct though. It means fprintd will never get activated implicitly
when we need it.

This commit removes DO_NOT_AUTO_START thus making fprintd start when we
need it, but not fail at initialization time when not around.
Comment 8 Ray Strode [halfline] 2012-09-13 20:06:39 UTC
Comment on attachment 224265 [details] [review]
fingerprint: autostart fprintd when necessary

(ignore that, meant for bug 683131 )