Bug 402807

Summary: Progress manager doesn't seem to be involved in the fingerprint scanning (v6.0 beta 3)
Product: [Applications] digikam Reporter: bcr
Component: ProgressManager-BatchAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 6.1.0   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In: 6.1.0
Sentry Crash Report:

Description bcr 2019-01-03 04:35:42 UTC
When in the "Similarty" tab and clicking the "Update fingerprints" button, digikam seems to lock up the UI thread (spinning beach ball on MacOS) while it performs a scan. The "No active process" indication shown on the bottom toolbar is thus misleading and there is no way for the user to terminate it after launch.
Comment 1 Maik Qualmann 2019-01-03 18:15:55 UTC
Git commit 0faafedf850331640950624056d2835a20323537 by Maik Qualmann.
Committed on 03/01/2019 at 18:15.
Pushed by mqualmann into branch 'master'.

set explicit a wait cursor

M  +2    -2    core/libs/database/similaritydb/similaritydb.cpp
M  +2    -2    core/libs/database/similaritydb/similaritydb.h
M  +5    -0    core/utilities/maintenance/fingerprintsgenerator.cpp
M  +5    -0    core/utilities/maintenance/thumbsgenerator.cpp

https://commits.kde.org/digikam/0faafedf850331640950624056d2835a20323537
Comment 2 Maik Qualmann 2019-01-03 18:20:45 UTC
The problem is that searching for affected images can take quite a while and is done in the main thread until the fingerprint thread can start.

Maik
Comment 3 bcr 2019-01-03 19:26:14 UTC
Maik, thanks for the update but if the search for affected images takes so long why not fork that to another (interruptible) thread as well?
Comment 4 caulier.gilles 2019-03-09 20:51:03 UTC
Bcr, 

This already the case about to fork database request to a separated thread.

Can you reproduce the dysfunction using current 6.1.0 pre-release PKG installer for MacOS ?

https://files.kde.org/digikam/

Thanks in advance

Gilles Caulier
Comment 5 bcr 2019-03-10 06:23:49 UTC
Yes, I can reproduce it in the 6.1.0 pre-release.  Locked UI, spinning beach ball and 'no active process' is indicated while it runs.
Comment 6 Maik Qualmann 2019-03-10 12:26:24 UTC
Git commit 385ed8ea1cdda93c3b864862211a02e4411e8c4e by Maik Qualmann.
Committed on 10/03/2019 at 12:24.
Pushed by mqualmann into branch 'master'.

move item fingerprint check to the task
FIXED-IN: 6.1.0

M  +2    -1    NEWS
M  +7    -37   core/utilities/maintenance/fingerprintsgenerator.cpp
M  +29   -11   core/utilities/maintenance/fingerprintstask.cpp
M  +14   -1    core/utilities/maintenance/maintenancedata.cpp
M  +10   -6    core/utilities/maintenance/maintenancedata.h
M  +4    -3    core/utilities/maintenance/maintenancethread.cpp
M  +1    -1    core/utilities/maintenance/maintenancethread.h

https://commits.kde.org/digikam/385ed8ea1cdda93c3b864862211a02e4411e8c4e