[digikam] [Bug 367853] Digikam hangs on 'Reading database' when stumbling across MacOS' Photos Library of a huge size (>20GB)
via KDE Bugzilla
bugzilla_noreply at kde.org
Sat Aug 27 14:24:06 BST 2016
https://bugs.kde.org/show_bug.cgi?id=367853
--- Comment #6 from caulier.gilles at gmail.com ---
2016-08-27 13:50 GMT+02:00 Lars Van Casteren via KDE Bugzilla <
bugzilla_noreply at kde.org>:
> https://bugs.kde.org/show_bug.cgi?id=367853
>
> --- Comment #5 from Lars Van Casteren <larsvancasteren at gmail.com> ---
> I think the scanning actually went ok when seeing the console msg output.
> The problem seems to appear after the folder scan, or during consequent
> startup
> if you killed it.
>
> This is the console after it finished scanning Photos, it seemed to
> actually
> have finished.
>
> digikam.database: Complete scan took: 1339440 msecs.
> digikam.general: total scan value : 569565
> digikam.database: Complete scan (file scanning deferred) took: 203521
> msecs.
> digikam.general: Event is dispatched to OSX desktop notifier
> digikam.general: Camera XML data: "/Users/wowbagger/Library/Application
> Support/digikam/cameras.xml"
> digikam.facedb: FaceDB SelectFaceSetting val ret = 0
> digikam.facedb: FaceDB SelectFaceSetting val ret = 0
> digikam.facedb: Face database: have a structure version "2"
> digikam.facesengine: Face database ready for use
> digikam.facesengine: Face database ready for use
> digikam.geoiface: "setting backend marble"
> digikam.general: Stacked View Mode : 0
> digikam.geoiface: "setting backend marble"
> digikam.general: "browse_album"
> digikam.general: "browse_tag"
> digikam.general: "browse_labels"
> digikam.general: "browse_date"
> digikam.general: "browse_timeline"
> digikam.general: "browse_search"
> digikam.general: "browse_fuzzysearch"
> digikam.general: "browse_gpssearch"
> digikam.general: "browse_people"
> digikam.widgets: Paths to color scheme :
> ("/opt/digikam/Applications/KF5/digikam.app/Contents/Resources//digikam/
> colorschemes")
> digikam.widgets: "" :: ""
> QFSFileEngine::open: No file name specified
> digikam.dimg: Invalid variant value for device!
> digikam.dimg: updating data
> digikam.dimg: updating data
> digikam.general: Using 4 CPU core to run threads
> digikam.general: new search text settings: "" : hasResult = false ,
> validRows
> = 0
> QFSFileEngine::open: No file name specified
> digikam.geoiface: ----
> digikam.geoiface: ----
> digikam.general: Added root album called: "Pictures"
>
> This is a lldb bt:
>
> * thread #1: tid = 0xd0980, 0x00000001065714ff QtCore`QHash<QString,
> QHashDummyValue>::insert(QString const&, QHashDummyValue const&) + 207,
> stop
> reason = signal SIGSTOP
> * frame #0: 0x00000001065714ff QtCore`QHash<QString,
> QHashDummyValue>::insert(QString const&, QHashDummyValue const&) + 207
> frame #1: 0x000000010656f64b
> QtCore`QtPrivate::QStringList_removeDuplicates(QStringList*) + 251
> frame #2: 0x0000000100df7a7d
> libdigikamcore.5.2.0.dylib`___lldb_unnamed_function10472$$
> libdigikamcore.5.2.0.dylib
> + 29
> frame #3: 0x0000000100df7408
> libdigikamcore.5.2.0.dylib`Digikam::ModelCompleter::
> slotDataChanged(QModelIndex
> const&, QModelIndex const&) + 1560
> frame #4: 0x0000000100ea5e3f
> libdigikamcore.5.2.0.dylib`___lldb_unnamed_function12112$$
> libdigikamcore.5.2.0.dylib
> + 207
> frame #5: 0x00000001066c5796 QtCore`QMetaObject::activate(QObject*,
> int,
> int, void**) + 742
> frame #6: 0x000000010675c69d
> QtCore`QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex
> const&,
> QVector<int> const&) + 61
> frame #7: 0x0000000100326621
> libdigikamgui.5.2.0.dylib`Digikam::AbstractCountingAlbumModel::
> updateCount(Digikam::Album*)
> + 753
> frame #8: 0x00000001003266e5
> libdigikamgui.5.2.0.dylib`Digikam::AbstractCountingAlbumModel::
> includeChildrenCount(QModelIndex
> const&) + 117
> frame #9: 0x00000001003555bd
> libdigikamgui.5.2.0.dylib`___lldb_unnamed_function13361$$
> libdigikamgui.5.2.0.dylib
> + 61
> frame #10: 0x000000010035548a
> libdigikamgui.5.2.0.dylib`___lldb_unnamed_function13359$$
> libdigikamgui.5.2.0.dylib
> + 90
> frame #11: 0x0000000100355655
> libdigikamgui.5.2.0.dylib`___lldb_unnamed_function13362$$
> libdigikamgui.5.2.0.dylib
> + 133
> frame #12: 0x00000001003562c3
> libdigikamgui.5.2.0.dylib`___lldb_unnamed_function13381$$
> libdigikamgui.5.2.0.dylib
> + 51
> frame #13: 0x00000001066c5796 QtCore`QMetaObject::activate(QObject*,
> int,
> int, void**) + 742
> frame #14: 0x000000010675c88e
> QtCore`QAbstractItemModel::rowsInserted(QModelIndex const&, int, int,
> QAbstractItemModel::QPrivateSignal) + 78
> frame #15: 0x000000010663b740 QtCore`QAbstractItemModel::endInsertRows()
> +
> 80
> frame #16: 0x00000001066590b6
> QtCore`QSortFilterProxyModelPrivate::insert_source_items(QVector<int>&,
> QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation,
> bool)
> + 1430
> frame #17: 0x0000000106659b06
> QtCore`QSortFilterProxyModelPrivate::source_items_inserted(QModelIndex
> const&,
> int, int, Qt::Orientation) + 2070
> frame #18: 0x0000000106661d03
> QtCore`QSortFilterProxyModel::qt_static_metacall(QObject*,
> QMetaObject::Call,
> int, void**) + 1443
> frame #19: 0x00000001066c5796 QtCore`QMetaObject::activate(QObject*,
> int,
> int, void**) + 742
> frame #20: 0x000000010675c88e
> QtCore`QAbstractItemModel::rowsInserted(QModelIndex const&, int, int,
> QAbstractItemModel::QPrivateSignal) + 78
> frame #21: 0x000000010663b740 QtCore`QAbstractItemModel::endInsertRows()
> +
> 80
> frame #22: 0x00000001003258ad
> libdigikamgui.5.2.0.dylib`Digikam::AbstractAlbumModel::
> slotAlbumAdded(Digikam::Album*)
> + 93
> frame #23: 0x0000000100334cd7
> libdigikamgui.5.2.0.dylib`___lldb_unnamed_function12637$$
> libdigikamgui.5.2.0.dylib
> + 167
> frame #24: 0x00000001066c5796 QtCore`QMetaObject::activate(QObject*,
> int,
> int, void**) + 742
> frame #25: 0x000000010039174d
> libdigikamgui.5.2.0.dylib`Digikam::AlbumManager::
> signalAlbumAdded(Digikam::Album*)
> + 77
> frame #26: 0x00000001003743b8
> libdigikamgui.5.2.0.dylib`Digikam::AlbumManager::
> insertPAlbum(Digikam::PAlbum*,
> Digikam::PAlbum*) + 328
> frame #27: 0x0000000100375782
> libdigikamgui.5.2.0.dylib`Digikam::AlbumManager::scanPAlbums() + 4034
> frame #28: 0x0000000100374739
> libdigikamgui.5.2.0.dylib`Digikam::AlbumManager::refresh() + 25
> frame #29: 0x000000010037402a
> libdigikamgui.5.2.0.dylib`Digikam::AlbumManager::startScan() + 1578
> frame #30: 0x00000001000e8d71
> libdigikamgui.5.2.0.dylib`Digikam::DigikamApp::DigikamApp() + 3953
> frame #31: 0x0000000100011b7f digikam`main + 7343
> frame #32: 0x00007fff9221b5ad libdyld.dylib`start + 1
> frame #33: 0x00007fff9221b5ad libdyld.dylib`start + 1
>
> And this is the sqlite db:
>
> sqlite> select count (*) from images;
> 120444
>
> sqlite> select count(*) from albums;
> 106600
>
> Maybe the Album parsing to create the tree make it hang/unresponsive due
> to the
> very high amount of albums?
>
If it's the case, this can be a sqlite internal settings problem.
This will give the same result with Mysql internal to replace sqlite ? (not
a remote Mysql server).
Mysql must be better to handle big set of data. Does it pass until the end
of scan in this situation ?
Gilles Caulier
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Digikam-devel
mailing list