Bug 479156 - Digikam crashes when I attempt to "Download&Delete all" from SD Card
Summary: Digikam crashes when I attempt to "Download&Delete all" from SD Card
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-Engine (other bugs)
Version First Reported In: 8.1.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-12-29 12:56 UTC by Ilgaz Öcal
Modified: 2023-12-29 14:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.3.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ilgaz Öcal 2023-12-29 12:56:56 UTC
Application: digikam (8.1.0)

Qt Version: 5.15.11
Frameworks Version: 5.113.0
Operating System: Linux 6.6.7-1-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.10 [KCrashBackend]

-- Information about the crash:
I plug in the SDCard to a USB Card reader. it is nothing fancy a plain 64GB FAT32 one with CR2 files. I select "convert to DNG" and "generate date based albums" and click "Download&Delete All". It crashes.

The crash can be reproduced sometimes.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault

[KCrash Handler]
#4  QReadWriteLock::tryLockForRead(int) (this=0x5606ace82bc0, timeout=-1) at thread/qreadwritelock.cpp:263
#5  0x00007f07a27058a7 in QReadWriteLock::lockForRead() (this=<optimized out>) at thread/qreadwritelock.cpp:179
#6  0x00007f07a5121bd4 in QReadLocker::relock() (this=<synthetic pointer>) at /usr/include/qt5/QtCore/qreadwritelock.h:106
#7  QReadLocker::QReadLocker(QReadWriteLock*) (areadWriteLock=0x5606ace82bc0, this=<synthetic pointer>) at /usr/include/qt5/QtCore/qreadwritelock.h:125
#8  Digikam::Album::childAtRow(int) const (this=0x5606ace82b90, row=28) at /usr/src/debug/digikam-8.1.0/core/libs/album/engine/album.cpp:139
#9  0x00007f07a5114945 in Digikam::AbstractAlbumModel::index(int, int, QModelIndex const&) const (column=<optimized out>, parent=<optimized out>, row=28, this=0x5606b07bf100) at /usr/src/debug/digikam-8.1.0/core/libs/models/abstractalbummodel.cpp:274
#10 Digikam::AbstractAlbumModel::index(int, int, QModelIndex const&) const (this=0x5606b07bf100, row=28, column=<optimized out>, parent=<optimized out>) at /usr/src/debug/digikam-8.1.0/core/libs/models/abstractalbummodel.cpp:241
#11 0x00007f07a513b3f0 in Digikam::AbstractCheckableAlbumTreeView::rowsInserted(QModelIndex const&, int, int) (end=<optimized out>, start=<optimized out>, parent=<optimized out>, this=<optimized out>) at /usr/src/debug/digikam-8.1.0/core/libs/album/treeview/abstractcheckablealbumtreeview.cpp:189
#12 Digikam::AbstractCheckableAlbumTreeView::rowsInserted(QModelIndex const&, int, int) (this=0x5606b07afc10, parent=..., start=<optimized out>, end=28) at /usr/src/debug/digikam-8.1.0/core/libs/album/treeview/abstractcheckablealbumtreeview.cpp:181
#13 0x00007f07a29253e3 in doActivate<false>(QObject*, int, void**) (sender=0x5606b07bdc00, signal_index=13, argv=0x7fff14f973f0) at kernel/qobject.cpp:3937
#14 0x00007f07a291e0af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5606b07bdc00, m=m@entry=0x7f07a2bc6d40 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fff14f973f0) at kernel/qobject.cpp:3985
#15 0x00007f07a2885ffe in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) (this=this@entry=0x5606b07bdc00, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:592
#16 0x00007f07a288ef4a in QAbstractItemModel::endInsertRows() (this=0x5606b07bdc00) at itemmodels/qabstractitemmodel.cpp:2782
#17 0x00007f07a28bc595 in QSortFilterProxyModelPrivate::insert_source_items(QVector<int>&, QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool) (this=this@entry=0x5606b07be2b0, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:950
#18 0x00007f07a28c0465 in QSortFilterProxyModelPrivate::source_items_inserted(QModelIndex const&, int, int, Qt::Orientation) (this=0x5606b07be2b0, source_parent=..., start=<optimized out>, end=<optimized out>, orient=Qt::Vertical) at itemmodels/qsortfilterproxymodel.cpp:1061
#19 0x00007f07a28c36bd in QSortFilterProxyModelPrivate::_q_sourceRowsInserted(QModelIndex const&, int, int) (end=28, start=28, source_parent=..., this=0x5606b07be2b0) at itemmodels/qsortfilterproxymodel.cpp:1702
#20 QSortFilterProxyModelPrivate::_q_sourceRowsInserted(QModelIndex const&, int, int) (this=0x5606b07be2b0, source_parent=..., start=28, end=28) at itemmodels/qsortfilterproxymodel.cpp:1696
#21 0x00007f07a29253e3 in doActivate<false>(QObject*, int, void**) (sender=0x5606b07bf100, signal_index=13, argv=0x7fff14f97720) at kernel/qobject.cpp:3937
#22 0x00007f07a291e0af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5606b07bf100, m=m@entry=0x7f07a2bc6d40 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fff14f97720) at kernel/qobject.cpp:3985
#23 0x00007f07a2885ffe in QAbstractItemModel::rowsInserted(QModelIndex const&, int, int, QAbstractItemModel::QPrivateSignal) (this=this@entry=0x5606b07bf100, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:592
#24 0x00007f07a288ef4a in QAbstractItemModel::endInsertRows() (this=this@entry=0x5606b07bf100) at itemmodels/qabstractitemmodel.cpp:2782
#25 0x00007f07a51101d5 in Digikam::AbstractAlbumModel::slotAlbumAdded(Digikam::Album*) (this=0x5606b07bf100, album=<optimized out>) at /usr/src/debug/digikam-8.1.0/core/libs/models/abstractalbummodel.cpp:528
#26 0x00007f07a2925442 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff14f978c0, r=0x5606b07bf100, this=0x5606b07be280) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#27 doActivate<false>(QObject*, int, void**) (sender=0x7f07a557b510 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, signal_index=4, argv=0x7fff14f978c0) at kernel/qobject.cpp:3925
#28 0x00007f07a291e0af in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff14f978c0) at kernel/qobject.cpp:3985
#29 0x00007f07a5118042 in Digikam::AlbumManager::signalAlbumAdded(Digikam::Album*) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/digikam-8.1.0/build/core/libs/album/gui_digikamalbum_obj_autogen/7P4I4GMEXJ/moc_albummanager.cpp:614
#30 0x00007f07a51527b6 in Digikam::AlbumManager::createPAlbum(Digikam::PAlbum*, QString const&, QString const&, QDate const&, QString const&, QString&) (this=0x7f07a557b510 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, parent=0x5606b03387c0, name=..., caption=..., date=..., category=..., errMsg=...) at /usr/src/debug/digikam-8.1.0/core/libs/album/manager/albummanager_palbum.cpp:444
#31 0x00007f07a528bf5d in Digikam::ImportUI::createAutoAlbum(QUrl const&, QString const&, QDate const&, QString&) const (this=<optimized out>, parentURL=<optimized out>, sub=<optimized out>, date=..., errMsg=...) at /usr/src/debug/digikam-8.1.0/core/utilities/import/main/importui.cpp:2536
#32 0x00007f07a52822e0 in Digikam::ImportUI::createSubAlbum(QUrl&, QString const&, QDate const&) (this=this@entry=0x5606b6178ed0, downloadUrl=..., subalbum=..., date=...) at /usr/src/debug/digikam-8.1.0/core/utilities/import/main/importui.cpp:2069
#33 0x00007f07a5282756 in Digikam::ImportUI::createDateBasedSubAlbum(QUrl&, QDateTime const&) (this=this@entry=0x5606b6178ed0, downloadUrl=..., dateTime=...) at /usr/src/debug/digikam-8.1.0/core/utilities/import/main/importui.cpp:2105
#34 0x00007f07a5282976 in Digikam::ImportUI::createSubAlbums(QUrl&, QString const&, QDateTime const&) (this=this@entry=0x5606b6178ed0, downloadUrl=..., suffix=..., dateTime=...) at /usr/src/debug/digikam-8.1.0/core/utilities/import/main/importui.cpp:2054
#35 0x00007f07a5282c72 in Digikam::ImportUI::slotDownloaded(QString const&, QString const&, QString const&, int) (this=0x5606b6178ed0, folder=..., file=..., temp=..., status=1) at /usr/src/debug/digikam-8.1.0/core/utilities/import/main/importui.cpp:1456
#36 0x00007f07a2918f50 in QObject::event(QEvent*) (this=0x5606b6178ed0, e=0x7f074807d5d0) at kernel/qobject.cpp:1347
#37 0x00007f07a213e469 in KXmlGuiWindow::event(QEvent*) (this=0x5606b6178ed0, ev=0x7f074807d5d0) at /usr/src/debug/kxmlgui-5.113.0/src/kxmlguiwindow.cpp:220
#38 0x00007f07a35a519e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5606b6178ed0, e=0x7f074807d5d0) at kernel/qapplication.cpp:3640
#39 0x00007f07a28ed198 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5606b6178ed0, event=0x7f074807d5d0) at kernel/qcoreapplication.cpp:1064
#40 0x00007f07a28ed35e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#41 0x00007f07a28f0791 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5606aad53030) at kernel/qcoreapplication.cpp:1821
#42 0x00007f07a28f0cd8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#43 0x00007f07a29468c3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5606aadc56f0) at kernel/qeventdispatcher_glib.cpp:277
#44 0x00007f0794113f30 in  () at /lib64/libglib-2.0.so.0
#45 0x00007f0794115b58 in  () at /lib64/libglib-2.0.so.0
#46 0x00007f079411620c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#47 0x00007f07a29460d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5606aadc9dc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#48 0x00007f07a28ebc2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff14f98150, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#49 0x00007f07a28f40c0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#50 0x00005606a9662a37 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/digikam-8.1.0/core/app/main/main.cpp:478
[Inferior 1 (process 9321) detached]

Reported using DrKonqi
Comment 1 Maik Qualmann 2023-12-29 14:08:18 UTC
This issue was fixed in digiKam-8.2.0.

Maik
Comment 2 Maik Qualmann 2023-12-29 14:10:21 UTC
Fixed with Bug 473801

Maik