Bug 268761

Summary: Segfault when tagging people without existing tag in preview mode
Product: [Applications] digikam Reporter: bugs_kde_org
Component: Preview-ImageAssignee: 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: 7.0.0
Sentry Crash Report:

Description bugs_kde_org 2011-03-17 17:54:28 UTC
Application: digikam (2.0.0-beta4)
KDE Platform Version: 4.6.1 (4.6.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-27-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
Tagging people that do not yet have tags in preview-mode (where the whole image is displayed)
Entering the name of the person and just hit enter.

The crash can be reproduced every time.

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

Thread 7 (Thread 0x7f1d7ff95700 (LWP 12119)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f1d9af14e3b in wait (this=<value optimized out>, mutex=0xcade48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xcade48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x000000000060036b in Digikam::ScanController::run (this=0xd1add0) at /build/buildd/digikam2-2.0.0~beta4+git110307/digikam/database/scancontroller.cpp:602
#4  0x00007f1d9af1427e in QThreadPrivate::start (arg=0xd1add0) at thread/qthread_unix.cpp:266
#5  0x00007f1d96c08971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f1d99eef92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f1d7f794700 (LWP 12120)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f1d7f793850 in ?? ()
#2  0x00007fffb5e95852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 0x7f1d7ef93700 (LWP 12122)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f1d9af14e3b in wait (this=<value optimized out>, mutex=0xe93b48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xe93b48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f1d9f905b42 in Digikam::ParkingThread::run (this=0xe93b30) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/threads/threadmanager.cpp:119
#4  0x00007f1d9af1427e in QThreadPrivate::start (arg=0xe93b30) at thread/qthread_unix.cpp:266
#5  0x00007f1d96c08971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f1d99eef92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f1d77daa700 (LWP 12123)):
#0  0x00007f1d955a4661 in g_main_context_check () from /lib/libglib-2.0.so.0
#1  0x00007f1d955a5023 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f1d955a545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f1d9b0341e6 in QEventDispatcherGlib::processEvents (this=0xf01f10, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f1d9b006a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1d9b006dec in QEventLoop::exec (this=0x7f1d77da9b70, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f1d9af112fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f1d9afe65f8 in QInotifyFileSystemWatcherEngine::run (this=0xf014b0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f1d9af1427e in QThreadPrivate::start (arg=0xf014b0) at thread/qthread_unix.cpp:266
#9  0x00007f1d96c08971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f1d99eef92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f1d6e341700 (LWP 12148)):
#0  0x00007f1d96c0a66f in __pthread_mutex_lock (mutex=0x3902368) at pthread_mutex_lock.c:62
#1  0x00007f1d955a4697 in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0x00007f1d955a5023 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f1d955a545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f1d9b0341e6 in QEventDispatcherGlib::processEvents (this=0x347c320, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007f1d9b006a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f1d9b006dec in QEventLoop::exec (this=0x7f1d6e340b40, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f1d9f90525e in Digikam::WorkerObjectRunnable::run (this=0x7f1d784251e0) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/threads/threadmanager.cpp:190
#8  0x00007f1d9af09d02 in QThreadPoolThread::run (this=0x7f1d7800e3d0) at concurrent/qthreadpool.cpp:106
#9  0x00007f1d9af1427e in QThreadPrivate::start (arg=0x7f1d7800e3d0) at thread/qthread_unix.cpp:266
#10 0x00007f1d96c08971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007f1d99eef92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f1d5d552700 (LWP 12149)):
#0  0x00007f1d99ee3203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f1d955a5009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f1d955a545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f1d9b0341e6 in QEventDispatcherGlib::processEvents (this=0x384e6c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f1d9b006a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f1d9b006dec in QEventLoop::exec (this=0x7f1d5d551b40, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f1d9f90525e in Digikam::WorkerObjectRunnable::run (this=0x7f1d58013b70) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/threads/threadmanager.cpp:190
#7  0x00007f1d9af09d02 in QThreadPoolThread::run (this=0x7f1d580106e0) at concurrent/qthreadpool.cpp:106
#8  0x00007f1d9af1427e in QThreadPrivate::start (arg=0x7f1d580106e0) at thread/qthread_unix.cpp:266
#9  0x00007f1d96c08971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f1d99eef92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f1da2e7a9a0 (LWP 12118)):
[KCrash Handler]
#6  QObject::disconnect (sender=0x1b1b1b1b1b1b1b1b, signal=<value optimized out>, receiver=0x50, method=<value optimized out>) at kernel/qobject.cpp:2730
#7  0x00007f1d9f9d1222 in Digikam::AnimationControl::clear (this=0x38fa680) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/widgets/graphicsview/itemvisibilitycontroller.cpp:230
#8  0x00007f1d9f9d1367 in Digikam::ItemVisibilityController::clear (this=0xf04cf0) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/widgets/graphicsview/itemvisibilitycontroller.cpp:689
#9  0x00000000006d782b in Digikam::FaceGroup::clear (this=0xf04c90) at /build/buildd/digikam2-2.0.0~beta4+git110307/utilities/facedetection/facegroup.cpp:614
#10 0x00000000006d7e00 in Digikam::FaceGroup::setInfo (this=0xf04c90, info=...) at /build/buildd/digikam2-2.0.0~beta4+git110307/utilities/facedetection/facegroup.cpp:344
#11 0x000000000068f19d in Digikam::ImagePreviewView::imageLoaded (this=0xee05d0) at /build/buildd/digikam2-2.0.0~beta4+git110307/digikam/views/imagepreviewview.cpp:294
#12 0x000000000068fa34 in Digikam::ImagePreviewView::qt_metacall (this=0xee05d0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffb5e5bba0) at /build/buildd/digikam2-2.0.0~beta4+git110307/obj-x86_64-linux-gnu/digikam/imagepreviewview.moc:131
#13 0x00007f1d9b01fb27 in QMetaObject::activate (sender=0xee4b00, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x2cad948) at kernel/qobject.cpp:3280
#14 0x00007f1d9f9c85fe in Digikam::DImgPreviewItem::qt_metacall (this=0xee4b00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x37c8400) at /build/buildd/digikam2-2.0.0~beta4+git110307/obj-x86_64-linux-gnu/digikam/dimgpreviewitem.moc:86
#15 0x00007f1d9b019bde in QObject::event (this=0xee4b00, e=0x7fffb5e5b930) at kernel/qobject.cpp:1219
#16 0x00007f1d9bc45fdc in QApplicationPrivate::notify_helper (this=0xc1a0e0, receiver=0xee4b00, e=0x1ece620) at kernel/qapplication.cpp:4396
#17 0x00007f1d9bc4baed in QApplication::notify (this=0x7fffb5e5c750, receiver=0xee4b00, e=0x1ece620) at kernel/qapplication.cpp:4277
#18 0x00007f1d9c9d62c6 in KApplication::notify (this=0x7fffb5e5c750, receiver=0xee4b00, event=0x1ece620) at ../../kdeui/kernel/kapplication.cpp:311
#19 0x00007f1d9b007cdc in QCoreApplication::notifyInternal (this=0x7fffb5e5c750, receiver=0xee4b00, event=0x1ece620) at kernel/qcoreapplication.cpp:732
#20 0x00007f1d9b00ac22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0xbab8c0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xbab8c0) at kernel/qcoreapplication.cpp:1373
#22 0x00007f1d9b034653 in sendPostedEvents (s=0xc1dca0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#23 postEventSourceDispatch (s=0xc1dca0) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007f1d955a1342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#25 0x00007f1d955a52a8 in ?? () from /lib/libglib-2.0.so.0
#26 0x00007f1d955a545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#27 0x00007f1d9b034193 in QEventDispatcherGlib::processEvents (this=0xbaafe0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#28 0x00007f1d9bcf8a4e in QGuiEventDispatcherGlib::processEvents (this=0x7fffb5e5b930, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007f1d9b006a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#30 0x00007f1d9b006dec in QEventLoop::exec (this=0x7fffb5e5c5b0, flags=) at kernel/qeventloop.cpp:201
#31 0x00007f1d9b00aebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#32 0x00000000006ec18d in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/digikam2-2.0.0~beta4+git110307/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2011-03-17 19:54:28 UTC
hopefully fixed

*** This bug has been marked as a duplicate of bug 268300 ***
Comment 2 caulier.gilles 2019-12-23 14:00:34 UTC
Problem is fixed with new 7.0.0-beta1 through this long story from this bug

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

You can test digiKam 7.0.0-beta1 with bundle available here:

https://download.kde.org/unstable/digikam/

Don't hesitate to give us a fresh feedback about his entry.

Thanks in advance

Gilles Caulier