Bug 255852 - digikam crashed when browsing/rating images
Summary: digikam crashed when browsing/rating images
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Preview-Image (show other bugs)
Version: 1.5.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-02 07:07 UTC by Oldřich Jedlička
Modified: 2012-06-27 10:35 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.8.0


Attachments
New crash information added by DrKonqi (18.90 KB, text/plain)
2010-11-04 23:00 UTC, Thomas Rast
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oldřich Jedlička 2010-11-02 07:07:51 UTC
Application: digikam (1.5.0)
KDE Platform Version: 4.5.2 (KDE 4.5.2)
Qt Version: 4.6.3
Operating System: Linux 2.6.36-drm+ i686
Distribution (Platform): Gentoo Packages

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

We were using the "View" mode to browse images and rate them. The application suddenly crashed. Note that the application stores the rating information in the file.

Digikam was compiled from SVN (from Gentoo package) on 18.9.2010 so I don't know if it still applies, the stack trace looks like a race condition.

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

Thread 15 (Thread 0xaf7f5b70 (LWP 29762)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb43653bc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb48fd66d in __pthread_cond_wait (cond=0x88b3988, mutex=0x88b3970) at forward.c:139
#3  0xb4bd86d5 in QWaitConditionPrivate::wait (this=0x8914110, mutex=0x891410c, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8914110, mutex=0x891410c, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0x083223fc in Digikam::ScanController::run (this=0x88b43e0) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/digikam/scancontroller.cpp:515
#6  0xb4bd761d in QThreadPrivate::start (arg=0x88b43e0) at thread/qthread_unix.cpp:248
#7  0xb4360c62 in start_thread (arg=0xaf7f5b70) at pthread_create.c:301
#8  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 14 (Thread 0xaeff4b70 (LWP 29773)):
#0  0xb43646d4 in __pthread_mutex_unlock_usercnt (mutex=0x8abe314, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0xb48fd876 in pthread_mutex_unlock (mutex=0x8abe314) at forward.c:184
#2  0xb40fb4ef in IA__g_main_context_iteration (context=0x8abe310, may_block=1) at gmain.c:2655
#3  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x8abe290, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#4  0xb4cdc11c in QEventLoop::processEvents (this=0xaeff42d0, flags=...) at kernel/qeventloop.cpp:149
#5  0xb4cdc507 in QEventLoop::exec (this=0xaeff42d0, flags=...) at kernel/qeventloop.cpp:201
#6  0xb4bd52c3 in QThread::exec (this=0x8abd580) at thread/qthread.cpp:487
#7  0xb662b7e4 in Digikam::ImageFilterModelWorker::Thread::run (this=0x8abd580)
    at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999_build/digikam/../../digikam-9999/libs/models/imagefiltermodelthreads.h:66
#8  0xb4bd761d in QThreadPrivate::start (arg=0x8abd580) at thread/qthread_unix.cpp:248
#9  0xb4360c62 in start_thread (arg=0xaeff4b70) at pthread_create.c:301
#10 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 13 (Thread 0xae2ffb70 (LWP 29774)):
#0  0xb4d0ae3c in timerSourceCheckHelper (src=0x8ac0a40) at kernel/qeventdispatcher_glib.cpp:144
#1  0xb40fa92b in IA__g_main_context_check (context=0x8abf528, max_priority=2147483647, fds=0x8ac0b90, n_fds=1) at gmain.c:2469
#2  0xb40fb26c in g_main_context_iterate (context=0x8abf528, block=1, dispatch=1, self=0x8ac0b68) at gmain.c:2588
#3  0xb40fb4c9 in IA__g_main_context_iteration (context=0x8abf528, may_block=1) at gmain.c:2654
#4  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x8abf4a8, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#5  0xb4cdc11c in QEventLoop::processEvents (this=0xae2ff2d0, flags=...) at kernel/qeventloop.cpp:149
#6  0xb4cdc507 in QEventLoop::exec (this=0xae2ff2d0, flags=...) at kernel/qeventloop.cpp:201
#7  0xb4bd52c3 in QThread::exec (this=0x8abdfd8) at thread/qthread.cpp:487
#8  0xb662b7e4 in Digikam::ImageFilterModelWorker::Thread::run (this=0x8abdfd8)
    at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999_build/digikam/../../digikam-9999/libs/models/imagefiltermodelthreads.h:66
#9  0xb4bd761d in QThreadPrivate::start (arg=0x8abdfd8) at thread/qthread_unix.cpp:248
#10 0xb4360c62 in start_thread (arg=0xae2ffb70) at pthread_create.c:301
#11 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
The current source language is "auto; currently c".

Thread 12 (Thread 0xada71b70 (LWP 29775)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb43653bc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb48fd66d in __pthread_cond_wait (cond=0x8b13f38, mutex=0x8b13f20) at forward.c:139
#3  0xb4bd86d5 in QWaitConditionPrivate::wait (this=0x8ac3cc0, mutex=0x8ac3cbc, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8ac3cc0, mutex=0x8ac3cbc, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb691523b in Digikam::ParkingThread::run (this=0x8ac3cb0) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/threads/threadmanager.cpp:101
#6  0xb4bd761d in QThreadPrivate::start (arg=0x8ac3cb0) at thread/qthread_unix.cpp:248
#7  0xb4360c62 in start_thread (arg=0xada71b70) at pthread_create.c:301
#8  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
The current source language is "auto; currently c++".

Thread 11 (Thread 0xad270b70 (LWP 29776)):
#0  QEventDispatcherGlib::processEvents (this=0x8b1b978, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#1  0xb4cdc11c in QEventLoop::processEvents (this=0xad2702e0, flags=...) at kernel/qeventloop.cpp:149
#2  0xb4cdc507 in QEventLoop::exec (this=0xad2702e0, flags=...) at kernel/qeventloop.cpp:201
#3  0xb4bd52c3 in QThread::exec (this=0x8b199f0) at thread/qthread.cpp:487
#4  0xb4bd761d in QThreadPrivate::start (arg=0x8b199f0) at thread/qthread_unix.cpp:248
#5  0xb4360c62 in start_thread (arg=0xad270b70) at pthread_create.c:301
#6  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 10 (Thread 0xaca6fb70 (LWP 29777)):
#0  0xb43646d4 in __pthread_mutex_unlock_usercnt (mutex=0x8b1f0fc, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0xb48fd876 in pthread_mutex_unlock (mutex=0x8b1f0fc) at forward.c:184
#2  0xb40fa8e2 in IA__g_main_context_check (context=0x8b1f0f8, max_priority=2147483647, fds=0x8b1c298, n_fds=1) at gmain.c:2495
#3  0xb40fb26c in g_main_context_iterate (context=0x8b1f0f8, block=1, dispatch=1, self=0x8b1cd78) at gmain.c:2588
#4  0xb40fb4c9 in IA__g_main_context_iteration (context=0x8b1f0f8, may_block=1) at gmain.c:2654
#5  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x8b1cda0, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#6  0xb4cdc11c in QEventLoop::processEvents (this=0xaca6f2e0, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4cdc507 in QEventLoop::exec (this=0xaca6f2e0, flags=...) at kernel/qeventloop.cpp:201
#8  0xb4bd52c3 in QThread::exec (this=0x8b1ac40) at thread/qthread.cpp:487
#9  0xb4bd761d in QThreadPrivate::start (arg=0x8b1ac40) at thread/qthread_unix.cpp:248
#10 0xb4360c62 in start_thread (arg=0xaca6fb70) at pthread_create.c:301
#11 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 9 (Thread 0xa512fb70 (LWP 29779)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb4365764 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:236
#2  0xb48fd6c4 in __pthread_cond_timedwait (cond=0x8c64f88, mutex=0x8c64f70, abstime=0xa512f2fc) at forward.c:152
#3  0xaa1acf05 in metronom_sync_loop (this=0x8c64f28) at metronom.c:870
#4  0xb4360c62 in start_thread (arg=0xa512fb70) at pthread_create.c:301
#5  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
The current source language is "auto; currently c".

Thread 8 (Thread 0xa4523b70 (LWP 29780)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb48e95b1 in select () at ../sysdeps/unix/syscall-template.S:82
#2  0xaa1d4148 in xine_usec_sleep (usec=1000) at utils.c:481
#3  0xaa1b9d6d in video_out_loop (this_gen=0x8c6cb60) at video_out.c:1246
#4  0xb4360c62 in start_thread (arg=0xa4523b70) at pthread_create.c:301
#5  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 7 (Thread 0xa3d22b70 (LWP 29781)):
#0  0xb41b7276 in *__GI_clock_gettime (clock_id=1, tp=0xa3d2207c) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb4d08046 in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0xb4d0cba6 in QTimerInfoList::updateCurrentTime (this=0x907b574) at kernel/qeventdispatcher_unix.cpp:340
#3  0xb4d0ce42 in QTimerInfoList::timerWait (this=0x907b574, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0xb4d0afb0 in timerSourcePrepareHelper (src=0xa3d2207c, timeout=0xa3d22138) at kernel/qeventdispatcher_glib.cpp:136
#5  0xb40fabf8 in IA__g_main_context_prepare (context=0x907a018, priority=0xa3d221a8) at gmain.c:2280
#6  0xb40fafb5 in g_main_context_iterate (context=0x907a018, block=1, dispatch=1, self=0x907b7c8) at gmain.c:2571
#7  0xb40fb4c9 in IA__g_main_context_iteration (context=0x907a018, may_block=1) at gmain.c:2654
#8  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x9079f98, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#9  0xb4cdc11c in QEventLoop::processEvents (this=0xa3d22280, flags=...) at kernel/qeventloop.cpp:149
#10 0xb4cdc507 in QEventLoop::exec (this=0xa3d22280, flags=...) at kernel/qeventloop.cpp:201
#11 0xb4bd52c3 in QThread::exec (this=0x9079bb0) at thread/qthread.cpp:487
#12 0xae4290e8 in Phonon::Xine::XineThread::run (this=0x9079bb0) at /mnt/data/tmp/portage/media-sound/phonon-9999/work/phonon-9999/xine/xinethread.cpp:143
#13 0xb4bd761d in QThreadPrivate::start (arg=0x9079bb0) at thread/qthread_unix.cpp:248
#14 0xb4360c62 in start_thread (arg=0xa3d22b70) at pthread_create.c:301
#15 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 6 (Thread 0xa351bb70 (LWP 29782)):
#0  __libc_disable_asynccancel (oldtype=<value optimized out>) at ../nptl/cancellation.c:83
#1  0xb48e5f68 in *__GI___poll (fds=0x907c048, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:89
#2  0xb4776ee1 in poll_func (ufds=0x907c048, nfds=2, timeout=-1, userdata=0xae65d9b0) at pulse/thread-mainloop.c:75
#3  0xb4764313 in pa_mainloop_poll (m=0xae6156c8) at pulse/mainloop.c:879
#4  0xb4765a33 in pa_mainloop_iterate (m=0xae6156c8, block=1, retval=0x0) at pulse/mainloop.c:961
#5  0xb4765af9 in pa_mainloop_run (m=0xae6156c8, retval=0x0) at pulse/mainloop.c:979
#6  0xb4776cb4 in thread (userdata=0xae650aa0) at pulse/thread-mainloop.c:94
#7  0xb258a62e in internal_thread_func (userdata=0xae6157d8) at pulsecore/thread-posix.c:72
#8  0xb4360c62 in start_thread (arg=0xa351bb70) at pthread_create.c:301
#9  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 5 (Thread 0x9ebffb70 (LWP 29783)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb43653bc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb48fd66d in __pthread_cond_wait (cond=0xae642eb0, mutex=0xae642e98) at forward.c:139
#3  0xaa1bb571 in fifo_peek_int (fifo=0xae642e90, blocking=1) at audio_out.c:348
#4  0xaa1bd02a in fifo_peek (this_gen=0xae3761c8) at audio_out.c:388
#5  ao_loop (this_gen=0xae3761c8) at audio_out.c:1015
#6  0xb4360c62 in start_thread (arg=0x9ebffb70) at pthread_create.c:301
#7  0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 4 (Thread 0x9e3feb70 (LWP 29784)):
#0  0xb4366349 in __pthread_getspecific (key=2) at pthread_getspecific.c:67
#1  0xb41bde3c in g_private_get_posix_impl (private_key=0x87cdc88) at gthread-posix.c:290
#2  0xb411eaba in IA__g_thread_self () at gthread.c:2109
#3  0xb40f96d2 in IA__g_main_context_acquire (context=0x9155da8) at gmain.c:2042
#4  0xb40faf0c in g_main_context_iterate (context=0x9155da8, block=1, dispatch=1, self=0x9158b58) at gmain.c:2535
#5  0xb40fb4c9 in IA__g_main_context_iteration (context=0x9155da8, may_block=1) at gmain.c:2654
#6  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x9159428, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#7  0xb4cdc11c in QEventLoop::processEvents (this=0x9e3fe290, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4cdc507 in QEventLoop::exec (this=0x9e3fe290, flags=...) at kernel/qeventloop.cpp:201
#9  0xb4bd52c3 in QThread::exec (this=0x9158b38) at thread/qthread.cpp:487
#10 0xb4cb9b4c in QInotifyFileSystemWatcherEngine::run (this=0x9158b38) at io/qfilesystemwatcher_inotify.cpp:248
#11 0xb4bd761d in QThreadPrivate::start (arg=0x9158b38) at thread/qthread_unix.cpp:248
#12 0xb4360c62 in start_thread (arg=0x9e3feb70) at pthread_create.c:301
#13 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 3 (Thread 0x9da5bb70 (LWP 29792)):
#0  0xb41b7276 in *__GI_clock_gettime (clock_id=1, tp=0x9da5b06c) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb4d08046 in qt_gettime () at kernel/qcore_unix.cpp:111
#2  0xb4d0cba6 in QTimerInfoList::updateCurrentTime (this=0x958a3dc) at kernel/qeventdispatcher_unix.cpp:340
#3  0xb4d0ce42 in QTimerInfoList::timerWait (this=0x958a3dc, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#4  0xb4d0afb0 in timerSourcePrepareHelper (src=0x9da5b06c, timeout=0x9da5b148) at kernel/qeventdispatcher_glib.cpp:136
#5  0xb4d0b03b in timerSourcePrepare (source=0x9da5b06c, timeout=0xb41baff4) at kernel/qeventdispatcher_glib.cpp:169
#6  0xb40fabf8 in IA__g_main_context_prepare (context=0x9594500, priority=0x9da5b1b8) at gmain.c:2280
#7  0xb40fafb5 in g_main_context_iterate (context=0x9594500, block=1, dispatch=1, self=0x958aaf0) at gmain.c:2571
#8  0xb40fb4c9 in IA__g_main_context_iteration (context=0x9594500, may_block=1) at gmain.c:2654
#9  0xb4d0addf in QEventDispatcherGlib::processEvents (this=0x958a458, flags=...) at kernel/qeventdispatcher_glib.cpp:414
#10 0xb4cdc11c in QEventLoop::processEvents (this=0x9da5b290, flags=...) at kernel/qeventloop.cpp:149
#11 0xb4cdc507 in QEventLoop::exec (this=0x9da5b290, flags=...) at kernel/qeventloop.cpp:201
#12 0xb4bd52c3 in QThread::exec (this=0x9589200) at thread/qthread.cpp:487
#13 0xb4cb9b4c in QInotifyFileSystemWatcherEngine::run (this=0x9589200) at io/qfilesystemwatcher_inotify.cpp:248
#14 0xb4bd761d in QThreadPrivate::start (arg=0x9589200) at thread/qthread_unix.cpp:248
#15 0xb4360c62 in start_thread (arg=0x9da5bb70) at pthread_create.c:301
#16 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 2 (Thread 0x9ca59b70 (LWP 31532)):
[KCrash Handler]
#7  0xb77e0424 in __kernel_vsyscall ()
#8  0xb484c6e1 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0xb484de22 in *__GI_abort () at abort.c:92
#10 0xb4a76a9e in __gnu_cxx::__verbose_terminate_handler () at /mnt/data/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/libstdc++-v3/libsupc++/vterminate.cc:93
#11 0xb4a74c66 in __cxxabiv1::__terminate (handler=0xb4a76960 <__gnu_cxx::__verbose_terminate_handler()>)
    at /mnt/data/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/libstdc++-v3/libsupc++/eh_terminate.cc:38
#12 0xb4a74c98 in std::terminate () at /mnt/data/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/libstdc++-v3/libsupc++/eh_terminate.cc:48
#13 0xb4a75833 in __cxa_pure_virtual () at /mnt/data/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/libstdc++-v3/libsupc++/pure.cc:50
#14 0xb68ea14d in Digikam::LoadingCache::addLoadingProcess (this=0x88cd218, process=0xa12a7e0)
    at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/threadimageio/loadingcache.cpp:151
#15 0xb68f54c4 in Digikam::PreviewLoadingTask::execute (this=0xa12a700) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/threadimageio/previewtask.cpp:147
#16 0xb68e053d in Digikam::LoadSaveThread::run (this=0xa17f558) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/threadimageio/loadsavethread.cpp:116
#17 0xb691650a in Digikam::DynamicThread::DynamicThreadPriv::run (this=0xa21ce30) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/threads/dynamicthread.cpp:240
#18 0xb4bcc62f in QThreadPoolThread::run (this=0xaef6ef8) at concurrent/qthreadpool.cpp:106
#19 0xb4bd761d in QThreadPrivate::start (arg=0xaef6ef8) at thread/qthread_unix.cpp:248
#20 0xb4360c62 in start_thread (arg=0x9ca59b70) at pthread_create.c:301
#21 0xb48f059e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Thread 1 (Thread 0xb1b22740 (LWP 29760)):
#0  0xb77e0424 in __kernel_vsyscall ()
#1  0xb48e5f56 in *__GI___poll (fds=0xb4977ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb2522307 in _xcb_conn_wait (c=0x87d6570, cond=0x87d7604, vector=0xbffe2d84, count=0xbffe2d88) at xcb_conn.c:313
#3  0xb252283e in _xcb_out_send (c=0x87d6570, vector=0xbffe2df0, count=3) at xcb_out.c:338
#4  0xb2522b82 in xcb_writev (c=0x87d6570, vector=0xbffe2df0, count=3, requests=109) at xcb_out.c:286
#5  0xb44dfe5b in _XSend (dpy=0x87dfc10, 
    data=0xc2e33a8 "\005\005\005\377\005\005\005\377\003\003\003\377\005\005\005\377\005\005\005\377\004\004\004\377\003\003\003\377\002\002\002\377\004\004\004\377\005\005\005\377\003\003\003\377\005\005\005\377\006\006\006\377\003\003\003\377\005\005\005\377\003\003\003\377\001\001\001\377\003\003\003\377\003\003\003\377\004\004\004\377\006\006\006\377\004\004\004\377\004\004\004\377\004\004\004\377\005\005\005\377\001\001\001\377\003\003\003\377\004\004\004\377\004\004\004\377\003\003\003\377\004\004\004\377\002\002\002\377\002\002\002\377\002\002\002\377\002\002\002\377\004\004\004\377\005\005\005\377\003\003\003\377\004\004\004\377\004\004\004\377\003\003\003\377\004\004\004\377\003\003\003\377\003\003\003\377\004\004\004\377\004\004\004\377\004\004\004\377\003\003\003\377\003\003\003\377\002\002\002\377"..., size=0) at xcb_io.c:428
#6  0xb44d4c90 in SendZImage (dpy=0x87dfc10, d=105222409, gc=0xaf501f8, image=0x93d65e0, req_xoffset=0, req_yoffset=0, x=<value optimized out>, y=<value optimized out>, req_width=128, 
    req_height=128, dest_bits_per_pixel=32, dest_scanline_pad=-32) at PutImage.c:802
#7  PutImageRequest (dpy=0x87dfc10, d=105222409, gc=0xaf501f8, image=0x93d65e0, req_xoffset=0, req_yoffset=0, x=<value optimized out>, y=<value optimized out>, req_width=128, req_height=128, 
    dest_bits_per_pixel=32, dest_scanline_pad=-32) at PutImage.c:870
#8  PutSubImage (dpy=0x87dfc10, d=105222409, gc=0xaf501f8, image=0x93d65e0, req_xoffset=0, req_yoffset=0, x=<value optimized out>, y=<value optimized out>, req_width=128, req_height=128, 
    dest_bits_per_pixel=32, dest_scanline_pad=-32) at PutImage.c:908
#9  0xb44d4e46 in XPutImage (dpy=0x87dfc10, d=105222409, gc=0xaf501f8, image=0x93d65e0, req_xoffset=0, req_yoffset=0, x=0, y=0, req_width=128, req_height=128) at PutImage.c:1027
#10 0xb53082a1 in QX11PixmapData::fromImage (this=0xb1960a0, img=..., flags=...) at image/qpixmap_x11.cpp:1124
#11 0xb52f0c3a in QPixmap::fromImage (image=..., flags=...) at image/qpixmap.cpp:1993
#12 0xb677f40e in Digikam::DImg::convertToPixmap (this=0xbffe5fe4) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/dimg/dimg.cpp:1536
#13 0x082fd134 in Digikam::ImagePreviewView::paintPreview (this=0x8b263f8, pix=0x1, sx=1, sy=1, sw=1, sh=1)
    at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/digikam/imagepreviewview.cpp:509
#14 0xb696458c in Digikam::PreviewWidget::viewportPaintEvent (this=0x8b263f8, e=0x0) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/widgets/common/previewwidget.cpp:566
#15 0xb6cdb8c3 in Q3ScrollView::eventFilter (this=0x8b263f8, obj=0x8b0edd8, e=0xbffe6744) at widgets/q3scrollview.cpp:1465
#16 0xb4cdd10e in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x87cda08, receiver=0x8b0edd8, event=0xbffe6744) at kernel/qcoreapplication.cpp:841
#17 0xb51f650c in QApplicationPrivate::notify_helper (this=0x87cda08, receiver=0x8b0edd8, e=0xbffe6744) at kernel/qapplication.cpp:4298
#18 0xb51fd2d1 in QApplication::notify (this=0xbffe8744, receiver=0x8b0edd8, e=0xbffe6744) at kernel/qapplication.cpp:4267
#19 0xb5db2f7c in KApplication::notify (this=0xbffe8744, receiver=0x8b0edd8, event=0xbffe6744) at /mnt/data/tmp/portage/kde-base/kdelibs-4.5.2/work/kdelibs-4.5.2/kdeui/kernel/kapplication.cpp:310
#20 0xb4cdd87d in QCoreApplication::notifyInternal (this=0xbffe8744, receiver=0x8b0edd8, event=0xbffe6744) at kernel/qcoreapplication.cpp:726
#21 0xb5260daa in QCoreApplication::sendSpontaneousEvent (this=0x8b0edf0, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#22 QWidgetPrivate::drawWidget (this=0x8b0edf0, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5363
#23 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8ad8d20, pdev=0x8a0f6ac, siblings=..., index=2, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#24 0xb526167e in QWidgetPrivate::paintSiblingsRecursive (this=0x8ad8d20, pdev=0x8a0f6ac, siblings=..., index=11, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5463
#25 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8ad8d20, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#26 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8aac370, pdev=0x8a0f6ac, siblings=..., index=9, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#27 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8aac370, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#28 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8aa5018, pdev=0x8a0f6ac, siblings=..., index=2, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#29 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8aa5018, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#30 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8a30160, pdev=0x8a0f6ac, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#31 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8a30160, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#32 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8a2d8f0, pdev=0x8a0f6ac, siblings=..., index=5, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#33 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8a2d8f0, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#34 0xb526189b in QWidgetPrivate::paintSiblingsRecursive (this=0x8a06480, pdev=0x8a0f6ac, siblings=..., index=11, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5476
#35 0xb526167e in QWidgetPrivate::paintSiblingsRecursive (this=0x8a06480, pdev=0x8a0f6ac, siblings=..., index=124, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80)
    at kernel/qwidget.cpp:5463
#36 0xb5260771 in QWidgetPrivate::drawWidget (this=0x8a06480, pdev=0x8a0f6ac, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8a04d80) at kernel/qwidget.cpp:5412
#37 0xb5452f75 in QWidgetBackingStore::sync (this=0x8a04d80) at painting/qbackingstore.cpp:1300
#38 0xb524fb8a in QWidgetPrivate::syncBackingStore (this=0x8a06480) at kernel/qwidget.cpp:1688
#39 0xb5257d08 in QWidget::event (this=0x89e9538, event=0xa2693f8) at kernel/qwidget.cpp:8337
#40 0xb56a5d92 in QMainWindow::event (this=0x89e9538, event=0xa2693f8) at widgets/qmainwindow.cpp:1414
#41 0xb5e9ad61 in KMainWindow::event (this=0x89e9538, ev=0xa2693f8) at /mnt/data/tmp/portage/kde-base/kdelibs-4.5.2/work/kdelibs-4.5.2/kdeui/widgets/kmainwindow.cpp:1100
#42 0xb5ede203 in KXmlGuiWindow::event (this=0x89e9538, ev=0xa2693f8) at /mnt/data/tmp/portage/kde-base/kdelibs-4.5.2/work/kdelibs-4.5.2/kdeui/xmlgui/kxmlguiwindow.cpp:130
#43 0xb51f651c in QApplicationPrivate::notify_helper (this=0x87cda08, receiver=0x89e9538, e=0xa2693f8) at kernel/qapplication.cpp:4302
#44 0xb51fd2d1 in QApplication::notify (this=0xbffe8744, receiver=0x89e9538, e=0xa2693f8) at kernel/qapplication.cpp:4267
#45 0xb5db2f7c in KApplication::notify (this=0xbffe8744, receiver=0x89e9538, event=0xa2693f8) at /mnt/data/tmp/portage/kde-base/kdelibs-4.5.2/work/kdelibs-4.5.2/kdeui/kernel/kapplication.cpp:310
#46 0xb4cdd87d in QCoreApplication::notifyInternal (this=0xbffe8744, receiver=0x89e9538, event=0xa2693f8) at kernel/qcoreapplication.cpp:726
#47 0xb4cde7ab in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x87a2d18) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#48 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x87a2d18) at kernel/qcoreapplication.cpp:1367
#49 0xb4cdea21 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1260
#50 0xb4d0b1ad in QCoreApplication::sendPostedEvents (s=0x87cf5a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#51 postEventSourceDispatch (s=0x87cf5a0) at kernel/qeventdispatcher_glib.cpp:276
#52 0xb40f7d44 in g_main_dispatch (context=0x87cf510) at gmain.c:1960
#53 IA__g_main_context_dispatch (context=0x87cf510) at gmain.c:2513
#54 0xb40fb2c2 in g_main_context_iterate (context=0x87cf510, block=1, dispatch=1, self=0x87cd240) at gmain.c:2591
#55 0xb40fb4c9 in IA__g_main_context_iteration (context=0x87cf510, may_block=1) at gmain.c:2654
#56 0xb4d0adc6 in QEventDispatcherGlib::processEvents (this=0x87a27c8, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#57 0xb52b889d in QGuiEventDispatcherGlib::processEvents (this=0x87a27c8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#58 0xb4cdc11c in QEventLoop::processEvents (this=0xbffe8640, flags=...) at kernel/qeventloop.cpp:149
#59 0xb4cdc507 in QEventLoop::exec (this=0xbffe8640, flags=...) at kernel/qeventloop.cpp:201
#60 0xb4cdeacc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#61 0xb51f57f1 in QApplication::exec () at kernel/qapplication.cpp:3581
#62 0x083adda6 in main (argc=3, argv=0xbffe8ba4) at /mnt/data/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/digikam/main.cpp:195

Possible duplicates by query: bug 255227, bug 255226, bug 255225, bug 247977, bug 247579.

Reported using DrKonqi
Comment 1 Oldřich Jedlička 2010-11-02 07:14:55 UTC
Important is Thread 2, which indicates a call to pure virtual function. I had simillar problem in my application and the cause is usage of already freed or freeing instance - when the destructor of implementing class is called, its virtual table gets reset.
Comment 2 caulier.gilles 2010-11-02 07:38:54 UTC
yes, in preview manager.

Marcel ?

Gilles Caulier
Comment 3 Marcel Wiesweg 2010-11-02 10:17:55 UTC
I have seen similar crash in the branch when using a preview thread in the really heavily multithreaded environment of the FacePipeline. It is probably fixed in branch.

The question is if we should backport dynamicthread.cpp from branch to trunk.
Pro: In branch, it has been put under much heavier load, bugs were discovered and fixed. Con: It contains some new code parts that did not receive a lot of testing.
Comment 4 caulier.gilles 2010-11-02 10:20:27 UTC
I'm pro to backport.

As trunk is used more than branch, it will be tested faster.

Gilles Caulier

2010/11/2 Marcel Wiesweg <marcel.wiesweg@gmx.de>:
> https://bugs.kde.org/show_bug.cgi?id=255852
>
>
>
>
>
> --- Comment #3 from Marcel Wiesweg <marcel wiesweg gmx de>  2010-11-02 10:17:55 ---
> I have seen similar crash in the branch when using a preview thread in the
> really heavily multithreaded environment of the FacePipeline. It is probably
> fixed in branch.
>
> The question is if we should backport dynamicthread.cpp from branch to trunk.
> Pro: In branch, it has been put under much heavier load, bugs were discovered
> and fixed. Con: It contains some new code parts that did not receive a lot of
> testing.
>
> --
> Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are the assignee for the bug.
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel@kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
Comment 5 Thomas Rast 2010-11-04 23:00:44 UTC
Created attachment 53147 [details]
New crash information added by DrKonqi

digikam (1.5.0) on KDE Platform 4.5.3 (KDE 4.5.3) "release 8" using Qt 4.6.3

Had a crash with apparently the same backtrace while deleting images.

This is behaviourally very similar to the bug I reported back in August(?): deleting images and navigating between them at a rather fast rate apparently confuses digikam.

-- Backtrace (Reduced):
#8  0x00007fd71df3bcdd in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:93
#9  0x00007fd71df39ef6 in __cxxabiv1::__terminate (handler=<value optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:39
#10 0x00007fd71df39f23 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:49
#11 0x00007fd71df3a87f in __cxxabiv1::__cxa_pure_virtual () at ../../../../libstdc++-v3/libsupc++/pure.cc:50
#12 0x00007fd7212e33a1 in Digikam::LoadingCache::addLoadingProcess (this=0xe44af0, process=0x7fd6e9a9fdd0) at /usr/src/debug/digikam-1.5.0/libs/threadimageio/loadingcache.cpp:151
Comment 6 caulier.gilles 2010-11-05 20:20:21 UTC
It's the same trace than this file :

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

Gilles Caulier
Comment 7 Marcel Wiesweg 2010-11-10 09:58:25 UTC
*** Bug 256481 has been marked as a duplicate of this bug. ***
Comment 8 Marcel Wiesweg 2010-11-10 10:54:50 UTC
SVN commit 1195034 by mwiesweg:

Backport thread classes from branch

CCBUG: 255852

 M  +52 -8     dynamicthread.cpp  
 M  +14 -0     dynamicthread.h  
 M  +26 -7     threadmanager.cpp  
 M  +68 -19    workerobject.cpp  
 M  +56 -8     workerobject.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1195034
Comment 9 caulier.gilles 2010-11-24 09:13:25 UTC
digiKam 1.6.0 is out:

http://www.digikam.org/drupal/node/550

Please update and check if this entry still valid.

Thanks in advance

Gilles Caulier
Comment 10 caulier.gilles 2010-12-30 22:48:35 UTC
*** Bug 261664 has been marked as a duplicate of this bug. ***
Comment 11 caulier.gilles 2010-12-30 22:49:59 UTC
digiKam 1.7.0 is out. This bug is probably fixed (in fact i never reproduce it here).

Please update and try again, else i will close this file as well...

Gilles Caulier
Comment 12 Oldřich Jedlička 2010-12-31 00:28:15 UTC
Looks like fixed, I didn't see the crash for some time now.
Comment 13 Marcel Wiesweg 2011-01-18 15:30:49 UTC
*** Bug 255256 has been marked as a duplicate of this bug. ***
Comment 14 Marcel Wiesweg 2011-01-18 15:31:18 UTC
*** Bug 255953 has been marked as a duplicate of this bug. ***