Bug 209923 - crash at rightcklick image while moving pics in background [ContextMenuHelper::addServicesMenu, DigikamImageView::showContextMenu, ImageCategorizedView::contextMenuEvent]
Summary: crash at rightcklick image while moving pics in background [ContextMenuHelper...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Menus (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-08 22:29 UTC by Daniel Charp
Modified: 2017-08-02 21:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Charp 2009-10-08 22:29:39 UTC
Application that crashed: digikam
Version of the application: 1.0.0-beta3
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.28-15-generic i686
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
moved 100 pics to subolder, then klicked some image.

 -- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 0 (LWP 15978)]

Thread 16 (Thread 0xb1ebcb90 (LWP 15979)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0x86ab440, mutex=0x86ab43c, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0x08309681 in Digikam::ScanController::run (this=0x8674950) at /build/buildd/digikam-1.0.0~beta3/digikam/scancontroller.cpp:483
#5  0xb5729132 in QThreadPrivate::start (arg=0x8674950) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 15 (Thread 0xb15edb90 (LWP 15991)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb552bae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3c8674b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb3c78f82 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb5849317 in QEventDispatcherGlib::processEvents (this=0x881e160, flags={i = -1319185752}) at kernel/qeventdispatcher_glib.cpp:329
#6  0xb581c1fa in QEventLoop::processEvents (this=0xb15ed320, flags={i = -1319185688}) at kernel/qeventloop.cpp:149
#7  0xb581c642 in QEventLoop::exec (this=0xb15ed320, flags={i = -1319185624}) at kernel/qeventloop.cpp:201
#8  0xb5725e19 in QThread::exec (this=0x88aba48) at thread/qthread.cpp:487
#9  0xb70a780d in Digikam::ImageFilterModelWorker::Thread::run (this=0x88aba48) at /build/buildd/digikam-1.0.0~beta3/libs/models/imagefiltermodelthreads.h:66
#10 0xb5729132 in QThreadPrivate::start (arg=0x88aba48) at thread/qthread_unix.cpp:188
#11 0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 14 (Thread 0xb09ffb90 (LWP 15992)):
#0  0xb54420c6 in __pthread_mutex_unlock_usercnt () from /lib/tls/i686/cmov/libpthread.so.0
#1  0xb55454f6 in pthread_mutex_unlock () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3c786f1 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0xb3c78fdd in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb5849317 in QEventDispatcherGlib::processEvents (this=0x883d6d8, flags={i = -1331694936}) at kernel/qeventdispatcher_glib.cpp:329
#6  0xb581c1fa in QEventLoop::processEvents (this=0xb09ff320, flags={i = -1331694872}) at kernel/qeventloop.cpp:149
#7  0xb581c642 in QEventLoop::exec (this=0xb09ff320, flags={i = -1331694808}) at kernel/qeventloop.cpp:201
#8  0xb5725e19 in QThread::exec (this=0x881e150) at thread/qthread.cpp:487
#9  0xb70a780d in Digikam::ImageFilterModelWorker::Thread::run (this=0x881e150) at /build/buildd/digikam-1.0.0~beta3/libs/models/imagefiltermodelthreads.h:66
#10 0xb5729132 in QThreadPrivate::start (arg=0x881e150) at thread/qthread_unix.cpp:188
#11 0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 13 (Thread 0xb017eb90 (LWP 15993)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0x88a7780, mutex=0x88a777c, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7296a7a in Digikam::LoadSaveThread::run (this=0x88a7770) at /build/buildd/digikam-1.0.0~beta3/libs/threadimageio/loadsavethread.cpp:136
#5  0xb5729132 in QThreadPrivate::start (arg=0x88a7770) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 12 (Thread 0xaf97db90 (LWP 15994)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb552bae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3c8674b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb3c78f82 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb5849317 in QEventDispatcherGlib::processEvents (this=0x88f0aa8, flags={i = -1349004616}) at kernel/qeventdispatcher_glib.cpp:329
#6  0xb581c1fa in QEventLoop::processEvents (this=0xaf97d330, flags={i = -1349004552}) at kernel/qeventloop.cpp:149
#7  0xb581c642 in QEventLoop::exec (this=0xaf97d330, flags={i = -1349004488}) at kernel/qeventloop.cpp:201
#8  0xb5725e19 in QThread::exec (this=0x88f0778) at thread/qthread.cpp:487
#9  0xb5729132 in QThreadPrivate::start (arg=0x88f0778) at thread/qthread_unix.cpp:188
#10 0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 11 (Thread 0xaf17cb90 (LWP 15995)):
#0  0xb5440a49 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1  0xb55454b6 in pthread_mutex_lock () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3c7846a in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0xb3c78fdd in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb5849317 in QEventDispatcherGlib::processEvents (this=0x88f2bd0, flags={i = -1357397320}) at kernel/qeventdispatcher_glib.cpp:329
#6  0xb581c1fa in QEventLoop::processEvents (this=0xaf17c330, flags={i = -1357397256}) at kernel/qeventloop.cpp:149
#7  0xb581c642 in QEventLoop::exec (this=0xaf17c330, flags={i = -1357397192}) at kernel/qeventloop.cpp:201
#8  0xb5725e19 in QThread::exec (this=0x88f09f8) at thread/qthread.cpp:487
#9  0xb5729132 in QThreadPrivate::start (arg=0x88f09f8) at thread/qthread_unix.cpp:188
#10 0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 10 (Thread 0xae97bb90 (LWP 15996)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0x88f7618, mutex=0x88f7614, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7296a7a in Digikam::LoadSaveThread::run (this=0x88f7608) at /build/buildd/digikam-1.0.0~beta3/libs/threadimageio/loadsavethread.cpp:136
#5  0xb5729132 in QThreadPrivate::start (arg=0x88f7608) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 9 (Thread 0xabea1b90 (LWP 15998)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb5443412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5545344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xacab8ae3 in ?? () from /usr/lib/libxine.so.1

Thread 8 (Thread 0xab1bab90 (LWP 15999)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb552e7b1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0xacae27d6 in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 7 (Thread 0xaa9b9b90 (LWP 16000)):
#0  0xb3c7896b in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#1  0xb3c78dda in ?? () from /usr/lib/libglib-2.0.so.0
#2  0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0xb5849317 in QEventDispatcherGlib::processEvents (this=0x8a2cdd8, flags={i = -1432645016}) at kernel/qeventdispatcher_glib.cpp:329
#4  0xb581c1fa in QEventLoop::processEvents (this=0xaa9b92e0, flags={i = -1432644952}) at kernel/qeventloop.cpp:149
#5  0xb581c642 in QEventLoop::exec (this=0xaa9b92e0, flags={i = -1432644888}) at kernel/qeventloop.cpp:201
#6  0xb5725e19 in QThread::exec (this=0x8a2ca08) at thread/qthread.cpp:487
#7  0xacb0620a in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#8  0xb5729132 in QThreadPrivate::start (arg=0x8a2ca08) at thread/qthread_unix.cpp:188
#9  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xa61b7b90 (LWP 16006)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb552bae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xab60fb19 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0xaa1b2b90 (LWP 16007)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xacac9d8e in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0xa99b1b90 (LWP 16023)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0x95d9468, mutex=0x95d9464, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7296a7a in Digikam::LoadSaveThread::run (this=0x95d9458) at /build/buildd/digikam-1.0.0~beta3/libs/threadimageio/loadsavethread.cpp:136
#5  0xb5729132 in QThreadPrivate::start (arg=0x95d9458) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread 0xa7850b90 (LWP 16926)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0xb540bb0, mutex=0xb540bac, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7296a7a in Digikam::LoadSaveThread::run (this=0xb540ba0) at /build/buildd/digikam-1.0.0~beta3/libs/threadimageio/loadsavethread.cpp:136
#5  0xb5729132 in QThreadPrivate::start (arg=0xb540ba0) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xa6affb90 (LWP 16927)):
#0  0xb80b8430 in __kernel_vsyscall ()
#1  0xb54430e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55452ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb572a172 in QWaitCondition::wait (this=0xb360b28, mutex=0xb360b24, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7296a7a in Digikam::LoadSaveThread::run (this=0xb360b18) at /build/buildd/digikam-1.0.0~beta3/libs/threadimageio/loadsavethread.cpp:136
#5  0xb5729132 in QThreadPrivate::start (arg=0xb360b18) at thread/qthread_unix.cpp:188
#6  0xb543f4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb553649e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb37e7700 (LWP 15978)):
[KCrash Handler]
#6  Digikam::ContextMenuHelper::addServicesMenu (this=0xbfcd1850, selectedItems=
          {<QList<KUrl>> = {{p = {static shared_null = {ref = {_q_value = 45287}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xbfcd186c}, d = 0xbfcd186c}}, <No data fields>})
    at /usr/include/qt4/QtCore/qatomic_i386.h:120
#7  0x082ae382 in Digikam::DigikamImageView::showContextMenu (this=0x882ce40, event=0xbfcd1f38, info=@0xbfcd18d8) at /build/buildd/digikam-1.0.0~beta3/digikam/digikamimageview.cpp:189
#8  0x082ca5f0 in Digikam::ImageCategorizedView::contextMenuEvent (this=0x882ce40, event=0xbfcd1f38) at /build/buildd/digikam-1.0.0~beta3/digikam/imagecategorizedview.cpp:784
#9  0xb5d3805c in QWidget::event (this=0x882ce40, event=0xbfcd1f38) at kernel/qwidget.cpp:7708
#10 0xb60e8a53 in QFrame::event (this=0x882ce40, e=0xbfcd1f38) at widgets/qframe.cpp:559
#11 0xb6188c2f in QAbstractScrollArea::viewportEvent (this=0x882ce40, e=0xb4d7848) at widgets/qabstractscrollarea.cpp:962
#12 0xb623b4a7 in QAbstractItemView::viewportEvent (this=0x882ce40, event=0xbfcd1f38) at itemviews/qabstractitemview.cpp:1476
#13 0x082cca42 in Digikam::ImageCategorizedView::viewportEvent (this=0x882ce40, event=0xbfcd1f38) at /build/buildd/digikam-1.0.0~beta3/digikam/imagecategorizedview.cpp:986
#14 0xb618b235 in QAbstractScrollAreaFilter::eventFilter (this=0x88a2a48, o=0x88a2bb8, e=0xbfcd1f38) at widgets/qabstractscrollarea_p.h:100
#15 0xb581cdea in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x84db130, receiver=0x88a2bb8, event=0xbfcd1f38) at kernel/qcoreapplication.cpp:726
#16 0xb5ce0d1a in QApplicationPrivate::notify_helper (this=0x84db130, receiver=0x88a2bb8, e=0xbfcd1f38) at kernel/qapplication.cpp:4052
#17 0xb5ce957d in QApplication::notify (this=0xbfcd3ac4, receiver=0x8660d68, e=0xbfcd2150) at kernel/qapplication.cpp:3845
#18 0xb68da49d in KApplication::notify (this=0xbfcd3ac4, receiver=0x8660d68, event=0xbfcd2150) at /build/buildd/kde4libs-4.3.2/kdeui/kernel/kapplication.cpp:302
#19 0xb581dbcb in QCoreApplication::notifyInternal (this=0xbfcd3ac4, receiver=0x8660d68, event=0xbfcd2150) at kernel/qcoreapplication.cpp:610
#20 0xb5cebe8e in QCoreApplication::sendSpontaneousEvent (receiver=0x8660d68, event=0xb4d7848) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#21 0xb5d594b7 in QETWidget::translateMouseEvent (this=0x882ce40, event=0xbfcd37bc) at kernel/qapplication_x11.cpp:4415
#22 0xb5d58085 in QApplication::x11ProcessEvent (this=0xbfcd3ac4, event=0xbfcd37bc) at kernel/qapplication_x11.cpp:3428
#23 0xb5d8337a in x11EventSourceDispatch (s=0x84de368, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#24 0xb3c75b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0xb3c790eb in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xb3c79268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb58492f8 in QEventDispatcherGlib::processEvents (this=0x84b5f58, flags={i = -1077069448}) at kernel/qeventdispatcher_glib.cpp:327
#28 0xb5d82a75 in QGuiEventDispatcherGlib::processEvents (this=0x84b5f58, flags={i = -1077069400}) at kernel/qguieventdispatcher_glib.cpp:202
#29 0xb581c1fa in QEventLoop::processEvents (this=0xbfcd3a20, flags={i = -1077069336}) at kernel/qeventloop.cpp:149
#30 0xb581c642 in QEventLoop::exec (this=0xbfcd3a20, flags={i = -1077069272}) at kernel/qeventloop.cpp:201
#31 0xb581eae9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#32 0xb5ce0bb7 in QApplication::exec () at kernel/qapplication.cpp:3525
#33 0x08386133 in main (argc=5, argv=0xbfcd3e94) at /build/buildd/digikam-1.0.0~beta3/digikam/main.cpp:184

Reported using DrKonqi
Comment 1 Dario Andres 2009-10-09 00:36:50 UTC
- Does Digikam crash again if you repeat the steps you described ?
- Could you test with beta5 ?
Thanks
Comment 2 Andi Clemens 2009-10-09 01:02:06 UTC
SVN commit 1032951 by aclemens:

Although not listed in the backtrace, I'm pretty sure that the crash was
triggered by QList::takeFirst(). This method seems to assume that a list is not
empty, so we need to check for an empty list.

BUG:209923

 M  +2 -1      NEWS  
 M  +25 -22    digikam/contextmenuhelper.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1032951