Bug 228979

Summary: Digikam crashed after saving a photograph to PGF format
Product: [Applications] digikam Reporter: Laurent Espitallier <laurent.espitallier>
Component: Plugin-DImg-PGFAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 1.1.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 1.3.0
Sentry Crash Report:

Description Laurent Espitallier 2010-02-28 23:15:51 UTC
Application: digikam (1.1.0)
KDE Platform Version: 4.4.00 (KDE 4.4.0) "release 222"
Qt Version: 4.6.1
Operating System: Linux 2.6.31.12-0.1-desktop x86_64
Distribution: "openSUSE 11.2 (x86_64)"

-- Information about the crash:
Digikam 1.1 crashed after saving a photograph to PGF format, after a restart and while browsing to the album where the saved image should be, digiKam crashes again and consistently. Trying to rebuild thumbnails crashes digiKam too.

The crash can be reproduced every time.

 -- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f60d3a4f860 (LWP 4819))]

Thread 17 (Thread 0x7f60c08e6910 (LWP 4820)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00000000006cc54b in ?? ()
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7f60bd22c910 (LWP 4822)):
#0  0x00007f60cd47ed03 in poll () from /lib64/libc.so.6
#1  0x00007f60c774c59c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f60ce299376 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f60ce179d29 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f60b7fff910 (LWP 4823)):
#0  0x00007f60cbfe3d52 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f60c7748bfc in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f60c774c7b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f60ce299376 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007f60ce179d29 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#8  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f60b77fe910 (LWP 4824)):
[KCrash Handler]
#5  0x00007f60cd42b11f in ?? () from /lib64/libc.so.6
#6  0x00007f60cd42e96c in free () from /lib64/libc.so.6
#7  0x00007f60d0f86e32 in ?? () from /usr/lib64/libdigikamcore.so.1
#8  0x00007f60d0f86324 in ?? () from /usr/lib64/libdigikamcore.so.1
#9  0x00007f60d0f88807 in ?? () from /usr/lib64/libdigikamcore.so.1
#10 0x00007f60d0f672ef in Digikam::ThumbnailCreator::createThumbnail(Digikam::ThumbnailInfo const&) () from /usr/lib64/libdigikamcore.so.1
#11 0x00007f60d0f6795f in Digikam::ThumbnailCreator::load(QString const&) () from /usr/lib64/libdigikamcore.so.1
#12 0x00007f60d0f6f043 in ?? () from /usr/lib64/libdigikamcore.so.1
#13 0x00007f60d0f4a1fc in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#14 0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#15 0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#16 0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f60b6ffd910 (LWP 4825)):
#0  0x00007f60cbfe52a3 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x00007f60c774bcc1 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f60c774c4b0 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f60ce299376 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007f60ce179d29 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#8  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f60b67fc910 (LWP 4826)):
#0  0x00007f60cbfe3d5c in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f60c774c643 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f60ce299376 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f60ce179d29 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f60b5ffb910 (LWP 4827)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f60d0f4a232 in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f60b27d9910 (LWP 4828)):
#0  0x00007f60cbfe62cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60b3eb7511 in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f60afc33910 (LWP 4829)):
#0  0x00007f60cbfe62cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60b3ec2d99 in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f60b3ec5501 in ?? () from /usr/lib64/libxine.so.1
#3  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#4  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f60af432910 (LWP 4830)):
#0  0x00007f60cbfe3d5c in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f60c774c015 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f60c774c3b1 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f60ce299376 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007f60ce179d29 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#8  0x00007f60b41123b6 in Phonon::MediaSource::type() const () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#9  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#11 0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f60aea27910 (LWP 4833)):
#0  0x00007f60cd47ed03 in poll () from /lib64/libc.so.6
#1  0x00007f60aea2dc4e in snd_pcm_sw_params_set_start_threshold () from /usr/lib64/xine/plugins/1.25/xineplug_ao_out_alsa.so
#2  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f60ae226910 (LWP 4834)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60b3ec8513 in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f60abf92910 (LWP 4835)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f60d0f4a232 in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f60ab791910 (LWP 4843)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f60d0f4a232 in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f60a8f8c910 (LWP 4869)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f60d0f4a232 in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f60a978d910 (LWP 4870)):
#0  0x00007f60cbfe6049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f60ce17d6fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f60d0f4a232 in Digikam::LoadSaveThread::run() () from /usr/lib64/libdigikamcore.so.1
#3  0x00007f60ce17c745 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cbfe165d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f60cd487e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f60d3a4f860 (LWP 4819)):
#0  0x00007f60cd494fee in ?? () from /lib64/libc.so.6
#1  0x00007f60cd430599 in ?? () from /lib64/libc.so.6
#2  0x00007f60cd42e961 in free () from /lib64/libc.so.6
#3  0x00007f60ce1985ed in QHashData::free_helper(void (*)(QHashData::Node*)) () from /usr/lib64/libQtCore.so.4
#4  0x00007f60cefeecaf in ?? () from /usr/lib64/libQtGui.so.4
#5  0x00007f60cd3ec065 in ?? () from /lib64/libc.so.6
#6  0x00007f60cd3ec0b5 in exit () from /lib64/libc.so.6
#7  0x00007f60cee8c038 in ?? () from /usr/lib64/libQtGui.so.4
#8  0x00007f60cfa61278 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib64/libkdeui.so.5
#9  0x00007f60cc5692be in _XIOError () from /usr/lib64/libX11.so.6
#10 0x00007f60cc570c95 in ?? () from /usr/lib64/libX11.so.6
#11 0x00007f60cc571547 in _XEventsQueued () from /usr/lib64/libX11.so.6
#12 0x00007f60cc55a24b in XEventsQueued () from /usr/lib64/libX11.so.6
#13 0x00007f60ceec3f8c in ?? () from /usr/lib64/libQtGui.so.4
#14 0x00007f60c774bcca in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#15 0x00007f60c774c4b0 in ?? () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f60c774c8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#17 0x00007f60ce299323 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#18 0x00007f60ceec3dce in ?? () from /usr/lib64/libQtGui.so.4
#19 0x00007f60ce26e712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#20 0x00007f60ce26eaec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#21 0x00007f60ce27283b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#22 0x000000000076e4db in ?? ()
#23 0x00007f60cd3d5a7d in __libc_start_main () from /lib64/libc.so.6
#24 0x0000000000474909 in _start ()

This bug may be a duplicate of or related to bug 215040.

Possible duplicates by query: bug 224697, bug 215040, bug 215037, bug 208839, bug 207330.

Reported using DrKonqi
Comment 1 caulier.gilles 2010-03-01 14:40:05 UTC
I think it's not relevant of libpgf but KDirWatch for KDECore API which have a bug in KDE 4.4.0. It's fixed in current KDE4 implementation from svn trunk (next KDE 4.1)

Dario can confirm that...

Note : try to save to another format and look if it crash also. Typicially, KDirwatch detect new files created in collection and... run an exception...

Gilles Caulier
Comment 2 caulier.gilles 2010-04-04 10:46:42 UTC
digiKam and Kipi-plugins 1.2.0 are out. Please check if crash is still valid there.

Thanks in advance

Gilles Caulier
Comment 3 Laurent Espitallier 2010-04-04 17:59:52 UTC
Tested this afternoon, no problem with openSUSE 11.2, KDE SC 4.4.2 and digiKam 1.2

To me it is fixed.