Bug 273404

Summary: rebuild thumbnail
Product: [Applications] digikam Reporter: benney <ben_pey>
Component: Database-ThumbsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.12.0
Sentry Crash Report:

Description benney 2011-05-16 11:36:46 UTC
Application: digikam (2.0.0-beta5)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
en lançant la reconstruction de vignettes d'un album à partir de la recherche de doublon

The crash can be reproduced every time.

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

Thread 10 (Thread 0xb5951b70 (LWP 4294)):
#0  0x00cc63eb in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x0876bf66 in pthread_mutex_lock () from /lib/libc.so.6
#2  0x037f75f8 in g_main_context_acquire () from /lib/libglib-2.0.so.0
#3  0x037f91ee in ?? () from /lib/libglib-2.0.so.0
#4  0x037f9ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0x0298d9c4 in ?? () from /usr/lib/libgio-2.0.so.0
#6  0x0382048f in ?? () from /lib/libglib-2.0.so.0
#7  0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#8  0x0875e69e in clone () from /lib/libc.so.6

Thread 9 (Thread 0xb30f8b70 (LWP 4295)):
#0  0x00c65416 in __kernel_vsyscall ()
#1  0x00cc84dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0876bd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x019db9c7 in wait (this=0x96f6d44, mutex=0x96f6d40, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x96f6d44, mutex=0x96f6d40, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x08234039 in Digikam::ScanController::run (this=0x96b38a8) at /build/buildd/digikam2-2.0.0~beta5/core/digikam/database/scancontroller.cpp:602
#6  0x019dadf9 in QThreadPrivate::start (arg=0x96b38a8) at thread/qthread_unix.cpp:266
#7  0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#8  0x0875e69e in clone () from /lib/libc.so.6

Thread 8 (Thread 0xb28f7b70 (LWP 4296)):
#0  0x047b3e36 in clock_gettime () from /lib/librt.so.1
#1  0x01a3650b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x01b0d6e5 in QTimerInfoList::updateCurrentTime (this=0x96fb2b4) at kernel/qeventdispatcher_unix.cpp:339
#4  0x01b0d72a in QTimerInfoList::timerWait (this=0x96fb2b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x01b0b7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb28f6f2c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x01b0b83d in timerSourcePrepare (source=0x0, timeout=0x47b7ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x037f8e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x037f9279 in ?? () from /lib/libglib-2.0.so.0
#9  0x037f9848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x01b0b59f in QEventDispatcherGlib::processEvents (this=0x96fa860, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x01adb609 in QEventLoop::processEvents (this=0xb28f7100, flags=) at kernel/qeventloop.cpp:149
#12 0x01adba8a in QEventLoop::exec (this=0xb28f7100, flags=...) at kernel/qeventloop.cpp:201
#13 0x019d7b7e in QThread::exec (this=0x96b3960) at thread/qthread.cpp:490
#14 0x01aba35b in QInotifyFileSystemWatcherEngine::run (this=0x96b3960) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x019dadf9 in QThreadPrivate::start (arg=0x96b3960) at thread/qthread_unix.cpp:266
#16 0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0875e69e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xb20f6b70 (LWP 4303)):
#0  0x00c65416 in __kernel_vsyscall ()
#1  0x00cc84dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0876bd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x019db9c7 in wait (this=0x978c3a8, mutex=0x978c3a4, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x978c3a8, mutex=0x978c3a4, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x056cb69a in Digikam::ParkingThread::run (this=0x978c398) at /build/buildd/digikam2-2.0.0~beta5/core/libs/threads/threadmanager.cpp:119
#6  0x019dadf9 in QThreadPrivate::start (arg=0x978c398) at thread/qthread_unix.cpp:266
#7  0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#8  0x0875e69e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xab079b70 (LWP 4317)):
#0  0x00c65416 in __kernel_vsyscall ()
#1  0x00cc8884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0876bdf4 in pthread_cond_timedwait () from /lib/libc.so.6
#3  0x03d45b3f in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0xaa46db70 (LWP 4318)):
#0  0x00c65416 in __kernel_vsyscall ()
#1  0x08757371 in select () from /lib/libc.so.6
#2  0x03d71f1c in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 4 (Thread 0xa9c6cb70 (LWP 4319)):
#0  0x047b3e36 in clock_gettime () from /lib/librt.so.1
#1  0x01a3650b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x01b0d6e5 in QTimerInfoList::updateCurrentTime (this=0x9db4b3c) at kernel/qeventdispatcher_unix.cpp:339
#4  0x01b0d72a in QTimerInfoList::timerWait (this=0x9db4b3c, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x01b0b7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xa9c6bf1c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x01b0b83d in timerSourcePrepare (source=0x0, timeout=0x47b7ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x037f8e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x037f9279 in ?? () from /lib/libglib-2.0.so.0
#9  0x037f9848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x01b0b59f in QEventDispatcherGlib::processEvents (this=0x9db4e70, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x01adb609 in QEventLoop::processEvents (this=0xa9c6c0f0, flags=) at kernel/qeventloop.cpp:149
#12 0x01adba8a in QEventLoop::exec (this=0xa9c6c0f0, flags=...) at kernel/qeventloop.cpp:201
#13 0x019d7b7e in QThread::exec (this=0x9db4d20) at thread/qthread.cpp:490
#14 0x03f7bd7a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#15 0x019dadf9 in QThreadPrivate::start (arg=0x9db4d20) at thread/qthread_unix.cpp:266
#16 0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0875e69e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa946bb70 (LWP 4320)):
#0  0x0874fdf6 in poll () from /lib/libc.so.6
#1  0x01e9e562 in ?? () from /usr/lib/libpulse.so.0
#2  0x01e8aab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x01e8ca73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x01e8cb44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x01e9e303 in ?? () from /usr/lib/libpulse.so.0
#6  0x027efbd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00cc3cc9 in start_thread () from /lib/libpthread.so.0
#8  0x0875e69e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa4c69b70 (LWP 4321)):
#0  0x00c65416 in __kernel_vsyscall ()
#1  0x00cc84dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0876bd9d in pthread_cond_wait () from /lib/libc.so.6
#3  0x03d57b54 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 0xb5bc78a0 (LWP 4293)):
[KCrash Handler]
#7  Digikam::Album::id (this=0xb906658) at /build/buildd/digikam2-2.0.0~beta5/core/digikam/album/album.cpp:260
#8  0x0816630b in Digikam::BatchThumbsGenerator::qt_metacall (this=0xaa87ea4, _c=194020344, _id=85, _a=0xb906658) at /build/buildd/digikam2-2.0.0~beta5/obj-i686-linux-gnu/core/digikam/batchthumbsgenerator.moc:82
#9  0x01ae28ca in QMetaObject::metacall (object=0xb906658, cl=QMetaObject::InvokeMetaMethod, idx=85, argv=0xbffef62c) at kernel/qmetaobject.cpp:237
#10 0x01af56ad in QMetaObject::activate (sender=0xb90a370, m=0x1c0e188, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3280
#11 0x01afaa47 in QSingleShotTimer::timeout (this=0xb90a370) at .moc/release-shared/qtimer.moc:82
#12 0x01afab5c in QSingleShotTimer::timerEvent (this=0xb90a370) at kernel/qtimer.cpp:308
#13 0x01aef504 in QObject::event (this=0xb90a370, e=0x1) at kernel/qobject.cpp:1183
#14 0x06a86fdc in QApplicationPrivate::notify_helper (this=0x958ec28, receiver=0xb90a370, e=0xbffefb60) at kernel/qapplication.cpp:4396
#15 0x06a8d04e in QApplication::notify (this=0xbffeff40, receiver=0xb90a370, e=0xbffefb60) at kernel/qapplication.cpp:3798
#16 0x0178a82a in KApplication::notify (this=0xbffeff40, receiver=0xb90a370, event=0xbffefb60) at ../../kdeui/kernel/kapplication.cpp:311
#17 0x01adcb3b in QCoreApplication::notifyInternal (this=0xbffeff40, receiver=0xb90a370, event=0xbffefb60) at kernel/qcoreapplication.cpp:732
#18 0x01b0ead6 in sendEvent (this=0x9591da4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#19 QTimerInfoList::activateTimers (this=0x9591da4) at kernel/qeventdispatcher_unix.cpp:602
#20 0x01b0b874 in timerSourceDispatch (source=0x9591d70) at kernel/qeventdispatcher_glib.cpp:184
#21 0x037f5855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#22 0x037f9668 in ?? () from /lib/libglib-2.0.so.0
#23 0x037f9848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#24 0x01b0b565 in QEventDispatcherGlib::processEvents (this=0x9553c30, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#25 0x06b48be5 in QGuiEventDispatcherGlib::processEvents (this=0x9553c30, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x01adb609 in QEventLoop::processEvents (this=0xbffefe24, flags=) at kernel/qeventloop.cpp:149
#27 0x01adba8a in QEventLoop::exec (this=0xbffefe24, flags=...) at kernel/qeventloop.cpp:201
#28 0x01ae000f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#29 0x06a85e07 in QApplication::exec () at kernel/qapplication.cpp:3672
#30 0x083282ab in main (argc=5, argv=0xbfff01e4) at /build/buildd/digikam2-2.0.0~beta5/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2011-05-17 21:54:59 UTC
"The crash can be reproduced every time": so there is no special condition involved, like moving or deleting directories in parallel to starting the operation?
Comment 2 Marcel Wiesweg 2011-05-17 21:56:11 UTC
Git commit cb09586762d3a98e47cdf1909389cce9aec41aa3 by Marcel Wiesweg.
Committed on 17/05/2011 at 21:55.
Pushed by mwiesweg into branch 'master'.

Check pointer

CCBUG: 273404

M  +5    -0    utilities/batch/batchthumbsgenerator.cpp     

http://commits.kde.org/digikam/cb09586762d3a98e47cdf1909389cce9aec41aa3
Comment 3 caulier.gilles 2011-07-02 10:02:21 UTC
digiKam 2.0.0 RC is out. Please check if crash is reproducible with this version.

Thanks in advance

Gilles Caulier
Comment 4 caulier.gilles 2011-11-03 12:42:20 UTC
digiKam 2.2.0 is out since few weeks. Crash still valid with this version ?

Gilles Caulier
Comment 5 caulier.gilles 2015-06-26 14:01:48 UTC
Not reproducible...

Gilles Caulier