Bug 260653

Summary: Toggle "Tags already assigned" makes digikam crash
Product: [Applications] digikam Reporter: Sebastian Schubert <schubert.seb>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, nico.kruber
Priority: NOR    
Version: 1.9.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
image1 to reproduce the bug
image2 to reproduce the bug
crashlog with the two supplied images

Description Sebastian Schubert 2010-12-18 20:22:25 UTC
Application: digikam (1.6.0)
KDE Platform Version: 4.5.4 (KDE 4.5.4) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.34-gentoo-r12 x86_64
Distribution (Platform): Gentoo Packages

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

1) Mark two pictures, at least one with tags.
2) Toggle "Tags already assigned" in Caption/Tags -> Shows only selected tags (fine)
3) Toggle again => CRASH

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7f952c4ff7c0 (LWP 8356))]

Thread 13 (Thread 0x7f9526f00710 (LWP 8357)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x0000003eb4a7ba8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:160
#3  0x000000000062bc5b in Digikam::ScanController::run (this=0x12d25d0) at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0/digikam/scancontroller.cpp:519
#4  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#5  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 12 (Thread 0x7f95266ff710 (LWP 8359)):
#0  0x0000003abc83c661 in IA__g_main_context_query (context=<value optimized out>, max_priority=<value optimized out>, timeout=<value optimized out>, fds=<value optimized out>, 
    n_fds=<value optimized out>) at gmain.c:2373
#1  0x0000003abc84196c in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2573
#2  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#3  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#5  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#6  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#8  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 11 (Thread 0x7f951c3d7710 (LWP 8360)):
#0  0x0000003aba40a53e in __pthread_mutex_unlock_usercnt (mutex=<value optimized out>, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0x0000003abc8415c1 in IA__g_main_context_prepare (context=<value optimized out>, priority=<value optimized out>) at gmain.c:2308
#2  0x0000003abc8418e8 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2571
#3  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#4  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#6  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#7  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#9  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently c".

Thread 10 (Thread 0x7f951bb56710 (LWP 8361)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x0000003eb4a7ba8b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=<value optimized out>, time=<value optimized out>) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003368eb3db3 in Digikam::ParkingThread::run (this=<value optimized out>) at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0/libs/threads/threadmanager.cpp:112
#4  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#5  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 9 (Thread 0x7f951b355710 (LWP 8362)):
#0  0x0000003abc84147c in IA__g_main_context_prepare (context=<value optimized out>, priority=<value optimized out>) at gmain.c:2278
#1  0x0000003abc8418e8 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2571
#2  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#3  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#5  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#6  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#8  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently asm".

Thread 8 (Thread 0x7f951ab54710 (LWP 8363)):
#0  IA__g_main_context_prepare (context=<value optimized out>, priority=<value optimized out>) at gmain.c:2200
#1  0x0000003abc8418e8 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2571
#2  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#3  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#5  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#6  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#8  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#9  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently c".

Thread 7 (Thread 0x7f9515515710 (LWP 8364)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f9517a5617e in metronom_sync_loop (this=<value optimized out>) at metronom.c:870
#2  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f95140d9710 (LWP 8365)):
#0  0x0000003ab98ca9e3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f9517a7be85 in xine_usec_sleep (usec=<value optimized out>) at utils.c:481
#2  0x00007f9517a62a31 in video_out_loop (this_gen=<value optimized out>) at video_out.c:1246
#3  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently asm".

Thread 5 (Thread 0x7f95138d8710 (LWP 8366)):
#0  pthread_mutex_unlock (mutex=<value optimized out>) at forward.c:184
#1  0x0000003abc8410f0 in IA__g_main_context_check (context=<value optimized out>, max_priority=<value optimized out>, fds=<value optimized out>, n_fds=<value optimized out>) at gmain.c:2467
#2  0x0000003abc841a0b in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2588
#3  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#4  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#6  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#7  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f9517caeee0 in Phonon::Xine::XineThread::run (this=0x271f560) at /tmp/portage/media-sound/phonon-4.4.3/work/phonon-4.4.3/xine/xinethread.cpp:143
#9  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#10 0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#11 0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f9512ecd710 (LWP 8369)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f9517a64133 in fifo_peek_int (fifo=<value optimized out>, blocking=<value optimized out>) at audio_out.c:348
#2  0x00007f9517a65b3a in fifo_peek (this_gen=<value optimized out>) at audio_out.c:388
#3  ao_loop (this_gen=<value optimized out>) at audio_out.c:1015
#4  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently c".

Thread 3 (Thread 0x7f95126cc710 (LWP 8370)):
#0  0x0000003aba408fc5 in __pthread_mutex_lock (mutex=<value optimized out>) at pthread_mutex_lock.c:61
#1  0x0000003abc841b81 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2557
#2  0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#3  0x0000003eb4b98626 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#5  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#6  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x0000003eb4b4b538 in QInotifyFileSystemWatcherEngine::run (this=<value optimized out>) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#9  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently asm".

Thread 2 (Thread 0x7f950fbe9710 (LWP 8377)):
#0  0x0000003eb4b98628 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:416
#1  0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#2  0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#3  0x0000003eb4a77f4d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#4  0x0000003eb4b4b538 in QInotifyFileSystemWatcherEngine::run (this=<value optimized out>) at io/qfilesystemwatcher_inotify.cpp:248
#5  0x0000003eb4a7aede in QThreadPrivate::start (arg=<value optimized out>) at thread/qthread_unix.cpp:285
#6  0x0000003aba406894 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#7  0x0000003ab98d127d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
The current source language is "auto; currently c".

Thread 1 (Thread 0x7f952c4ff7c0 (LWP 8356)):
[KCrash Handler]
#6  QModelIndex (this=<value optimized out>, source_parent=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModelPrivate::filter_changed (this=<value optimized out>, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1040
#8  0x0000003eb5b84f36 in QSortFilterProxyModelPrivate::filter_changed (this=<value optimized out>, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#9  0x0000003eb5b84f36 in QSortFilterProxyModelPrivate::filter_changed (this=<value optimized out>, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#10 0x0000003eb5b85001 in QSortFilterProxyModel::invalidateFilter (this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:2357
#11 0x0000000000563d8d in Digikam::CheckableAlbumFilterModel::setFilterPartiallyChecked (this=0x31ed528, filter=192)
    at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0/libs/models/albumfiltermodel.cpp:279
#12 0x0000000000496dfc in Digikam::ImageDescEditTab::slotAssignedTagsToggled (this=0x2f1e840, t=false)
    at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0/libs/imageproperties/imagedescedittab.cpp:1053
#13 0x000000000049ac2a in Digikam::ImageDescEditTab::qt_metacall (this=0x2f1e840, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffe0400a40)
    at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0_build/digikam/imagedescedittab.moc:148
#14 0x0000003eb4b841cf in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=<value optimized out>)
    at kernel/qobject.cpp:3272
#15 0x0000003eb5c6f9f2 in QAbstractButton::toggled (this=<value optimized out>, _t1=<value optimized out>) at .moc/release-shared/moc_qabstractbutton.cpp:213
#16 0x0000003eb597db18 in QAbstractButton::setChecked (this=<value optimized out>, checked=<value optimized out>) at widgets/qabstractbutton.cpp:766
#17 0x0000003eb597d7aa in QAbstractButtonPrivate::click (this=<value optimized out>) at widgets/qabstractbutton.cpp:528
#18 0x0000003eb597da5c in QAbstractButton::mouseReleaseEvent (this=<value optimized out>, e=<value optimized out>) at widgets/qabstractbutton.cpp:1121
#19 0x0000003eb5a4b9ea in QToolButton::mouseReleaseEvent (this=<value optimized out>, e=<value optimized out>) at widgets/qtoolbutton.cpp:721
#20 0x0000003eb561d01d in QWidget::event (this=<value optimized out>, event=<value optimized out>) at kernel/qwidget.cpp:8200
#21 0x0000003eb55c739c in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:4445
#22 0x0000003eb55cd01b in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:4006
#23 0x0000003364048f36 in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>)
    at /tmp/portage/kde-base/kdelibs-4.5.4/work/kdelibs-4.5.4/kdeui/kernel/kapplication.cpp:310
#24 0x0000003eb4b6c5eb in QCoreApplication::notifyInternal (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at kernel/qcoreapplication.cpp:732
#25 0x0000003eb55cb882 in QCoreApplication::sendEvent (receiver=<value optimized out>, event=<value optimized out>, alienWidget=<value optimized out>, nativeWidget=<value optimized out>, 
    buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#26 QApplicationPrivate::sendMouseEvent (receiver=<value optimized out>, event=<value optimized out>, alienWidget=<value optimized out>, nativeWidget=<value optimized out>, 
    buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=) at kernel/qapplication.cpp:3105
#27 0x0000003eb564ff94 in QETWidget::translateMouseEvent (this=<value optimized out>, event=<value optimized out>) at kernel/qapplication_x11.cpp:4438
#28 0x0000003eb564ef8a in QApplication::x11ProcessEvent (this=<value optimized out>, event=<value optimized out>) at kernel/qapplication_x11.cpp:3564
#29 0x0000003eb5679052 in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#30 0x0000003abc83decf in g_main_dispatch (context=<value optimized out>) at gmain.c:1960
#31 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513
#32 0x0000003abc841d08 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#33 0x0000003abc841ebc in IA__g_main_context_iteration (context=<value optimized out>, may_block=<value optimized out>) at gmain.c:2654
#34 0x0000003eb4b985d3 in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#35 0x0000003eb56789ce in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x0000003eb4b6b342 in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149
#37 0x0000003eb4b6b724 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201
#38 0x0000003eb4b6f79b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#39 0x000000000067d0d3 in main (argc=<value optimized out>, argv=<value optimized out>) at /tmp/portage/media-gfx/digikam-1.6.0/work/digikam-1.6.0/digikam/main.cpp:213
The current source language is "auto; currently c++".
The current source language is "auto; currently asm".

Possible duplicates by query: bug 257033, bug 256050.

Reported using DrKonqi
Comment 1 Andi Clemens 2010-12-19 12:53:10 UTC
Hmm I can not confirm this, are you using any special images? Does it crash with every media type in your collection?
Comment 2 Sebastian Schubert 2010-12-20 16:12:50 UTC
Well, I just tried several other pictures, and you are right, I does not crash always. I even cannot determine the unique property of the pictures causing the crash. Nonetheless, the ones which make dk to crash, do it always. Do you want me to send you the pics per pm?
Comment 3 Marcel Wiesweg 2010-12-20 16:35:18 UTC
If you create a test image with exactly the same tags as a picture causing the crash, does it crash then as well?
Comment 4 Nico Kruber 2011-02-20 19:38:07 UTC
Created attachment 57400 [details]
New crash information added by DrKonqi

digikam (1.8.0) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1

bug is still present in 1.8.0...
(backtrace attached)

-- Backtrace (Reduced):
#6  QModelIndex (this=0x377df10, source_parent=<value optimized out>) at ../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModelPrivate::filter_changed (this=0x377df10, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1040
#8  0x00007f0ac9bf019d in QSortFilterProxyModelPrivate::filter_changed (this=0x377df10, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#9  0x00007f0ac9bf019d in QSortFilterProxyModelPrivate::filter_changed (this=0x377df10, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#10 0x00007f0ac9bf0271 in QSortFilterProxyModel::invalidateFilter (this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:2357
Comment 5 Marcel Wiesweg 2011-04-24 15:37:20 UTC
Reproducable with a 2.0 version? I played around a bit with this button recently, fixing a bug, but never got a crash.
Comment 6 caulier.gilles 2011-04-24 19:30:14 UTC
Same for me. 2.0.0 do not crash with this function...

Gilles Caulier
Comment 7 Sebastian Schubert 2011-04-27 19:28:37 UTC
I cannot reproduce it anymore with 

Version 1.9.0
Using KDE Development Platform 4.6.2 (4.6.2)

so I'd tend to mark this resolved (maybe Nico should check).
Comment 8 caulier.gilles 2011-04-27 21:10:48 UTC
Nico,

Can you check if problem is solved using 1.9.0 as Sebastian said in #7

Thanks in advance

Gilles Caulier
Comment 9 Nico Kruber 2011-05-06 00:34:39 UTC
Created attachment 59674 [details]
image1 to reproduce the bug

the problem still persists - but tis time I got to experiment with it a bit more - I imported all my metadata onto the KDE logo - please use the attached image and the next one to reproduce the bug

it is important, that "foobar" (tagged in the 2nd image) is in the 2nd level, i.e. inside "Leute/Freunde" to trigger this bug - if it is just in "Leute", the bug does not appear.
Comment 10 Nico Kruber 2011-05-06 00:35:03 UTC
Created attachment 59675 [details]
image2 to reproduce the bug
Comment 11 Nico Kruber 2011-05-06 00:37:05 UTC
Created attachment 59677 [details]
crashlog with the two supplied images

PS: the bug is always reproducible for me with these two images
Comment 12 caulier.gilles 2011-05-06 07:02:11 UTC
Thread 1 (Thread 0x7fb408d027c0 (LWP 14117)):
[KCrash Handler]
#6  QModelIndex (this=0x1958120, source_parent=<value optimized out>) at ../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModelPrivate::filter_changed (this=0x1958120, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1040
#8  0x00007fb40388ad3d in QSortFilterProxyModelPrivate::filter_changed (this=0x1958120, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#9  0x00007fb40388ad3d in QSortFilterProxyModelPrivate::filter_changed (this=0x1958120, source_parent=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1045
#10 0x00007fb40388ae11 in QSortFilterProxyModel::invalidateFilter (this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:2357
#11 0x0000000000537c5d in Digikam::CheckableAlbumFilterModel::setFilterPartiallyChecked (this=0x19580e0, filter=<value optimized out>) at /usr/src/debug/digikam-1.9.0/libs/models/albumfiltermodel.cpp:308
#12 0x00000000004976fc in Digikam::ImageDescEditTab::slotAssignedTagsToggled (this=0x18d6b70, t=false) at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagedescedittab.cpp:1136
#13 0x000000000049bb0a in Digikam::ImageDescEditTab::qt_metacall (this=0x18d6b70, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff9384b400) at /usr/src/debug/digikam-1.9.0/build/digikam/imagedescedittab.moc:148
#14 0x00007fb4041bca5f in QMetaObject::activate (sender=0x1aceaf0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff9384b400) at kernel/qobject.cpp:3278
#15 0x00007fb4039655e2 in QAbstractButton::toggled (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:213
#16 0x00007fb4036ad803 in QAbstractButton::setChecked (this=0x1aceaf0, checked=false) at widgets/qabstractbutton.cpp:766
#17 0x00007fb4036ad49a in QAbstractButtonPrivate::click (this=0x1aceb20) at widgets/qabstractbutton.cpp:528
#18 0x00007fb4036ad74c in QAbstractButton::mouseReleaseEvent (this=0x1aceaf0, e=0x7fff9384bda0) at widgets/qabstractbutton.cpp:1121
#19 0x00007fb403769c3a in QToolButton::mouseReleaseEvent (this=<value optimized out>, e=<value optimized out>) at widgets/qtoolbutton.cpp:721
#20 0x00007fb403349c5c in QWidget::event (this=0x1aceaf0, event=0x7fff9384bda0) at kernel/qwidget.cpp:8259
#21 0x00007fb4032f8144 in QApplicationPrivate::notify_helper (this=0xad15b0, receiver=0x1aceaf0, e=0x7fff9384bda0) at kernel/qapplication.cpp:4462
#22 0x00007fb403300f7c in QApplication::notify (this=<value optimized out>, receiver=0x1aceaf0, e=0x7fff9384bda0) at kernel/qapplication.cpp:4023
#23 0x00007fb404b0ad46 in KApplication::notify (this=0x7fff9384cbf0, receiver=0x1aceaf0, event=0x7fff9384bda0) at /usr/src/debug/kdelibs-4.6.2/kdeui/kernel/kapplication.cpp:311
#24 0x00007fb4041a847c in QCoreApplication::notifyInternal (this=0x7fff9384cbf0, receiver=0x1aceaf0, event=0x7fff9384bda0) at kernel/qcoreapplication.cpp:731
#25 0x00007fb4032f9155 in sendEvent (receiver=0x1aceaf0, event=0x7fff9384bda0, alienWidget=0x1aceaf0, nativeWidget=0x18d6b70, buttonDown=0x7fb403dca198, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:215
#26 QApplicationPrivate::sendMouseEvent (receiver=0x1aceaf0, event=0x7fff9384bda0, alienWidget=0x1aceaf0, nativeWidget=0x18d6b70, buttonDown=0x7fb403dca198, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#27 0x00007fb403377b48 in QETWidget::translateMouseEvent (this=0x18d6b70, event=<value optimized out>) at kernel/qapplication_x11.cpp:4461
#28 0x00007fb403376209 in QApplication::x11ProcessEvent (this=0x7fff9384cbf0, event=0x7fff9384c700) at kernel/qapplication_x11.cpp:3587
#29 0x00007fb40339df12 in x11EventSourceDispatch (s=0xad5270, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#30 0x00007fb3fa9ebbd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#31 0x00007fb3fa9ec3b0 in ?? () from /lib64/libglib-2.0.so.0
#32 0x00007fb3fa9ec650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#33 0x00007fb4041d322f in QEventDispatcherGlib::processEvents (this=0xa66150, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#34 0x00007fb40339dbae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007fb4041a78d2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#36 0x00007fb4041a7ae5 in QEventLoop::exec (this=0x7fff9384ca20, flags=...) at kernel/qeventloop.cpp:201
#37 0x00007fb4041abf2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#38 0x000000000062bf65 in main (argc=11326208, argv=0x7fff9384d300) at /usr/src/debug/digikam-1.9.0/digikam/main.cpp:216

I see this crash in another place... I think...

Gilles Caulier
Comment 13 Marcel Wiesweg 2011-05-13 22:28:04 UTC
Gilles, I see you have reproduced this with 1.9.0.
What about 2.0? I didn't manage to crash it here.
Comment 14 caulier.gilles 2011-05-14 05:26:20 UTC
Marcel,

I cannot reproduce the crash with 2.0.0...

Gilles
Comment 15 caulier.gilles 2011-07-06 11:00:41 UTC
We need feedback using a recent version. 2.0.0 RC is out, please test...

Thanks in advance

Gilles Caulier
Comment 16 Marcel Wiesweg 2011-09-25 13:46:24 UTC
Any news with a recent 2.x version?
Comment 17 caulier.gilles 2011-11-03 12:41:49 UTC
digiKam 2.2.0 is out since few weeks. Crash still valid with this version ?

Gilles Caulier
Comment 18 caulier.gilles 2015-06-26 14:02:54 UTC
digiKam 4.11.0 is out.

Problem still reproducible ?

Gilles Caulier
Comment 19 caulier.gilles 2015-08-24 05:14:22 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 20 caulier.gilles 2016-07-15 21:12:45 UTC
With digiKam 5.0.0, this problem is not reproducible.
I close this file now. Don't hesitate to re-open if necessary.
Gilles Caulier