Application that crashed: digikam Version of the application: 1.0.0-beta6 KDE Version: 4.3.2 (KDE 4.3.2) Qt Version: 4.5.2 Operating System: Linux 2.6.31-14-generic x86_64 Distribution: Ubuntu 9.10 What I was doing when the application crashed: when using tabs on the left hand side of the application I removed a duplicate tag and hte system crashed -- Backtrace: Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0x7f583866e750 (LWP 2217))] Thread 16 (Thread 0x7f5823d16910 (LWP 2218)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00000000006cfc73 in Digikam::ScanController::run (this=0x1718f10) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/scancontroller.cpp:499 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 15 (Thread 0x7f58201ac910 (LWP 2220)): #0 0x00007f5831d7c373 in poll () from /lib/libc.so.6 #1 0x00007f582d37e36c in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f5833a461fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007f58339346cb in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #9 0x00007f5831d887bd in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 14 (Thread 0x7f581f91f910 (LWP 2221)): #0 0x00007f5831d7c373 in poll () from /lib/libc.so.6 #1 0x00007f582d37e36c in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f5833a461fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007f58339346cb in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #9 0x00007f5831d887bd in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 13 (Thread 0x7f581f09e910 (LWP 2222)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f5835927212 in Digikam::LoadSaveThread::run (this=0x17c1a90) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/threadimageio/loadsavethread.cpp:132 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 12 (Thread 0x7f581e89d910 (LWP 2223)): #0 0x00007f5831d7c373 in poll () from /lib/libc.so.6 #1 0x00007f582d37e36c in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f5833a461fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007f58339346cb in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #9 0x00007f5831d887bd in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 11 (Thread 0x7f581e09c910 (LWP 2224)): #0 0x00007f582d37d908 in g_main_context_check () from /lib/libglib-2.0.so.0 #1 0x00007f582d37e280 in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f5833a461fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #4 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007f58339346cb in QThread::exec() () from /usr/lib/libQtCore.so.4 #7 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #8 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #9 0x00007f5831d887bd in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () Thread 10 (Thread 0x7f581d89b910 (LWP 2225)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f5835927212 in Digikam::LoadSaveThread::run (this=0x1aa1670) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/threadimageio/loadsavethread.cpp:132 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 9 (Thread 0x7f5815350910 (LWP 2226)): #0 0x00007f5830b2682d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f581c20ec91 in ?? () from /usr/lib/libxine.so.1 #2 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #3 0x00007f5831d887bd in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 8 (Thread 0x7f5812df2910 (LWP 2227)): #0 0x00007f5831d813c2 in select () from /lib/libc.so.6 #1 0x00007f581c237725 in xine_usec_sleep () from /usr/lib/libxine.so.1 #2 0x00007f581c21c7e9 in ?? () from /usr/lib/libxine.so.1 #3 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #4 0x00007f5831d887bd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 7 (Thread 0x7f58125f1910 (LWP 2228)): #0 0x00007f5830b240b2 in pthread_mutex_lock () from /lib/libpthread.so.0 #1 0x00007f582d379625 in g_main_context_query () from /lib/libglib-2.0.so.0 #2 0x00007f582d37e241 in ?? () from /lib/libglib-2.0.so.0 #3 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #4 0x00007f5833a461fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #5 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #6 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #7 0x00007f58339346cb in QThread::exec() () from /usr/lib/libQtCore.so.4 #8 0x00007f581c46956e in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so #9 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #10 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #11 0x00007f5831d887bd in clone () from /lib/libc.so.6 #12 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f580d9de910 (LWP 2236)): #0 0x00007f5831d7c373 in poll () from /lib/libc.so.6 #1 0x00007f5811beccbe in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so #2 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #3 0x00007f5831d887bd in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f58117d9910 (LWP 2237)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f581c21f983 in ?? () from /usr/lib/libxine.so.1 #2 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #3 0x00007f5831d887bd in clone () from /lib/libc.so.6 #4 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f5810fd8910 (LWP 2238)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f5835927212 in Digikam::LoadSaveThread::run (this=0x23c14d0) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/threadimageio/loadsavethread.cpp:132 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f580f764910 (LWP 2505)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f5835927212 in Digikam::LoadSaveThread::run (this=0x2a59a50) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/threadimageio/loadsavethread.cpp:132 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f580333e910 (LWP 2506)): #0 0x00007f5830b265a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f58339384fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4 #2 0x00007f5835927212 in Digikam::LoadSaveThread::run (this=0x33aff50) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/threadimageio/loadsavethread.cpp:132 #3 0x00007f5833937445 in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007f5830b21a04 in start_thread () from /lib/libpthread.so.0 #5 0x00007f5831d887bd in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f583866e750 (LWP 2217)): [KCrash Handler] #5 0x00007f5831d2b61b in memcpy () from /lib/libc.so.6 #6 0x00007f583397af15 in QString::append(QString const&) () from /usr/lib/libQtCore.so.4 #7 0x0000000000604a07 in QString::operator+= (this=0x329caa0, leadingSlash=<value optimized out>) at /usr/include/qt4/QtCore/qstring.h:269 #8 Digikam::TAlbum::tagPath (this=0x329caa0, leadingSlash=<value optimized out>) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/album.cpp:406 #9 0x00000000006c1fa1 in Digikam::MetadataHub::write (this=0x7fff0869c0d0, metadata=<value optimized out>, writeMode=<value optimized out>, settings=<value optimized out>) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/metadatahub.cpp:620 #10 0x00000000006c2939 in Digikam::MetadataHub::write (this=0x7fff0869c0d0, filePath=..., writeMode=Digikam::MetadataHub::FullWrite, settings=...) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/metadatahub.cpp:656 #11 0x0000000000495898 in Digikam::ImageDescEditTab::slotApplyAllChanges (this=0x2274120) at /home/adam/Downloads/digikam-1.0.0-beta6/libs/imageproperties/imagedescedittab.cpp:598 #12 0x0000000000496a4c in Digikam::ImageDescEditTab::qt_metacall (this=0x2274120, _c=QMetaObject::InvokeMetaMethod, _id=146472576, _a=0x7fff0869c280) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/imagedescedittab.moc:140 #13 0x00007f5833a32ddc in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #14 0x00007f5832f658e7 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4 #15 0x00007f5832cc741b in ?? () from /usr/lib/libQtGui.so.4 #16 0x00007f5832cc902b in ?? () from /usr/lib/libQtGui.so.4 #17 0x00007f5832cc9275 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 #18 0x00007f58329b29c0 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 #19 0x00007f5832963efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #20 0x00007f583296b011 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #21 0x00007f5834889ab6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #22 0x00007f5833a1dc2c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #23 0x00007f583296a8e0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib/libQtGui.so.4 #24 0x00007f58329d0a0e in ?? () from /usr/lib/libQtGui.so.4 #25 0x00007f58329cfaa9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 #26 0x00007f58329f8d0c in ?? () from /usr/lib/libQtGui.so.4 #27 0x00007f582d37abbe in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #28 0x00007f582d37e588 in ?? () from /lib/libglib-2.0.so.0 #29 0x00007f582d37e6b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #30 0x00007f5833a461a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #31 0x00007f58329f84be in ?? () from /usr/lib/libQtGui.so.4 #32 0x00007f5833a1c532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #33 0x00007f5833a1c904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #34 0x00007f5833a1eab9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #35 0x0000000000768952 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/adam/Downloads/digikam-1.0.0-beta6/digikam/main.cpp:195 Reported using DrKonqi
SVN commit 1048481 by mwiesweg: Ensure removed tags are not kept in map and later accessed when keeping a MetadataHub CCBUG: 214340 M +10 -0 digikam/metadatahub.cpp M +8 -0 digikam/metadatahub.h M +2 -1 libs/imageproperties/imagedescedittab.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1048481
Could you reproduce the problem? If yes, please try as soon rc1 is out if this bug is fixed for you.
I dont know if I can reproduce it. ________________________________ From: Marcel Wiesweg <marcel.wiesweg@gmx.de> To: adam@akpetty.com Sent: Fri, November 13, 2009 7:34:46 AM Subject: [Bug 214340] crash occured when removing tags https://bugs.kde.org/show_bug.cgi?id=214340 Marcel Wiesweg <marcel.wiesweg@gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marcel.wiesweg@gmx.de --- Comment #2 from Marcel Wiesweg <marcel wiesweg gmx de> 2009-11-13 13:34:44 --- Could you reproduce the problem? If yes, please try as soon rc1 is out if this bug is fixed for you.
digiKam 1.0.0 is out since few days... http://www.digikam.org/drupal/node/491 Please try with this version coming with more than 400 bug-fixes. Thanks in advance Gilles Caulier
I'd assume this is fixed?
*** Bug 223219 has been marked as a duplicate of this bug. ***
With the new report for 1.0.0, it seems this bug is not fixed. I have no idea why. A metadatahub keeps a map of TAlbum pointers. For a good long-term solution, we need to get away from TAlbums*, they cannot be accessed from a different thread and cause these problems here. We probably need an additional cache of the tags tree, at a low level (AlbumDB, DatabaseAccess), and fully mutex protected. It needs to provide tag id -> tag path, tag path -> tag id, tag name -> all tag ids with that name.
digiKam 1.1. release will be done in few days. Please check if this entry still valid. Thanks in advance Gilles Caulier
*** Bug 226157 has been marked as a duplicate of this bug. ***
*** Bug 227091 has been marked as a duplicate of this bug. ***
SVN commit 1091832 by mwiesweg: For the time being (until there is a thread-safe tag cache at a low level) we must look after the MetadataHub and notify it when tags are removed. This code was already added for 1.0, got lost during the model/view merge, but we got crash reports for 1.0-beta5, 1.0.0, 1.1.0, and 1.2.0-svn. So I cannot be sure that this fully fixes 214340. CCBUG: 226504 CCBUG: 214340 M +17 -0 imagedescedittab.cpp M +2 -0 imagedescedittab.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1091832
digiKam and Kipi-plugins 1.2.0 are out. Please check if crash is still valid there. Thanks in advance Gilles Caulier
In current SVN, the ImgDescEditTab has been ported to use the new TagsCache. No storing of TAlbum pointers anymore, this crash must be fixed.