[Digikam-devel] Strange crashes
Andi Clemens
andi.clemens at gmx.net
Wed May 20 20:01:19 BST 2009
Hi,
I just watched a folder, closed digiKam and it crashed.
As I closed it, thumbs were still generated. Unfortunately I have my /tmp
folder in a different partition as my home folder, so the rename macro we are
using is not working here.
Anyway after closing the app, I get the following backtrace:
rogram received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa70ffb90 (LWP 18442)]
0xb6f2480b in QString (this=0xa8708430, other=@0x8) at
/usr/include/QtCore/qstring.h:711
711 inline QString::QString(const QString &other) : d(other.d)
(gdb) bt
#0 0xb6f2480b in QString (this=0xa8708430, other=@0x8) at
/usr/include/QtCore/qstring.h:711
#1 0xb6ffefa9 in QHashNode (this=0xa8708428, key0=@0x8, value0=@0xc) at
/usr/include/QtCore/qhash.h:217
#2 0xb70001db in QHash<QString, Digikam::LoadingProcess*>::duplicateNode
(node=0x0, newNode=0xa8708428) at /usr/include/QtCore/qhash.h:506
#3 0xb5307e58 in QHashData::detach_helper () from /usr/lib/libQtCore.so.4
#4 0xb6ffef09 in QHash<QString, Digikam::LoadingProcess*>::detach_helper
(this=0x96a5890) at /usr/include/QtCore/qhash.h:568
#5 0xb6ffd667 in QHash<QString, Digikam::LoadingProcess*>::detach
(this=0x96a5890) at /usr/include/QtCore/qhash.h:284
#6 0xb6ffc099 in QHash<QString, Digikam::LoadingProcess*>::remove
(this=0x96a5890, akey=@0xa70ff18c) at /usr/include/QtCore/qhash.h:766
#7 0xb6ff99b6 in Digikam::LoadingCache::removeLoadingProcess (this=0x96a5830,
process=0xbd60174) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/loadingcache.cpp:162
#8 0xb700ba35 in Digikam::ThumbnailLoadingTask::execute (this=0xbd600a8) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/thumbnailtask.cpp:143
#9 0xb6ff391c in Digikam::LoadSaveThread::run (this=0xbceb378) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/loadsavethread.cpp:139
#10 0xb52e53be in ?? () from /usr/lib/libQtCore.so.4
#11 0xb52604c5 in start_thread () from /lib/libpthread.so.0
#12 0xb50acf9e in clone () from /lib/libc.so.6
I fixed the bug by checking if the process pointer in loadingcache.cpp:162 is
valid, but then I get more errors in different places. For example here:
#0 0xb52dbf57 in QMutex::lock () from /usr/lib/libQtCore.so.4
#1 0xb6ff7405 in CacheLock (this=0xa78ff1d0, cache=0x9649318) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/loadingcache.cpp:447
#2 0xb70079b1 in Digikam::ThumbnailLoadingTask::execute (this=0xbfd23f0) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/thumbnailtask.cpp:138
#3 0xb6fef91c in Digikam::LoadSaveThread::run (this=0xbf5d650) at
/home/andi/Programmieren/KDE/digiKam/digikam_KDE4/digikam/libs/threadimageio/loadsavethread.cpp:139
#4 0xb52e13be in ?? () from /usr/lib/libQtCore.so.4
#5 0xb525c4c5 in start_thread () from /lib/libpthread.so.0
#6 0xb50a8f9e in clone () from /lib/libc.so.6
It looks like some locking problem? But why? Could it be my system?
Andi
More information about the Digikam-devel
mailing list