Bug 30287 - fprintd-verify fails endlessly if bad first scan
Summary: fprintd-verify fails endlessly if bad first scan
Status: RESOLVED WONTFIX
Alias: None
Product: libfprint
Classification: Unclassified
Component: libfprint (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: libfprint-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 73762
  Show dependency treegraph
 
Reported: 2010-09-20 12:11 UTC by Hugo Grostabussiat
Modified: 2015-10-09 15:48 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Patch implementing aforementioned fix. (1.38 KB, patch)
2010-10-06 12:35 UTC, Hugo Grostabussiat
Details | Splinter Review

Description Hugo Grostabussiat 2010-09-20 12:11:00 UTC
As notified by "The Source" in the mailing list, if one runs fprintd-verify and get a "verify-retry-scan" message, all subsequent attempts to match will fail with that same message.

Steps to reproduce:
- run fprintd-enroll to enroll a finger
- run fprintd-verify and quickly tap the sensor to trigger a bad scan
- try to swipe normally, you should get a "verify-retry-scan" message

Tested affected versions:
From git repository (run on Gentoo): fprintd-gitdc504bd1
From Fedora: fprintd-0.2.0-1.fc13

My fingerprint sensor model is Upek TCS4C (USBID 147e:1000).
Comment 1 Bastien Nocera 2010-09-20 13:26:48 UTC
That's a bug in the driver, not in fprintd.

The code in fprintd is correct (look for SIGNAL_VERIFY_STATUS in src/device.c), and the code in verify.c will loop until the finger is actually verified.
Comment 2 Hugo Grostabussiat 2010-09-20 16:45:06 UTC
I think I found out what caused this bug. This is because imgdev gets stuck into action_state IMG_ACQUIRE_STATE_AWAIT_FINGER_OFF when a verify/identify operation fails with a non-terminating condition.
A fix would consist in always going to state IMG_ACQUIRE_STATE_AWAIT_FINGER_ON when a bad scan occurs instead of only doing so for enrolling. (function fpi_imgdev_report_finger_status in imgdev.c)
Comment 3 Hugo Grostabussiat 2010-10-06 12:35:14 UTC
Created attachment 39240 [details] [review]
Patch implementing aforementioned fix.

Modified imgdev.c to jump to correct state in case of a verify or identify operation returning a FP_VERIF
Comment 4 Hugo Grostabussiat 2010-10-07 06:45:24 UTC
With the patch applied, a segfault occurs in nbis after an apparently random number of failed scans (verify-retry-scan) during a identify operation.
Comment 5 Vasily Khoruzhick 2013-03-19 13:17:45 UTC
Please re-test with recent libfprint version
Comment 6 Vasily Khoruzhick 2013-09-05 14:41:38 UTC
I have not 147e:1000 device, and it works fine on other devices. Closing this bug, because I can't reproduce it.
Comment 7 Fabian Zaremba 2014-01-18 13:38:39 UTC
Blocks 73762
Comment 8 Vasily Khoruzhick 2014-01-18 16:03:05 UTC
It's a driver bug, so please fix it in driver instead of modifying common code.
Comment 9 Francis Herne 2015-10-09 15:48:18 UTC
(In reply to Vasily Khoruzhick from comment #8)
> It's a driver bug, so please fix it in driver instead of modifying common
> code.

This also occurs with 08ff:2810, AuthenTec, Inc. AES2810, which according to http://freedesktop.org/wiki/Software/fprint/libfprint/ uses a different driver to the original report.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.