Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 417201 - media-gfx/digikam-2.6.0 segfaults after saving an edited image
Summary: media-gfx/digikam-2.6.0 segfaults after saving an edited image
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Andreas K. Hüttel
URL: https://bugs.kde.org/show_bug.cgi?id=...
Whiteboard: Fixed in 3.0.0
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-23 05:33 UTC by Oliver Schwabedissen
Modified: 2013-02-18 01:19 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Schwabedissen 2012-05-23 05:33:46 UTC
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 ()
Comment 1 Johannes Huber (RETIRED) gentoo-dev 2012-05-23 07:05:25 UTC
Do you reported or searched for a bug upstream?
Comment 2 Oliver Schwabedissen 2012-06-02 17:01:39 UTC
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.
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2012-07-20 21:30:12 UTC
> 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.
Comment 4 Oliver Schwabedissen 2012-08-19 16:42:19 UTC
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.
Comment 5 Andreas K. Hüttel archtester gentoo-dev 2012-08-19 19:51:42 UTC
(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.
Comment 6 Oliver Schwabedissen 2012-08-20 18:15:39 UTC
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.
Comment 7 Oliver Schwabedissen 2012-08-20 18:16:37 UTC
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.
Comment 8 Andreas K. Hüttel archtester gentoo-dev 2012-08-20 21:06:51 UTC
I've asked to reopen the upstream bug. Let's wait for a response a bit.
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2012-08-30 11:16:50 UTC
(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.
Comment 10 Chris Reffett (RETIRED) gentoo-dev Security 2013-02-14 20:28:59 UTC
Please test and report back whether 3.0.0 has the problem fixed.
Comment 11 Oliver Schwabedissen 2013-02-16 09:58:54 UTC
(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.
Comment 12 Andreas K. Hüttel archtester gentoo-dev 2013-02-18 01:19:45 UTC
Fixed in 3.0.0