https://bugs.kde.org/show_bug.cgi?id=447593

            Bug ID: 447593
           Summary: segfault when moving large number of photos between
                    albums
           Product: digikam
           Version: 7.4.0
          Platform: Debian testing
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: digikam-bugs-n...@kde.org
          Reporter: r...@nodot.org
  Target Milestone: ---

Application: digikam (7.4.0)

Qt Version: 5.15.2
Frameworks Version: 5.88.0
Operating System: Linux 5.15.11-grue x86_64
Windowing System: X11
Distribution: Debian GNU/Linux bookworm/sid
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
Compiled v7.4.0 from sources.

Crash happens when trying to copy photos from laptop drive to an external USB
drive connected to the laptop. The drive is mounted, visible and has full
read/write permissions.

Selected a large group of photos (approximately 800) in an album by left
clicking on first photo.
<SHIFT> left click on last photo.
Left click and drag highlighted photos to new album.
Window opens asking whether to copy or move. Move is selected.
Seems to start moving then crashes with segfault.
Restart DigiKam.
Window open scanning for new photos.
As soon as this window closes DigiKam segfaults.
This second crash repeats everytime DigiKam is restarted. Had to resort to use
Appimage bundle to have a usable program. I did not attempt moving the photos
with the Appimage version.

The crash can be reproduced every time.

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

[KCrash Handler]
#4  0x00007f2f0d5e2e20 in QString::operator=(QString const&) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f2f0ef05828 in
Digikam::DRawDecoderSettings::operator=(Digikam::DRawDecoderSettings const&)
(this=0x7f2ed00c1af8, o=...) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/rawengine/drawdecodersettings.cpp:132
#6  0x00007f2ed826ac5a in  () at
/usr/lib/x86_64-linux-gnu/qt5/plugins/digikam/dimg/DImg_RAW_Plugin.so
#7  0x00007f2ed826a456 in  () at
/usr/lib/x86_64-linux-gnu/qt5/plugins/digikam/dimg/DImg_RAW_Plugin.so
#8  0x00007f2f0ed4df6d in Digikam::DImg::load(QString const&, int,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&)
(this=0x7f2ed0180c68, filePath=..., loadFlagsInt=1, observer=0x0,
rawDecodingSettings=...) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/dimg/dimg_fileio.cpp:128
#9  0x00007f2f0ed4ee16 in Digikam::DImg::loadItemInfo(QString const&, bool,
bool, bool, bool) (this=this@entry=0x7f2ed0180c68, filePath=...,
loadMetadata=loadMetadata@entry=false, loadICCData=loadICCData@entry=false,
loadUniqueHash=loadUniqueHash@entry=false,
loadImageHistory=loadImageHistory@entry=false) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/dimg/dimg_fileio.cpp:55
#10 0x00007f2f0f79a47d in Digikam::ItemScanner::loadFromDisk()
(this=this@entry=0x7f2eda3576d8) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/item/scanner/itemscanner.cpp:132
#11 0x00007f2f0f79d562 in Digikam::ItemScanner::newFile(int)
(this=this@entry=0x7f2eda3576d8, albumId=albumId@entry=837) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/item/scanner/itemscanner_database.cpp:109
#12 0x00007f2f0f6e3c42 in Digikam::CollectionScanner::scanNewFile(QFileInfo
const&, int) (this=0x7f2eda357a60, info=<optimized out>, albumId=837) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/collection/collectionscanner_scan.cpp:1026
#13 0x00007f2f0f6e6913 in
Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&,
QString const&, bool) (this=0x7f2eda357a60, location=..., album=...,
checkDate=false) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/collection/collectionscanner_scan.cpp:793
#14 0x00007f2f0f6e73ed in
Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&)
(this=0x7f2eda357a60, location=...) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/collection/collectionscanner_scan.cpp:464
#15 0x00007f2f0f6e831b in Digikam::CollectionScanner::completeScan()
(this=this@entry=0x7f2eda357a60) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/collection/collectionscanner_scan.cpp:95
#16 0x00007f2f0fc0b345 in Digikam::ScanController::run() (this=0x7f2f101329a0
<Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>) at
/home/reb/src/digikam/digikam-7.4.0/core/libs/database/utils/scan/scancontroller.cpp:248
#17 0x00007f2f0d561961 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f2f0b6fad80 in start_thread (arg=0x7f2eda35a640) at
pthread_create.c:481
#19 0x00007f2f0d1a1b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f2eeca2c640 (LWP 675437) "digikam:gdrv0"):
#1  0x00007f2f0b70715b in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x5584cbaa2f50, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
../sysdeps/nptl/futex-internal.c:123
#2  0x00007f2f0b700c30 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x5584cbaa2f00, cond=0x5584cbaa2f28) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x5584cbaa2f28, mutex=0x5584cbaa2f00) at
pthread_cond_wait.c:619
#4  0x00007f2ee68393eb in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f2ee6838ec7 in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#6  0x00007f2f0b6fad80 in start_thread (arg=0x7f2eeca2c640) at
pthread_create.c:481
#7  0x00007f2f0d1a1b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f2eed23d640 (LWP 675436) "digikam:disk$0"):
#1  0x00007f2f0b70715b in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x5584cbb4fa98, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
../sysdeps/nptl/futex-internal.c:123
#2  0x00007f2f0b700c30 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x5584cbb4fa48, cond=0x5584cbb4fa70) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x5584cbb4fa70, mutex=0x5584cbb4fa48) at
pthread_cond_wait.c:619
#4  0x00007f2ee68393eb in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007f2ee6838ec7 in  () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#6  0x00007f2f0b6fad80 in start_thread (arg=0x7f2eed23d640) at
pthread_create.c:481
#7  0x00007f2f0d1a1b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f2eee1ce640 (LWP 675434) "QDBusConnection"):
#1  0x00007f2f00bc6954 in g_main_context_check () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2f00bc6ec5 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2f00bc703f in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f2f0d79d1c6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f2f0d74452b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f2f0d56082e in QThread::exec() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f2f0bc6c4d7 in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f2f0d561961 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f2f0b6fad80 in start_thread (arg=0x7f2eee1ce640) at
pthread_create.c:481
#10 0x00007f2f0d1a1b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f2eeee2d640 (LWP 675433) "QXcbEventQueue"):
#1  0x00007f2f00268d02 in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f2f0026b05a in xcb_wait_for_event () at
/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f2eef152520 in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f2f0d561961 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f2f0b6fad80 in start_thread (arg=0x7f2eeee2d640) at
pthread_create.c:481
#6  0x00007f2f0d1a1b6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f2eef59ca40 (LWP 675430) "digikam"):
#1  0x00007f2f00bc4de8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2f00bc635b in g_main_context_prepare () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2f00bc6e4b in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f2f00bc703f in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f2f0d79d1c6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f2f0d74452b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f2f0fc0c9af in
Digikam::ScanController::completeCollectionScanCore(bool, bool, bool)
(this=0x7f2f101329a0 <Digikam::(anonymous
namespace)::Q_QGS_creator::innerFunction()::holder>, needTotalFiles=<optimized
out>, defer=<optimized out>, fastScan=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121
#8  0x00007f2f0fd82eb9 in Digikam::NewItemsFinder::slotStart()
(this=0x5584cfae1460) at
/home/reb/src/digikam/digikam-7.4.0/core/utilities/maintenance/newitemsfinder.cpp:119
#9  0x00007f2f0d77212e in QObject::event(QEvent*) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f2f0e2176bf in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f2f0d745b1a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f2f0d748b67 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f2f0d79dad3 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f2f00bc6cdb in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f2f00bc6f88 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f2f00bc703f in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f2f0d79d154 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f2f0d74452b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f2f0d74c800 in QCoreApplication::exec() () at
/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00005584c9e561ed in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/home/reb/src/digikam/digikam-7.4.0/core/app/main/main.cpp:488
[Inferior 1 (process 675430) detached]

Possible duplicates by query: bug 427333, bug 426597, bug 425230, bug 424133,
bug 421043.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to