Bug 232627

Summary: Digikam crashed while I was dragging an image to kmail across multiple desktops
Product: [Applications] digikam Reporter: Pierre Zweigenbaum <pz>
Component: Usability-Drag&DropAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: caulier.gilles, kde
Priority: NOR    
Version: 1.1.0   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In: 7.5.0
Sentry Crash Report:

Description Pierre Zweigenbaum 2010-03-29 23:25:31 UTC
Application that crashed: digikam
Version of the application: 1.1.0
KDE Version: 4.3.5 (KDE 4.3.5)
Qt Version: 4.5.3
Operating System: Linux 2.6.31.12-desktop-3mnb x86_64
Distribution: "Mandriva Linux 2010.0"

What I was doing when the application crashed:
I was dragging an image from Digikam to the Kmail e-mail editor where I had started writing a message.
Since KMail was in a different desktop than digikam, I used the Ctrl-tab keyboard shortcut to switch desktops while still holding the dragged image. At that point Digikam crashed.
(note that I have succeeded in dragging and dropping files and digikam images across desktops, including to the same message shortly before the crash)

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

Thread 19 (Thread 0x7f9bd1d9c910 (LWP 24207)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00000000006d6b7b in Digikam::ScanController::run (this=0x1f06700) at /usr/src/debug/digikam-1.1.0/digikam/scancontroller.cpp:502
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 18 (Thread 0x7f9bce5cc910 (LWP 24209)):
#0  0x00007f9bd856a66d in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f9bd856aa91 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f9bd856afc0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f9bdf50dcc6 in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bdf4e3fe2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#5  0x00007f9bdf4e43b4 in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#6  0x00007f9bdf3fcf2b in QThread::exec () from /usr/lib64/libQtCore.so.4
#7  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#9  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 17 (Thread 0x7f9bcddcb910 (LWP 24210)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9bcddcada0 in ?? ()
#2  0x00007fff31fff782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 16 (Thread 0x7f9bcd5ca910 (LWP 24211)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x1f38330) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f9bccdc9910 (LWP 24212)):
#0  0x00007f9bde24ccb2 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f9bd856a3e1 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f9bd856ab90 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f9bd856afc0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f9bdf50dcc6 in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#5  0x00007f9bdf4e3fe2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#6  0x00007f9bdf4e43b4 in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#7  0x00007f9bdf3fcf2b in QThread::exec () from /usr/lib64/libQtCore.so.4
#8  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#10 0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f9bcc5c8910 (LWP 24213)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9bcc5c7da0 in ?? ()
#2  0x00007fff31fff782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 13 (Thread 0x7f9bcbdc7910 (LWP 24214)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x2089c50) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f9bc3ca1910 (LWP 24221)):
#0  0x00007f9bde9727f3 in poll () from /lib64/libc.so.6
#1  0x00007f9bde69088f in ?? () from /usr/lib64/libpulse.so.0
#2  0x00007f9bde680b76 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#3  0x00007f9bde681f59 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#4  0x00007f9bde682010 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#5  0x00007f9bde69079b in ?? () from /usr/lib64/libpulse.so.0
#6  0x00007f9bd7684398 in ?? () from /usr/lib64/libpulsecommon-0.9.21.so
#7  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#8  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f9bbe37d910 (LWP 24233)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9bbe37cd30 in ?? ()
#2  0x00007fff31fff782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 10 (Thread 0x7f9bc025f910 (LWP 24234)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x25651f0) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f9bc0a60910 (LWP 24241)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x4a72a90) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9bc1328910 (LWP 24242)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9bc1327d30 in ?? ()
#2  0x00007fff31fff782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 7 (Thread 0x7f9bbcb11910 (LWP 24243)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x4b26220) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9bbd312910 (LWP 24298)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x534dd80) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9bba379910 (LWP 24309)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x58cb660) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f9bbb37b910 (LWP 24850)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x8757ed0) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9bbab7a910 (LWP 24851)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f9bbab79d30 in ?? ()
#2  0x00007fff31fff782 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (Thread 0x7f9bafb70910 (LWP 24852)):
#0  0x00007f9bde24ee59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f9bdf400d5b in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x00007f9be22f1842 in Digikam::LoadSaveThread::run (this=0x9dd8fe0) at /usr/src/debug/digikam-1.1.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9bdf3ffca5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f9bde24a7cd in start_thread () from /lib64/libpthread.so.0
#5  0x00007f9bde97c37d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9be4db0710 (LWP 24206)):
[KCrash Handler]
#5  0x00007f9be009feff in QWidget::testAttribute_helper () from /usr/lib64/libQtGui.so.4
#6  0x00007f9be006531e in QApplication::notify () from /usr/lib64/libQtGui.so.4
#7  0x00007f9be0ec73f6 in KApplication::notify (this=0x7fff31fde500, receiver=0x8023070, event=0x7fff31fd94d0) at /usr/src/debug/kdelibs-4.3.5/kdeui/kernel/kapplication.cpp:302
#8  0x00007f9bdf4e56ac in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#9  0x00007f9be0064b10 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/libQtGui.so.4
#10 0x00007f9be00cabae in ?? () from /usr/lib64/libQtGui.so.4
#11 0x00007f9be00c9c4a in QApplication::x11ProcessEvent () from /usr/lib64/libQtGui.so.4
#12 0x00007f9be00f1e9c in ?? () from /usr/lib64/libQtGui.so.4
#13 0x00007f9bd85674ce in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#14 0x00007f9bd856ae98 in ?? () from /usr/lib64/libglib-2.0.so.0
#15 0x00007f9bd856afc0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f9bdf50dc73 in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#17 0x00007f9be00f164e in ?? () from /usr/lib64/libQtGui.so.4
#18 0x00007f9bdf4e3fe2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#19 0x00007f9bdf4e43b4 in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#20 0x00007f9be00dc82c in QDragManager::drag () from /usr/lib64/libQtGui.so.4
#21 0x00007f9be0070398 in QDrag::exec () from /usr/lib64/libQtGui.so.4
#22 0x000000000069928c in Digikam::ImageCategorizedView::startDrag (this=0x200fda0, supportedActions=) at /usr/src/debug/digikam-1.1.0/digikam/imagecategorizedview.cpp:1038
#23 0x00007f9be05340f6 in QAbstractItemView::mouseMoveEvent () from /usr/lib64/libQtGui.so.4
#24 0x00007f9be054b689 in QListView::mouseMoveEvent () from /usr/lib64/libQtGui.so.4
#25 0x00000000006bb3ec in KCategorizedView::mouseMoveEvent (this=0x8023070, event=0x4a) at /usr/src/debug/digikam-1.1.0/digikam/kcategorizedview.cpp:1121
#26 0x00000000006959a7 in Digikam::ImageCategorizedView::mouseMoveEvent (this=0x200fda0, event=0x7fff31fdc5d0) at /usr/src/debug/digikam-1.1.0/digikam/imagecategorizedview.cpp:878
#27 0x00007f9be00ac9d2 in QWidget::event () from /usr/lib64/libQtGui.so.4
#28 0x00007f9be0406f96 in QFrame::event () from /usr/lib64/libQtGui.so.4
#29 0x00007f9be053938b in QAbstractItemView::viewportEvent () from /usr/lib64/libQtGui.so.4
#30 0x000000000069876f in Digikam::ImageCategorizedView::viewportEvent (this=0x200fda0, event=0x7fff31fdc5d0) at /usr/src/debug/digikam-1.1.0/digikam/imagecategorizedview.cpp:1022
#31 0x00007f9bdf4e49f7 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib64/libQtCore.so.4
#32 0x00007f9be005e0fc in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#33 0x00007f9be0065241 in QApplication::notify () from /usr/lib64/libQtGui.so.4
#34 0x00007f9be0ec73f6 in KApplication::notify (this=0x7fff31fde500, receiver=0x1f4d4c0, event=0x7fff31fdc5d0) at /usr/src/debug/kdelibs-4.3.5/kdeui/kernel/kapplication.cpp:302
#35 0x00007f9bdf4e56ac in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#36 0x00007f9be0064b10 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/libQtGui.so.4
#37 0x00007f9be00cabae in ?? () from /usr/lib64/libQtGui.so.4
#38 0x00007f9be00c9c4a in QApplication::x11ProcessEvent () from /usr/lib64/libQtGui.so.4
#39 0x00007f9be00f1e9c in ?? () from /usr/lib64/libQtGui.so.4
#40 0x00007f9bd85674ce in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#41 0x00007f9bd856ae98 in ?? () from /usr/lib64/libglib-2.0.so.0
#42 0x00007f9bd856afc0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#43 0x00007f9bdf50dc73 in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#44 0x00007f9be00f164e in ?? () from /usr/lib64/libQtGui.so.4
#45 0x00007f9bdf4e3fe2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#46 0x00007f9bdf4e43b4 in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#47 0x00007f9bdf4e6569 in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4
#48 0x000000000077a572 in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/digikam-1.1.0/digikam/main.cpp:195

Reported using DrKonqi
Comment 1 caulier.gilles 2010-03-30 09:49:59 UTC
I recommend to test again with last digiKam 1.2.0, released yesterday...

Gilles Caulier
Comment 2 Nicolas L. 2010-03-30 09:51:30 UTC
i will make it available today on mandriva 2010.0
Comment 3 caulier.gilles 2010-04-04 10:47:21 UTC
digiKam and Kipi-plugins 1.2.0 are out. Please check if crash is still valid there.

Thanks in advance

Gilles Caulier
Comment 4 Marcel Wiesweg 2010-05-25 20:05:08 UTC
This crash is located deep inside Qt drag handling. I doubt we can fix anything.