Bug 264072

Summary: Digikam crashes while searching for duplicates
Product: [Applications] digikam Reporter: cirdan52
Component: Searches-SimilarityAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: andrew.i.coles, caulier.gilles
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description cirdan52 2011-01-23 13:28:27 UTC
Application: digikam (2.0.0-beta2)
KDE Platform Version: 4.5.5 (KDE 4.5.5) "release 1"
Qt Version: 4.6.3
Operating System: Linux 2.6.34.7-0.7-pae i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:
Was searching the entire album for 100% duplicates when it crashed. This has been the same issue since I started using Digikam 1.3

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0xaf5f2890 (LWP 6101))]

Thread 9 (Thread 0xad2e8b70 (LWP 6102)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb50d2125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5147710 in wait (this=0x8653304, mutex=0x8653300, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x8653304, mutex=0x8653300, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0x08261f0d in Digikam::ScanController::run (this=0x864b800) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/digikam/scancontroller.cpp:599
#5  0xb514704f in QThreadPrivate::start (arg=0x864b800) at thread/qthread_unix.cpp:248
#6  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#7  0xb43a446e in clone () from /lib/libc.so.6

Thread 8 (Thread 0xacae7b70 (LWP 6118)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb50d2125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5147710 in wait (this=0x865ce30, mutex=0x865ce2c, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x865ce30, mutex=0x865ce2c, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb66d2ed4 in Digikam::ParkingThread::run (this=0x865ce20) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threads/threadmanager.cpp:119
#5  0xb514704f in QThreadPrivate::start (arg=0x865ce20) at thread/qthread_unix.cpp:248
#6  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#7  0xb43a446e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xabde5b70 (LWP 6120)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb50d2452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb19a31d7 in metronom_sync_loop () from /usr/lib/libxine.so.1
#3  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#4  0xb43a446e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xa83dcb70 (LWP 6121)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb50d2452 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb19b1c41 in video_out_loop () from /usr/lib/libxine.so.1
#3  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#4  0xb43a446e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xa7bdbb70 (LWP 6122)):
#0  0xb2f2e22b in clock_gettime () from /lib/librt.so.1
#1  0xb526975c in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0xb526db16 in updateCurrentTime (this=0x8d84834, tm=...) at kernel/qeventdispatcher_unix.cpp:340
#3  QTimerInfoList::timerWait (this=0x8d84834, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0xb526c56b in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xa7bdafac) at kernel/qeventdispatcher_glib.cpp:136
#5  0xb31a30c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb31a3f22 in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb31a460e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb526cd97 in QEventDispatcherGlib::processEvents (this=0x8d83260, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#9  0xb524011d in QEventLoop::processEvents (this=0xa7bdb140, flags=...) at kernel/qeventloop.cpp:149
#10 0xb5240319 in QEventLoop::exec (this=0xa7bdb140, flags=...) at kernel/qeventloop.cpp:201
#11 0xb5144403 in QThread::exec (this=0x8d82e70) at thread/qthread.cpp:487
#12 0xa89cbdc8 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#13 0xb514704f in QThreadPrivate::start (arg=0x8d82e70) at thread/qthread_unix.cpp:248
#14 0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#15 0xb43a446e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xa73dab70 (LWP 6125)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb439975e in poll () from /lib/libc.so.6
#2  0xa880804c in ao_alsa_handle_event_thread () from /usr/lib/xine/plugins/1.29/xineplug_ao_out_alsa.so
#3  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#4  0xb43a446e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa6bd9b70 (LWP 6126)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb50d2125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb19b6180 in ao_loop () from /usr/lib/libxine.so.1
#3  0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#4  0xb43a446e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa5bd7b70 (LWP 25384)):
[KCrash Handler]
#7  0xffffe424 in __kernel_vsyscall ()
#8  0xb42fc7ff in raise () from /lib/libc.so.6
#9  0xb42fe140 in abort () from /lib/libc.so.6
#10 0xb453a7dd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#11 0xb4538533 in ?? () from /usr/lib/libstdc++.so.6
#12 0xb453856f in std::terminate() () from /usr/lib/libstdc++.so.6
#13 0xb453873a in __cxa_rethrow () from /usr/lib/libstdc++.so.6
#14 0xb513cd49 in QThreadPoolThread::run (this=0x919e770) at concurrent/qthreadpool.cpp:113
#15 0xb514704f in QThreadPrivate::start (arg=0x919e770) at thread/qthread_unix.cpp:248
#16 0xb50cdb25 in start_thread () from /lib/libpthread.so.0
#17 0xb43a446e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xaf5f2890 (LWP 6101)):
#0  0xb518fe3f in QString::operator== (this=0x11f8fa24, other=@0xbf8659b0) at tools/qstring.cpp:2060
#1  0xb668dac4 in Digikam::LoadingDescription::operator== (this=0x11f8fa24, other=@0xbf8659b0) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/loadingdescription.cpp:272
#2  0xb6689fd9 in Digikam::ManagedLoadSaveThread::findExistingTask (this=0x9191ae8, loadingDescription=...)
    at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/managedloadsavethread.cpp:139
#3  0xb668aff4 in Digikam::ManagedLoadSaveThread::loadThumbnail (this=0x9191ae8, description=...) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/managedloadsavethread.cpp:342
#4  0xb66a8533 in Digikam::ThumbnailLoadThread::load (this=0x9191ae8, description=..., preload=false)
    at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/thumbnailloadthread.cpp:658
#5  0xb66a858b in Digikam::ThumbnailLoadThread::load (this=0x9191ae8, desc=...) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/thumbnailloadthread.cpp:642
#6  0xb66aabb6 in Digikam::ThumbnailLoadThread::find (this=0x9191ae8, filePath=..., size=-1081713908, retPixmap=0x0, emitSignal=true, detailRect=...)
    at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/thumbnailloadthread.cpp:503
#7  0xb66aaea3 in Digikam::ThumbnailLoadThread::find (this=0x9191ae8, filePath=..., size=256) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/thumbnailloadthread.cpp:526
#8  0xb66aaedd in Digikam::ThumbnailLoadThread::find (this=0x9191ae8, filePath=...) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/libs/threadimageio/thumbnailloadthread.cpp:521
#9  0x08173087 in Digikam::FindDuplicatesView::slotAlbumAdded (this=0xbf865bac, a=0xbf865ba4) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/utilities/fuzzysearch/findduplicatesview.cpp:323
#10 0x08175965 in Digikam::FindDuplicatesView::qt_metacall (this=0x91cda68, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf865cc8)
    at /usr/src/debug/digikam2-1.9.92svn.rev1216304/build/core/digikam/findduplicatesview.moc:111
#11 0xb5246efd in QMetaObject::metacall (object=0x91cda68, cl=QMetaObject::InvokeMetaMethod, idx=31, argv=0xbf865cc8) at kernel/qmetaobject.cpp:237
#12 0xb5255fe8 in QMetaObject::activate (sender=0x8656b08, m=0x83fcbe8, local_signal_index=1, argv=0xbf865cc8) at kernel/qobject.cpp:3295
#13 0x081ad397 in Digikam::AlbumManager::signalAlbumAdded (this=0x8656b08, _t1=0x9ce49f40) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/build/core/digikam/albummanager.moc:240
#14 0x081be1e7 in Digikam::AlbumManager::scanSAlbums (this=0x8656b08) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/digikam/albummanager.cpp:1773
#15 0x081c5e11 in Digikam::AlbumManager::qt_metacall (this=0x8656b08, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf865e7c)
    at /usr/src/debug/digikam2-1.9.92svn.rev1216304/build/core/digikam/albummanager.moc:217
#16 0xb5246efd in QMetaObject::metacall (object=0x8656b08, cl=QMetaObject::InvokeMetaMethod, idx=50, argv=0xbf865e7c) at kernel/qmetaobject.cpp:237
#17 0xb5255fe8 in QMetaObject::activate (sender=0x8640910, m=0xb535d5a4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3295
#18 0xb52a2a35 in QTimer::timeout (this=0x8640910) at .moc/release-shared/moc_qtimer.cpp:134
#19 0xb525b8e6 in QTimer::timerEvent (this=0x8640910, e=0xbf8663b0) at kernel/qtimer.cpp:271
#20 0xb5253774 in QObject::event (this=0x8640910, e=0xbf8663b0) at kernel/qobject.cpp:1212
#21 0xb4701c64 in QApplicationPrivate::notify_helper (this=0x85580e8, receiver=0x8640910, e=0xbf8663b0) at kernel/qapplication.cpp:4302
#22 0xb4709bf7 in QApplication::notify (this=0xbf86679c, receiver=0x8640910, e=0xbf8663b0) at kernel/qapplication.cpp:3706
#23 0xb57249f1 in KApplication::notify (this=0xbf86679c, receiver=0x8640910, event=0xbf8663b0) at /usr/src/debug/kdelibs-4.5.5/kdeui/kernel/kapplication.cpp:310
#24 0xb5240e0e in QCoreApplication::notifyInternal (this=0xbf86679c, receiver=0x8640910, event=0xbf8663b0) at kernel/qcoreapplication.cpp:726
#25 0xb526f70e in sendEvent (this=0x855b274) at kernel/qcoreapplication.h:215
#26 QTimerInfoList::activateTimers (this=0x855b274) at kernel/qeventdispatcher_unix.cpp:618
#27 0xb526c675 in timerSourceDispatch (source=0x855b2a8) at kernel/qeventdispatcher_glib.cpp:184
#28 idleTimerSourceDispatch (source=0x855b2a8) at kernel/qeventdispatcher_glib.cpp:231
#29 0xb31a3b49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0xb31a4350 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0xb31a460e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0xb526cd4b in QEventDispatcherGlib::processEvents (this=0x85353d8, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#33 0xb47b219a in QGuiEventDispatcherGlib::processEvents (this=0x85353d8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0xb524011d in QEventLoop::processEvents (this=0xbf866674, flags=...) at kernel/qeventloop.cpp:149
#35 0xb5240319 in QEventLoop::exec (this=0xbf866674, flags=...) at kernel/qeventloop.cpp:201
#36 0xb5244c70 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#37 0xb46ff164 in QApplication::exec () at kernel/qapplication.cpp:3581
#38 0x082c7bcb in main (argc=) at /usr/src/debug/digikam2-1.9.92svn.rev1216304/core/digikam/main.cpp:232

Possible duplicates by query: bug 263545, bug 263272, bug 262882, bug 262873, bug 262843.

Reported using DrKonqi
Comment 1 caulier.gilles 2011-01-23 18:52:14 UTC
This week end, Andrew has fix some problem with thread management code. Perhaps it's fixed...

Update code from svn and recompile install all.

Look this entry for info : 

https://bugs.kde.org/show_bug.cgi?id=261779

Gilles Caulier
Comment 2 cirdan52 2011-01-23 19:13:19 UTC
On Sunday, January 23, 2011 12:52:15 pm Gilles Caulier wrote:
> https://bugs.kde.org/show_bug.cgi?id=264072
> 
> 
> Gilles Caulier <caulier.gilles@gmail.com> changed:
> 
>            What    |Removed                     |Added
> ---------------------------------------------------------------------------
> - CC|                            |andrew.i.coles@googlemail.c
> 
>                    |                            |om,
>                    |                            |caulier.gilles@gmail.com
> 
>             Version|unspecified                 |2.0.0
>             Summary|Digikam crashes whhhhile    |Digikam crashes while
> 
>                    |searching for duplicates    |searching for duplicates
> 
> --- Comment #1 from Gilles Caulier <caulier gilles gmail com>  2011-01-23
> 18:52:14 --- This week end, Andrew has fix some problem with thread
> management code. Perhaps it's fixed...
> 
> Update code from svn and recompile install all.
> 
> Look this entry for info :
> 
> https://bugs.kde.org/show_bug.cgi?id=261779
> 
> Gilles Caulier
Thanks Gilles, I hope it is too...
Comment 3 Marcel Wiesweg 2011-04-07 20:47:01 UTC
[KCrash Handler]
#9  0xb42fe140 in abort () from /lib/libc.so.6
#12 0xb453856f in std::terminate() () from /usr/lib/libstdc++.so.6
#13 0xb453873a in __cxa_rethrow () from /usr/lib/libstdc++.so.6
#14 0xb513cd49 in QThreadPoolThread::run (this=0x919e770) at
concurrent/qthreadpool.cpp:113

An exception is thrown from a thread, and rethrown. You need to run digikam under gdb and catch the exception to get to the proper backtrace:
gdb digikam
catch throw
run
<provoke crash>
bt
Comment 4 caulier.gilles 2011-07-02 10:02:06 UTC
digiKam 2.0.0 RC is out. Please check if crash is reproducible with this version.

Thanks in advance

Gilles Caulier
Comment 5 Marcel Wiesweg 2011-09-25 13:42:28 UTC
See comments #3 and #4
Comment 6 caulier.gilles 2015-06-27 13:46:39 UTC
New digiKam 4.11.0 is available :

https://www.digikam.org/node/740

Can you reproduce the problem with this release ?

Gilles caulier
Comment 7 caulier.gilles 2015-08-22 06:35:50 UTC
digiKam 4.12.0 is out :

https://www.digikam.org/node/741

We need a fresh feedback using this release please...
Thanks in advance.
Comment 8 caulier.gilles 2016-07-09 16:08:29 UTC
This problem is not reproducible with last 5.0.0.
I close this file now. Don't hesitate to re-open it if necessary.
Gilles Caulier