In 9 of 10 tries digiKam 2.5.0 crashes when I edit an image, save it and try to move on to the next image. Steps to reproduce: 1. open digiKam 2. select an image 3. select "Edit" 4. modify the image, eg. apply "Local contrast" 5. press "space" to move to the next image. digiKam asks whether I would like to save the modified image. I press "space" again to select "save", the image is saved and then digiKam crashes. I already went back to digiKam 2.4.1, but it shows the same behaviour. As I used both versions without problems some time ago I think it it not directly related to digiKam. Maybe the problem is caused by the latest qt update (I'm now using 4.8.1-r3). I tried to go back to qt-4.7.4 but it seems as this is not possible. KDE version is 4.8.3. This is the output when digiKam crashes. I'm mainly using stable packages so I haven't emerged digiKam with the debug use flag. If this output is not sufficient please tell me which packages I have to emerge with debug use flag to get enough information. Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0x7facee9c97e0 (LWP 2841))] Thread 12 (Thread 0x7facce5cd700 (LWP 2842)): #0 0x00007face648354c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a66b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00000000005bf510 in _start () Thread 11 (Thread 0x7faccddcc700 (LWP 2843)): #0 0x00007face6481324 in pthread_mutex_lock () from /lib64/libpthread.so.0 #1 0x00007face0ef1c15 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #2 0x00007face0ef2a09 in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007face0ef3041 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007face943a2f6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #5 0x00007face940a182 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #6 0x00007face940a435 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #7 0x00007face93070e8 in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4 #8 0x00007face93e8ea8 in ?? () from /usr/lib64/qt4/libQtCore.so.4 #9 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #10 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #11 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 10 (Thread 0x7faccd5cb700 (LWP 2845)): #0 0x00007face648354c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a66b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007facec273b99 in ?? () from /usr/lib64/libdigikamcore.so.2 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7facc5a59700 (LWP 2851)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7facbc133700 (LWP 2862)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7facbb932700 (LWP 2863)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7facba426700 (LWP 2866)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7facbe541700 (LWP 2894)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7facaaec1700 (LWP 2895)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7facaa6c0700 (LWP 2900)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7faca9ebf700 (LWP 2901)): #0 0x00007face64838cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007face930a5d2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007face92fdd9f in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007face930975b in ?? () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007face647ed0c in start_thread () from /lib64/libpthread.so.0 #5 0x00007face80d064d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7facee9c97e0 (LWP 2841)): [KCrash Handler] #6 0x00007facec09ac30 in Digikam::DImg::rotate(Digikam::DImg::ANGLE) () from /usr/lib64/libdigikamcore.so.2 #7 0x00007facec09ad77 in Digikam::DImg::rotateAndFlip(int) () from /usr/lib64/libdigikamcore.so.2 #8 0x00007facec33c2a5 in Digikam::DImgInterface::slotImageLoaded(Digikam::LoadingDescription const&, Digikam::DImg const&) () from /usr/lib64/libdigikamcore.so.2 #9 0x00007face941fd76 in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4 #10 0x00007face9e25404 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #11 0x00007face9e29fff in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #12 0x00007faceab63b76 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #13 0x00007face940b15b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4 #14 0x00007face940e717 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4 #15 0x00007face943a103 in ?? () from /usr/lib64/qt4/libQtCore.so.4 #16 0x00007face0ef2672 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #17 0x00007face0ef2e68 in ?? () from /usr/lib64/libglib-2.0.so.0 #18 0x00007face0ef3041 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #19 0x00007face943a29f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #20 0x00007face9eca80e in ?? () from /usr/lib64/qt4/libQtGui.so.4 #21 0x00007face940a182 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #22 0x00007face940a435 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #23 0x00007face940ebbb in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4 #24 0x000000000068a64d in ?? () #25 0x00007face80162ad in __libc_start_main () from /lib64/libc.so.6 #26 0x000000000048f879 in _start ()
Do you reported or searched for a bug upstream?
Sorry for the delay. Yes, I searched on bugs.kde.org, but only open digikam bugs with a segmentation fault. I also tried digikam-2.60_rc now, but it segfaults, too. It seems as if saving the image is not the problem. digiKam never crashes when saving the edited image, I don't get any damaged files. The problem occurs when it advances to the next image. Sometimes I get the KDE notification that the image was saved successfully and the next image is loaded for editing. Sometimes digiKam shows the just edited image again (saying its image 0 of xx) and when I then press space or "Page down" to advance to the next image it jumps to the first image in the folder. And sometimes (most times) it crashes. I did some more tests today and it seems that the crashes are related to tagging the modified image before saving it. Usually I tag modified images with the tag "Processed". If I don't tag them, digiKam seems to work as expected. Adding a tag before saving the image seems to result in the behaviour described above. As mentioned in my first post I used versions 2.4.1 and 2.5.0 without problems some time ago. So there's a chance that it is caused by either the latest KDE or QT upgrade. But I can't downgrade QT and I don't want to downgrade KDE. So what's the best thing to do? I can try to report the problem upstream. But the crash dump is currently useless and I don't know which packages I have to emerge with debug use flag to get a helpful crash dump.
> So what's the best thing to do? I can try to report the problem upstream. > But the crash dump is currently useless and I don't know which packages I > have to emerge with debug use flag to get a helpful crash dump. The debug use flag does not matter; you'll need the debug symbols, see for instructions http://www.gentoo.org/proj/en/qa/backtraces.xml At least you'll have to rebuild kdelibs, qt-* and digikam.
Thanks, I updated to digikam 2.60 stable now and I'm still able to reproduce this crash. I recompiled all related packages with debug information and will open a bug report upstream.
(In reply to comment #4) > Thanks, I updated to digikam 2.60 stable now and I'm still able to reproduce > this crash. I recompiled all related packages with debug information and > will open a bug report upstream. Thanks a lot... just add the link to the upstream bug here too, so we can keep track.
This is the link to the upstream bug report at kde.org: https://bugs.kde.org/show_bug.cgi?id=305446 However, it was already closed as a duplicate of https://bugs.kde.org/show_bug.cgi?id=298953 Not sure if it really is a duplicate as I can edit and save images without problems here, just tagging between the two steps leads to reproducable crashes.
I changed the digikam version in the bug title from 2.5.0 to 2.6.0 as 2.6.0 is stable now but still crashes.
I've asked to reopen the upstream bug. Let's wait for a response a bit.
(In reply to comment #8) > I've asked to reopen the upstream bug. Let's wait for a response a bit. Upstream bug was reopened.
Please test and report back whether 3.0.0 has the problem fixed.
(In reply to comment #10) > Please test and report back whether 3.0.0 has the problem fixed. I tried to emerge digikam-3.0.0 but it seems this version requires KDE 4.10, which is still in unstable tree. I don't have a test system and don't want to risk to have an unstable system when upgrading KDE from 4.9.5 to 4.10. So I'm afraid I can't test this at the moment.
Fixed in 3.0.0