Application: digikam (1.3.0) KDE Platform Version: 4.5.00 (KDE 4.5.0) Qt Version: 4.6.3 Operating System: Linux 2.6.34-12-desktop x86_64 Distribution: "openSUSE 11.3 (x86_64)" -- Information about the crash: - What I was doing when the application crashed: I was assigning tags to a large collection of photos. I initiated the rotation of two photos. It was very slow. I jumped to check system monitor information. virtuoso taking the most of CPU, 9% at that moment. Digikam taking most of my 4gb memory. All of sudden digikam crash message popped up. -- Backtrace: Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0x7f3ea74c87c0 (LWP 6022))] Thread 16 (Thread 0x7f3e8fbf1710 (LWP 6023)): #0 0x00007f3e9ee6a39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3ea27992bb in wait (this=<value optimized out>, mutex=0xc547c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0xc547c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00000000006aa43d in Digikam::ScanController::run (this=0xc614f0) at /usr/src/debug/digikam-1.3.0/digikam/scancontroller.cpp:516 #4 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0xc614f0) at thread/qthread_unix.cpp:248 #5 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #6 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #7 0x0000000000000000 in ?? () Thread 15 (Thread 0x7f3e8f3f0710 (LWP 6026)): #0 0x00007f3ea0e2b6b3 in poll () from /lib64/libc.so.6 #1 0x00007f3e999a8fd4 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0xd202c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #4 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e8f3efdc0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0xd485e0) at thread/qthread_unix.cpp:248 #8 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #9 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #10 0x0000000000000000 in ?? () Thread 14 (Thread 0x7f3e8e9e2710 (LWP 6027)): #0 0x00007f3e999a7f52 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f3e999a8e69 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0xcb6340, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #4 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e8e9e1dc0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0xcb6430) at thread/qthread_unix.cpp:248 #8 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #9 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #10 0x0000000000000000 in ?? () Thread 13 (Thread 0x7f3e8df17710 (LWP 6028)): #0 0x00007f3e9ee6a39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3ea27992bb in wait (this=<value optimized out>, mutex=0x188cd28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x188cd28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f3ea49bc1f8 in Digikam::ParkingThread::run (this=0x188cd10) at /usr/src/debug/digikam-1.3.0/libs/threads/threadmanager.cpp:101 #4 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x188cd10) at thread/qthread_unix.cpp:248 #5 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #6 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #7 0x0000000000000000 in ?? () Thread 12 (Thread 0x7f3e8d716710 (LWP 6029)): #0 0x00007f3e999a8f5f in ?? () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0xd306a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #3 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #4 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e8d715dc0, flags=...) at kernel/qeventloop.cpp:201 #5 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #6 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0xd2ad20) at thread/qthread_unix.cpp:248 #7 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #8 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #9 0x0000000000000000 in ?? () Thread 11 (Thread 0x7f3e8cf15710 (LWP 6030)): #0 0x00007f3e9ee680b4 in pthread_mutex_lock () from /lib64/libpthread.so.0 #1 0x00007f3e999a90a2 in ?? () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0xd21c10, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #4 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e8cf14dc0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #7 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0xd4fbd0) at thread/qthread_unix.cpp:248 #8 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #9 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #10 0x0000000000000000 in ?? () Thread 10 (Thread 0x7f3e80064710 (LWP 6032)): #0 0x00007f3e9ee6a709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3e85cad951 in metronom_sync_loop () from /usr/lib64/libxine.so.1 #2 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #3 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 9 (Thread 0x7f3e7ec27710 (LWP 6033)): #0 0x00007f3e9ee6a709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3e85cbb98f in video_out_loop () from /usr/lib64/libxine.so.1 #2 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #3 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 8 (Thread 0x7f3e7e426710 (LWP 6034)): #0 0x00007f3e999d10a9 in g_thread_self () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f3e999a74e0 in g_main_context_acquire () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3e999a8de5 in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0x19f2580, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #5 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #6 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e7e425d70, flags=...) at kernel/qeventloop.cpp:201 #7 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #8 0x00007f3e85f0b3b4 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #9 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x19f1f60) at thread/qthread_unix.cpp:248 #10 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #11 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #12 0x0000000000000000 in ?? () Thread 7 (Thread 0x7f3e7da1b710 (LWP 6037)): #0 0x00007f3ea0e2b6b3 in poll () from /lib64/libc.so.6 #1 0x00007f3e7da209d7 in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.29/xineplug_ao_out_alsa.so #2 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #3 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f3e7d21a710 (LWP 6038)): #0 0x00007f3e9ee6a39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3e85cbf96b in ao_loop () from /usr/lib64/libxine.so.1 #2 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #3 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #4 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f3e7ca19710 (LWP 6039)): #0 end (this=0x1f63b30, tm=...) at ../../src/corelib/tools/qlist.h:94 #1 constEnd (this=0x1f63b30, tm=...) at ../../src/corelib/tools/qlist.h:253 #2 QTimerInfoList::timerWait (this=0x1f63b30, tm=...) at kernel/qeventdispatcher_unix.cpp:448 #3 0x00007f3ea28a7f0c in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f3e7ca18bec) at kernel/qeventdispatcher_glib.cpp:136 #4 0x00007f3ea28a7fb5 in timerSourcePrepare (source=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #5 0x00007f3e999a7f7f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #6 0x00007f3e999a8e69 in ?? () from /usr/lib64/libglib-2.0.so.0 #7 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #8 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0x1f61f70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #9 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #10 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e7ca18d80, flags=...) at kernel/qeventloop.cpp:201 #11 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #12 0x00007f3ea2861458 in QInotifyFileSystemWatcherEngine::run (this=0x1f61a30) at io/qfilesystemwatcher_inotify.cpp:248 #13 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x1f61a30) at thread/qthread_unix.cpp:248 #14 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #15 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #16 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f3e7a146710 (LWP 6046)): #0 0x00007f3e9ee6968e in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0 #1 0x00007f3e999a8920 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3e999a9270 in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0x26e5300, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #5 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #6 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e7a145d80, flags=...) at kernel/qeventloop.cpp:201 #7 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #8 0x00007f3ea2861458 in QInotifyFileSystemWatcherEngine::run (this=0x26e7a00) at io/qfilesystemwatcher_inotify.cpp:248 #9 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x26e7a00) at thread/qthread_unix.cpp:248 #10 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #11 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #12 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f3e7693f710 (LWP 6085)): #0 0x00007f3e999a8da1 in ?? () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f3ea28a86d6 in QEventDispatcherGlib::processEvents (this=0x7b56f90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #3 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #4 0x00007f3ea287f495 in QEventLoop::exec (this=0x7f3e7693ed80, flags=...) at kernel/qeventloop.cpp:201 #5 0x00007f3ea27962cf in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #6 0x00007f3ea2861458 in QInotifyFileSystemWatcherEngine::run (this=0x7b56180) at io/qfilesystemwatcher_inotify.cpp:248 #7 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x7b56180) at thread/qthread_unix.cpp:248 #8 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #9 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #10 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f3e77941710 (LWP 6114)): [KCrash Handler] #6 0x00007f3e9ff4fd88 in ycc_rgb_convert (cinfo=<value optimized out>, input_buf=0xabf0230, input_row=1, output_buf=0x7f3e779401e0, num_rows=-1) at jdcolor.c:149 #7 0x00007f3e9ff587bc in sep_upsample (cinfo=0x7f3e779401f0, input_buf=<value optimized out>, in_row_group_ctr=0xabf0974, in_row_groups_avail=<value optimized out>, output_buf=0x7f3e779401d8, out_row_ctr=0x7f3e7794013c, out_rows_avail=<value optimized out>) at jdsample.c:129 #8 0x00007f3e9ff541d4 in process_data_simple_main (cinfo=0x7f3e779401f0, output_buf=0x7f3e779401d8, out_row_ctr=0x7f3e7794013c, out_rows_avail=<value optimized out>) at jdmainct.c:367 #9 0x00007f3e9ff4c902 in jpeg_read_scanlines (cinfo=0x7f3e779401f0, scanlines=0x7f3e779401d8, max_lines=1) at jdapistd.c:173 #10 0x00007f3ea497b08e in Digikam::loadJPEGScaled (image=..., path=<value optimized out>, maximumSize=256) at /usr/src/debug/digikam-1.3.0/libs/jpegutils/jpegutils.cpp:223 #11 0x00007f3ea499850a in Digikam::ThumbnailCreator::createThumbnail (this=0xce7b30, info=<value optimized out>) at /usr/src/debug/digikam-1.3.0/libs/threadimageio/thumbnailcreator.cpp:324 #12 0x00007f3ea4998d2d in Digikam::ThumbnailCreator::load (this=0xce7b30, path=...) at /usr/src/debug/digikam-1.3.0/libs/threadimageio/thumbnailcreator.cpp:195 #13 0x00007f3ea49a126b in Digikam::ThumbnailLoadingTask::execute (this=0x69e7620) at /usr/src/debug/digikam-1.3.0/libs/threadimageio/thumbnailtask.cpp:133 #14 0x00007f3ea4980596 in Digikam::LoadSaveThread::run (this=0xcf1270) at /usr/src/debug/digikam-1.3.0/libs/threadimageio/loadsavethread.cpp:127 #15 0x00007f3ea49bd0a6 in Digikam::DynamicThreadPriv::run (this=0xcb32a0) at /usr/src/debug/digikam-1.3.0/libs/threads/dynamicthread.cpp:237 #16 0x00007f3ea278f035 in QThreadPoolThread::run (this=0x3eb6560) at concurrent/qthreadpool.cpp:106 #17 0x00007f3ea2798bf5 in QThreadPrivate::start (arg=0x3eb6560) at thread/qthread_unix.cpp:248 #18 0x00007f3e9ee65a4f in start_thread () from /lib64/libpthread.so.0 #19 0x00007f3ea0e3482d in clone () from /lib64/libc.so.6 #20 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f3ea74c87c0 (LWP 6022)): #0 0x00007f3e9ee6a709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f3ea27989b5 in thread_sleep (ti=0x7fff4edbd260) at thread/qthread_unix.cpp:398 #2 0x00007f3ea2798b20 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:424 #3 0x00007f3e85f215c2 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #4 0x00007f3e85f216d9 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so #5 0x00007f3ea6e77cc7 in ?? () from /usr/lib64/libphonon.so.4 #6 0x00007f3ea6e77e09 in ?? () from /usr/lib64/libphonon.so.4 #7 0x00007f3ea0d994e1 in __run_exit_handlers () from /lib64/libc.so.6 #8 0x00007f3ea0d99535 in exit () from /lib64/libc.so.6 #9 0x00007f3ea1a64cb8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:744 #10 0x00007f3ea3199068 in KApplication::xioErrhandler (this=0x7fff4edbd820, dpy=0xa91f10) at /usr/src/debug/kdelibs-4.5.0/kdeui/kernel/kapplication.cpp:416 #11 0x00007f3e9f5f9a3e in _XIOError () from /usr/lib64/libX11.so.6 #12 0x00007f3e9f6005a5 in ?? () from /usr/lib64/libX11.so.6 #13 0x00007f3e9f60090c in _XEventsQueued () from /usr/lib64/libX11.so.6 #14 0x00007f3e9f5e97ef in XEventsQueued () from /usr/lib64/libX11.so.6 #15 0x00007f3ea1a9bfec in x11EventSourceCheck (s=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:85 #16 0x00007f3e999a8718 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0 #17 0x00007f3e999a8ff2 in ?? () from /usr/lib64/libglib-2.0.so.0 #18 0x00007f3e999a9510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #19 0x00007f3ea28a867f in QEventDispatcherGlib::processEvents (this=0xa4d000, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #20 0x00007f3ea1a9c14e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #21 0x00007f3ea287f292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #22 0x00007f3ea287f495 in QEventLoop::exec (this=0x7fff4edbd660, flags=...) at kernel/qeventloop.cpp:201 #23 0x00007f3ea288388b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003 #24 0x00000000007139c5 in main (argc=11036160, argv=0x7fff4edbdf00) at /usr/src/debug/digikam-1.3.0/digikam/main.cpp:195 Reported using DrKonqi
This looks like a issue deep inside libjpeg which is used by digikam. Please report the problem to the libjpeg developers.
Thinking about this once again it may also have been cause by a memory leak that existed in 1.3. Marcel, what do you think?
Happens in libjpeg when loading a file for thumbnailing. For a memory leak, out of memory, I would expect a failed new or malloc() call, this really looks like a plain invalid memory access. Heikki, can you reproduce? Do you know which file was causing this? It is probably a JPEG file, and the filename was probably printed on the console before the crash occurred.
Hi Marcel, Sorry, I am afraid I cannot give any useful details. Some backgroud: I had copied nearly 30000 photos in my new computer. I asked digikam show me the main album with all its subalbums in the thumbnail view. Because I did not copy the old thumbnails database, digikam was creating new thumbnails to all the photos. Quite a long time before the crash I noticed that at least one of the thumbnails was incorrect. I could not recognise the thumbnail. Maybe it was a small part of the photo or something else. Because the photo was not too interesting, I deleted the photo. What I want to tell is that I had been all kind of things with a large collection of photos and may have corrupted some of them. In the evening I can delete the thumbnails database and make digikam recreate it. If it crashes again, then we have something.