Bug 466259

Summary: digiKam crash after launch
Product: [Applications] digikam Reporter: K&B <kbjunk>
Component: Albums-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, metzpinguin
Priority: NOR Keywords: drkonqi
Version: 7.9.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 8.0.0
Sentry Crash Report:

Description K&B 2023-02-22 19:52:37 UTC
Application: digikam (7.9.0)

Qt Version: 5.15.8
Frameworks Version: 5.103.0
Operating System: Linux 6.1.12-200.fc37.x86_64 x86_64
Windowing System: X11
Distribution: Fedora Linux 37 (KDE Plasma)
DrKonqi: 5.27.0 [KCrashBackend]

-- Information about the crash:
1) Launch digiKam
2) Cancel operation to download additional components for face detection and red eye removal
3) digiKam displays the interface as I last recall it (displaying duplicates)
4) digiKam window is closed and crash is reported

NOTE: I have not used digiKam for some weeks. Today, I moved several image files within my Pictures directory (all source and destination within my Pictures directory) using a file manager (Dolphin).

I will attempt to remove and install digiKam and/or reset my configuration and report results.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted

[KCrash Handler]
#4  0x00007fa85f6afe5c in __pthread_kill_implementation () from /lib64/libc.so.6
#5  0x00007fa85f65fa76 in raise () from /lib64/libc.so.6
#6  0x00007fa85f6497fc in abort () from /lib64/libc.so.6
#7  0x00007fa85fcb14e5 in QMessageLogger::fatal(char const*, ...) const () from /lib64/libQt5Core.so.5
#8  0x00007fa85fcb0828 in qt_assert(char const*, char const*, int) () from /lib64/libQt5Core.so.5
#9  0x00007fa86239429d in QArrayData::data() [clone .part.0] [clone .lto_priv.0] () from /lib64/libdigikamgui.so.7.9.0
#10 0x00007fa8623ae1b0 in Digikam::Album::childAtRow(int) const [clone .cold] () from /lib64/libdigikamgui.so.7.9.0
#11 0x00007fa862500a69 in Digikam::AbstractAlbumModel::index(int, int, QModelIndex const&) const () from /lib64/libdigikamgui.so.7.9.0
#12 0x00007fa8625283a8 in Digikam::AbstractCheckableAlbumTreeView::rowsInserted(QModelIndex const&, int, int) () from /lib64/libdigikamgui.so.7.9.0
#13 0x00007fa85fed101f in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#14 0x00007fa85fe4df42 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib64/libQt5Core.so.5
#15 0x00007fa85fe56f8e in QAbstractItemModel::endInsertRows() () from /lib64/libQt5Core.so.5
#16 0x00007fa85fe7a91d in QSortFilterProxyModelPrivate::insert_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) () from /lib64/libQt5Core.so.5
#17 0x00007fa85fe7d409 in QSortFilterProxyModelPrivate::source_items_inserted(QModelIndex const&, int, int, Qt::Orientation) () from /lib64/libQt5Core.so.5
#18 0x00007fa85fe8012d in QSortFilterProxyModelPrivate::_q_sourceRowsInserted(QModelIndex const&, int, int) () from /lib64/libQt5Core.so.5
#19 0x00007fa85fed101f in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#20 0x00007fa85fe4df42 in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) () from /lib64/libQt5Core.so.5
#21 0x00007fa85fe56f8e in QAbstractItemModel::endInsertRows() () from /lib64/libQt5Core.so.5
#22 0x00007fa8624fc4d5 in Digikam::AbstractAlbumModel::slotAlbumAdded(Digikam::Album*) () from /lib64/libdigikamgui.so.7.9.0
#23 0x00007fa85fed0e96 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#24 0x00007fa8625055b6 in Digikam::AlbumManager::signalAlbumAdded(Digikam::Album*) () from /lib64/libdigikamgui.so.7.9.0
#25 0x00007fa86253c175 in Digikam::AlbumManager::scanPAlbums() () from /lib64/libdigikamgui.so.7.9.0
#26 0x00007fa85fed101f in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#27 0x00007fa85fed421e in QTimer::timeout(QTimer::QPrivateSignal) () from /lib64/libQt5Core.so.5
#28 0x00007fa85fec7fc5 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#29 0x00007fa860baed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#30 0x00007fa85fe9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#31 0x00007fa85feed981 in QTimerInfoList::activateTimers() () from /lib64/libQt5Core.so.5
#32 0x00007fa85feee25c in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#33 0x00007fa85df16cbf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#34 0x00007fa85df6c598 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#35 0x00007fa85df13f40 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#36 0x00007fa85feee5fa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#37 0x00007fa85fe9bf3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#38 0x00007fa8624bac00 in Digikam::ScanController::completeCollectionScanCore(bool, bool, bool) () from /lib64/libdigikamgui.so.7.9.0
#39 0x00007fa8625e0504 in Digikam::NewItemsFinder::slotStart() () from /lib64/libdigikamgui.so.7.9.0
#40 0x00007fa85fec8134 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#41 0x00007fa860baed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#42 0x00007fa85fe9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#43 0x00007fa85fea0854 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#44 0x00007fa85feeeb07 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#45 0x00007fa85df16cbf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#46 0x00007fa85df6c598 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#47 0x00007fa85df13f40 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#48 0x00007fa85feee5fa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#49 0x00007fa85fe9bf3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#50 0x00007fa860dbf987 in QDialog::exec() () from /lib64/libQt5Widgets.so.5
#51 0x00007fa861b7d1b3 in Digikam::FilesDownloader::startDownload() () from /lib64/libdigikamcore.so.7.9.0
#52 0x0000565121f2e265 in main ()
[Inferior 1 (process 20232) detached]

Reported using DrKonqi
Comment 1 K&B 2023-02-22 20:20:32 UTC
After removing digiKam related objects from my user profile, digiKam is now launching and functioning as expected.

I had not intensively used digiKam prior to this crash behavior so resetting my configuration has very little, if any, impact on my experience. At this point, I will gladly assist as I am able to get to a solution but I am able to use digiKam now.
Comment 2 Maik Qualmann 2023-02-22 21:02:20 UTC
This problem is fixed in the upcoming digiKam-8.0.0 with read and write locker to the album child cache.

Maik