Bug 320121

Summary: if running maintenance, "rebuild thumbnails", digiKam hangs endlessly
Product: [Applications] digikam Reporter: Axel Krebs <axel.krebs>
Component: Maintenance-ThumbsAssignee: Digikam Developers <digikam-bugs-null>
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 3.1.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 3.3.0

Description Axel Krebs 2013-05-22 02:40:46 UTC
From time to time, I do maintennce on my pics collection. 

If I run "rebuild thumbnails", digiKam hangs (more than half a day) without any progress.

I set "skip existing pictures" (or so) to save time

Other submenus within maintenance tool seem to work properly

Reproducible: Always

Steps to Reproduce:
1. start digiKam
2. run maintenance, rebuild all thumbnails (skip checked directories or so)
3. do something nice: otherwise you'd to wait endlessly to finish the thumbnail process.
Actual Results:  
- hangers
- waste of time, but not success
- meagre usability beacuse of missing feedback information from sub-processes!!!

Expected Results:  
thumbnails-maintenace should rung run through reliably in background, using as less as possible resources
Comment 1 caulier.gilles 2013-05-22 05:19:30 UTC
from a console where you start digiKam, what didi you see as debug messages ?

Gilles Caulier
Comment 2 Axel Krebs 2013-05-22 19:59:40 UTC
Am 22.05.2013 07:19, schrieb Gilles Caulier:
> https://bugs.kde.org/show_bug.cgi?id=320121
> Gilles Caulier <caulier.gilles@gmail.com> changed:
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                   CC|                            |caulier.gilles@gmail.com
> --- Comment #1 from Gilles Caulier <caulier.gilles@gmail.com> ---
> from a console where you start digiKam, what didi you see as debug messages ?
> Gilles Caulier

Hi Gilles,


ak@quadro:~$ digikam
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading 
configurations from ~/.fonts.conf is deprecated.
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is 
still in use, all queries will cease to work.
digikam(8538)/digikam (core) Digikam::CollectionScanner::scanAlbum: 
Folder does not exist or is not readable:  "/data/quadro_bilder/Heimseite"

Hope this helps?

Comment 3 caulier.gilles 2013-07-28 08:24:49 UTC
Git commit 62125c25374b0caf2d6a3812d1d34812ede8a6fd by Gilles Caulier.
Committed on 28/07/2013 at 08:00.
Pushed by cgilles into branch 'master'.

Maintenance Manager : complete rewrite of maintenance tools handling.
Instead to use signal provided by tool to know if job is done, use progress manager signal.
Store instance of each tools in d private container instead stack to provide a better check of stage under progress.
Patch ScanController to provide a better feedback to NewItemsFinder, in all scan mode. Add a new method to only call core code to perform
scan WITHOUT to show a progress dialog. In fact progress manager as already all in place to give user feedback about progress...
Patch FaceManagement maintenance tool to indicate that face are detected and recognized.
Move status progress bar with ProgresManager code, as this one is fully relevant.

Marcel, I would to drop fully DProgressDialog code, which is only used now to ScanController, with all first run step to collect all information from image
managed by database. I remember that in 2.x serie, you have patched digiKam to only perform first run scan in background when albumgui is show. I'm right ?
At now, this feature sound fonctionnal some time, but it's not fully reproducible.
If you take a look how Google Picasa work, you will see that main DB referencing run in background when main GUI is displayed. A progress indication is show in statusbar.
User can start to work with collected items in real time and don't need to wait a long time that all referencing is done through a small progress dialog...
Look this entry for ex : 320359.
What do you think about?
Related: bug 295256, bug 295255, bug 297614, bug 306282

CCMAIL: marcel.wiesweg@gmx.de

FIXED-IN: 3.3.0

M  +1    -1    CMakeLists.txt
M  +19   -7    digikam/database/scancontroller.cpp
M  +7    -0    digikam/database/scancontroller.h
M  +1    -1    libs/progressmanager/progressmanager.cpp
R  +1    -0    libs/progressmanager/statusprogressbar.cpp [from: libs/widgets/common/statusprogressbar.cpp - 098% similarity]
R  +1    -0    libs/progressmanager/statusprogressbar.h [from: libs/widgets/common/statusprogressbar.h - 096% similarity]
M  +2    -3    utilities/maintenance/duplicatesfinder.cpp
M  +1    -1    utilities/maintenance/facedetector.cpp
M  +1    -2    utilities/maintenance/fingerprintsgenerator.cpp
M  +1    -1    utilities/maintenance/maintenancedlg.cpp
M  +117  -77   utilities/maintenance/maintenancemngr.cpp
M  +14   -8    utilities/maintenance/maintenancemngr.h
M  +3    -1    utilities/maintenance/maintenancetool.cpp
M  +24   -20   utilities/maintenance/newitemsfinder.cpp
M  +0    -1    utilities/maintenance/newitemsfinder.h
M  +1    -2    utilities/maintenance/thumbsgenerator.cpp