Bug 267190

Summary: digiKam crashes when other applications rename files it is loading.
Product: [Applications] digikam Reporter: David Sharnoff <kde-bugs>
Component: Database-AlbumsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, vivo75+kde
Priority: NOR    
Version: 1.4.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.0.0
Sentry Crash Report:

Description David Sharnoff 2011-02-26 07:38:32 UTC
Application: digikam (1.4.0)
KDE Platform Version: 4.5.3 (KDE 4.5.3)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:

I wasn't using digiKam.   However, digiKam was open to a directory in which I had just placed some photos (with mv).  It crashed as I renamed a bunch of photos in that directory (with perl).

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

Thread 7 (Thread 0x7f24fdd58710 (LWP 14717)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2511cebe3b in wait (this=<value optimized out>, mutex=0x26e87e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x26e87e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f2515d075e4 in Digikam::ParkingThread::run (this=0x26e87d0) at /build/buildd/digikam-1.4.0/libs/threads/threadmanager.cpp:101
#4  0x00007f2511ceb27e in QThreadPrivate::start (arg=0x26e87d0) at thread/qthread_unix.cpp:266
#5  0x00007f2511a60971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f251053394d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f24fd557710 (LWP 14718)):
#0  0x00007f2511a63c9d in __pthread_mutex_unlock_usercnt (mutex=0x27d3868) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x27d3868) at pthread_mutex_unlock.c:290
#2  0x00007f250d3b1a05 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#3  0x00007f250d3b1e78 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007f250d3b245c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007f2511e0b1e6 in QEventDispatcherGlib::processEvents (this=0x27d3770, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#6  0x00007f2511ddda02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007f2511ddddec in QEventLoop::exec (this=0x7f24fd556d90, flags=) at kernel/qeventloop.cpp:201
#8  0x00007f2511ce82fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#9  0x00007f2511ceb27e in QThreadPrivate::start (arg=0x27da9a0) at thread/qthread_unix.cpp:266
#10 0x00007f2511a60971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007f251053394d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f24fcd56710 (LWP 14719)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f24fcd55a70 in ?? ()
#2  0x00007fff2a3ff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 0x7f24e85b9710 (LWP 14722)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007f24f58fc0d1 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f2511a60971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#3  0x00007f251053394d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f24e697c710 (LWP 14724)):
#0  __pthread_mutex_unlock_usercnt (mutex=0x2e86c38) at pthread_mutex_unlock.c:41
#1  __pthread_mutex_unlock (mutex=0x2e86c38) at pthread_mutex_unlock.c:290
#2  0x00007f250d3b1661 in g_main_context_check () from /lib/libglib-2.0.so.0
#3  0x00007f250d3b2023 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007f250d3b245c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007f2511e0b1e6 in QEventDispatcherGlib::processEvents (this=0x2e86b40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#6  0x00007f2511ddda02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007f2511ddddec in QEventLoop::exec (this=0x7f24e697bd30, flags=) at kernel/qeventloop.cpp:201
#8  0x00007f2511ce82fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#9  0x00007f24f5b582b0 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#10 0x00007f2511ceb27e in QThreadPrivate::start (arg=0x2e86520) at thread/qthread_unix.cpp:266
#11 0x00007f2511a60971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#12 0x00007f251053394d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f24dc69c710 (LWP 14739)):
#0  0x00007f2511a62665 in __pthread_mutex_lock (mutex=0x4a36108) at pthread_mutex_lock.c:61
#1  0x00007f250d3b1a43 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00007f250d3b1e78 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f250d3b245c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f2511e0b1e6 in QEventDispatcherGlib::processEvents (this=0x4a91a30, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007f2511ddda02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f2511ddddec in QEventLoop::exec (this=0x7f24dc69bd50, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f2511ce82fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f2511dbd5f8 in QInotifyFileSystemWatcherEngine::run (this=0x4a36bf0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f2511ceb27e in QThreadPrivate::start (arg=0x4a36bf0) at thread/qthread_unix.cpp:266
#10 0x00007f2511a60971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007f251053394d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f2518d1a7c0 (LWP 14701)):
[KCrash Handler]
#6  0x00007f2511d07927 in hash (key=...) at tools/qhash.cpp:81
#7  qHash (key=...) at tools/qhash.cpp:95
#8  0x000000000063638c in Digikam::qHash (id=<value optimized out>) at /build/buildd/digikam-1.4.0/digikam/albummanager.cpp:144
#9  0x000000000064e176 in QHash<Digikam::PAlbumPath, Digikam::PAlbum*>::findNode(Digikam::PAlbumPath const&, unsigned int*) const ()
#10 0x000000000063b195 in operator[] (this=0x1f661c0, album=0x49f35a0, parent=<value optimized out>) at /usr/include/qt4/QtCore/qhash.h:740
#11 Digikam::AlbumManager::insertPAlbum (this=0x1f661c0, album=0x49f35a0, parent=<value optimized out>) at /build/buildd/digikam-1.4.0/digikam/albummanager.cpp:2507
#12 0x0000000000644a18 in Digikam::AlbumManager::scanPAlbums (this=<value optimized out>) at /build/buildd/digikam-1.4.0/digikam/albummanager.cpp:1295
#13 0x0000000000647e26 in Digikam::AlbumManager::qt_metacall (this=0x1f661c0, _c=QMetaObject::InvokeMetaMethod, _id=184922114, _a=0x7fff2a2f9ae0) at /build/buildd/digikam-1.4.0/obj-x86_64-linux-gnu/digikam/albummanager.moc:192
#14 0x00007f2511df6b27 in QMetaObject::activate (sender=0x1f5de50, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7e433082) at kernel/qobject.cpp:3280
#15 0x00007f2511df08f9 in QObject::event (this=0x1f5de50, e=0xb59d350) at kernel/qobject.cpp:1183
#16 0x00007f25129effdc in QApplicationPrivate::notify_helper (this=0x1dc2770, receiver=0x1f5de50, e=0x7fff2a2fa230) at kernel/qapplication.cpp:4396
#17 0x00007f25129f5aed in QApplication::notify (this=0x7fff2a2fa660, receiver=0x1f5de50, e=0x7fff2a2fa230) at kernel/qapplication.cpp:4277
#18 0x00007f2513743526 in KApplication::notify (this=0x7fff2a2fa660, receiver=0x1f5de50, event=0x7fff2a2fa230) at ../../kdeui/kernel/kapplication.cpp:310
#19 0x00007f2511ddecdc in QCoreApplication::notifyInternal (this=0x7fff2a2fa660, receiver=0x1f5de50, event=0x7fff2a2fa230) at kernel/qcoreapplication.cpp:732
#20 0x00007f2511e0e6f2 in sendEvent (this=0x1dc6390) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 QTimerInfoList::activateTimers (this=0x1dc6390) at kernel/qeventdispatcher_unix.cpp:602
#22 0x00007f2511e0b4c8 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#23 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#24 0x00007f250d3ae342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#25 0x00007f250d3b22a8 in ?? () from /lib/libglib-2.0.so.0
#26 0x00007f250d3b245c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#27 0x00007f2511e0b193 in QEventDispatcherGlib::processEvents (this=0x1d83280, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#28 0x00007f2512aa2a4e in QGuiEventDispatcherGlib::processEvents (this=0x7fff2a2f9708, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007f2511ddda02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#30 0x00007f2511ddddec in QEventLoop::exec (this=0x7fff2a2fa4d0, flags=) at kernel/qeventloop.cpp:201
#31 0x00007f2511de1ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#32 0x000000000077cc1d in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/digikam-1.4.0/digikam/main.cpp:195

Reported using DrKonqi
Comment 1 caulier.gilles 2011-03-03 22:00:57 UTC
It's probably fixed in last 1.9.O. Please update and try again.

Gilles Caulier
Comment 2 Francesco Riosa 2011-06-29 12:51:01 UTC
2.0.0-rc is out, please re-open if needed