Bug 195799 - Digikam takes 100% CPU when exiting and finally crashes
Summary: Digikam takes 100% CPU when exiting and finally crashes
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Media (show other bugs)
Version: 0.10.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-09 17:30 UTC by Alphazo
Modified: 2017-07-26 05:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 1.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alphazo 2009-06-09 17:30:39 UTC
Version:           0.10.0 (using KDE 4.2.1)
OS:                Linux
Installed from:    Ubuntu Packages

After renaming some pictures, I used the exit command from the File menu. Digikam then started to used 100% CPU and system was not usable. After some time it finally ended by crashing with a segmentation fault.

Here is the log from the gdb window:
...
...
Object::connect: No such signal KIO::PreviewJob::gotPreview(const KFileItem*, const QPixmap&)
Object::connect:  (receiver name: 'RenameImagesBase')
Object::connect: No such signal KIO::PreviewJob::gotPreview(const KFileItem*, const QPixmap&)
Object::connect:  (receiver name: 'RenameImagesBase')
Object::connect: No such signal KIO::PreviewJob::gotPreview(const KFileItem*, const QPixmap&)
Object::connect:  (receiver name: 'RenameImagesBase')
Object::connect: No such signal KIO::PreviewJob::gotPreview(const KFileItem*, const QPixmap&)
Object::connect:  (receiver name: 'RenameImagesBase')
deleting all render Plugins! 
rp: 158240144 
rp: 158239320 
rp: 158306528 
rp: 158315592 
rp: 158306920 
rp: 158316144 
rp: 158266704 
Model deleted: Marble::MarbleModel(0x96e7e18) 
[Thread 0xabe39b90 (LWP 11983) exited]
[Thread 0xaaaffb90 (LWP 11984) exited]
deleting all render Plugins! 
rp: 172848736 
rp: 172850712 
rp: 172849800 
rp: 172918016 
rp: 172912272 
rp: 172847904 
rp: 172848632 
Model deleted: Marble::MarbleModel(0xa4d6f38) 
[Thread 0xb2849b90 (LWP 11738) exited]
[Thread 0xad714b90 (LWP 11754) exited]
[Thread 0xa9719b90 (LWP 11753) exited]
[Thread 0xae72db90 (LWP 11746) exited]
QImage: out of memory, returning null
QImage::scaled: Image is a null image
[Thread 0xb1be5b90 (LWP 11743) exited]
[Thread 0xacf13b90 (LWP 11772) exited]
[Thread 0xb1358b90 (LWP 11744) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb473d920 (LWP 11715)]
0xb5512df2 in ?? () from /lib/tls/i686/cmov/libc.so.6


and here are is the backtraces :
(gdb) thread apply all backtrace

Thread 52 (Thread 0xa3721b90 (LWP 12022)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb54940e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55962ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57829b2 in QWaitCondition::wait (this=0xaf6f2c0, mutex=0xaf6f2bc, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7273d4a in Digikam::LoadSaveThread::run (this=0xaf6f2b0)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb578196e in QThreadPrivate::start (arg=0xaf6f2b0)
    at thread/qthread_unix.cpp:189
#6  0xb54904ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb558749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 51 (Thread 0xac689b90 (LWP 12021)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb54940e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55962ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57829b2 in QWaitCondition::wait (this=0xae843a8, mutex=0xae843a4, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7273d4a in Digikam::LoadSaveThread::run (this=0xae84398)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb578196e in QThreadPrivate::start (arg=0xae84398)
    at thread/qthread_unix.cpp:189
#6  0xb54904ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb558749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 50 (Thread 0xa05ffb90 (LWP 12020)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb54940e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55962ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57829b2 in QWaitCondition::wait (this=0xb6e41f8, mutex=0xb6e41f4, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7273d4a in Digikam::LoadSaveThread::run (this=0xb6e41e8)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb578196e in QThreadPrivate::start (arg=0xb6e41e8)
    at thread/qthread_unix.cpp:189
#6  0xb54904ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb558749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 49 (Thread 0xaa0ffb90 (LWP 12019)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb54940e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
---Type <return> to continue, or q <return> to quit---
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55962ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57829b2 in QWaitCondition::wait (this=0xb6e6718, mutex=0xb6e6714, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7273d4a in Digikam::LoadSaveThread::run (this=0xb6e6708)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb578196e in QThreadPrivate::start (arg=0xb6e6708)
    at thread/qthread_unix.cpp:189
#6  0xb54904ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb558749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 8 (Thread 0xadf2cb90 (LWP 11747)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb557cae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb4b5c74b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb4b4ef82 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb4b4f268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb58a1438 in QEventDispatcherGlib::processEvents (this=0x94cc1d8, flags=
      {i = -1376599448}) at kernel/qeventdispatcher_glib.cpp:323
#6  0xb587406a in QEventLoop::processEvents (this=0xadf2c2e0, flags=
      {i = -1376599384}) at kernel/qeventloop.cpp:149
#7  0xb58744aa in QEventLoop::exec (this=0xadf2c2e0, flags={i = -1376599320})
    at kernel/qeventloop.cpp:200
---Type <return> to continue, or q <return> to quit---
#8  0xb577e639 in QThread::exec (this=0x94cbe00) at thread/qthread.cpp:481
#9  0xaf58e20a in ?? ()
   from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#10 0xb578196e in QThreadPrivate::start (arg=0x94cbe00)
    at thread/qthread_unix.cpp:189
#11 0xb54904ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb558749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xaf3beb90 (LWP 11745)):
#0  0xb8040430 in __kernel_vsyscall ()
#1  0xb5494412 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5596344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xaf540ae3 in ?? () from /usr/lib/libxine.so.1

Thread 1 (Thread 0xb473d920 (LWP 11715)):
#0  0xb5512df2 in ?? () from /lib/tls/i686/cmov/libc.so.6
#1  0xb55141d7 in ?? () from /lib/tls/i686/cmov/libc.so.6
#2  0xb55145b6 in free () from /lib/tls/i686/cmov/libc.so.6
#3  0xb577c08d in qFree (ptr=0xc130e40) at global/qmalloc.cpp:60
#4  0xb57c8e30 in QString::free (d=0xbf22c3b) at tools/qstring.cpp:953
warning: (Internal error: pc 0xb72838aa in read in psymtab, but not in symtab.)

#5  0xb72838ab in QHash<QString, QString>::freeData (this=warning: (Internal error: pc 0xb72838aa in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7283800 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb72838aa in read in psymtab, but not in symtab.)

0x8df43e4, 
    x=0xae481c0) at /usr/include/qt4/QtCore/qstring.h:866
warning: (Internal error: pc 0xb728433a in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7284339 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7284339 in read in psymtab, but not in symtab.)

---Type <return> to continue, or q <return> to quit---
#6  0xb728433a in ~LoadingCachePriv (this=warning: (Internal error: pc 0xb7284020 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0xb7284339 in read in psymtab, but not in symtab.)

0x8df4398)
    at /usr/include/qt4/QtCore/qhash.h:269
#7  0xb7280be9 in ~LoadingCache (this=0x8dec0d0)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadingcache.cpp:102
#8  0xb727db86 in Digikam::LoadingCache::cleanUp ()
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadingcache.cpp:85
#9  0xb7284957 in Digikam::LoadingCacheInterface::cleanUp ()
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadingcacheinterface.cpp:40
#10 0x0823addd in ~DigikamApp (this=0x8e20ee8)
    at /build/buildd/digikam-0.10.0/digikam/digikamapp.cpp:271
#11 0xb5884b25 in qDeleteInEventHandler (o=0x0) at kernel/qobject.cpp:3771
#12 0xb58863cb in QObject::event (this=0x8e20ee8, e=0xc19e828)
    at kernel/qobject.cpp:1101
#13 0xb5d9d440 in QWidget::event (this=0x8e20ee8, event=0xc19e828)
    at kernel/qwidget.cpp:7913
#14 0xb61950d7 in QMainWindow::event (this=0x8e20ee8, event=0xc19e828)
    at widgets/qmainwindow.cpp:1396
#15 0xb6a4e327 in KMainWindow::event (this=0x8e20ee8, ev=0xc19e828)
    at /build/buildd/kde4libs-4.2.2/kdeui/widgets/kmainwindow.cpp:1094
#16 0xb6a9310c in KXmlGuiWindow::event (this=0x8e20ee8, ev=0xc19e828)
    at /build/buildd/kde4libs-4.2.2/kdeui/xmlgui/kxmlguiwindow.cpp:131
#17 0xb5d46e9c in QApplicationPrivate::notify_helper (this=0x8bbb540, 
---Type <return> to continue, or q <return> to quit---
    receiver=0x8e20ee8, e=0xc19e828) at kernel/qapplication.cpp:4084
#18 0xb5d4f282 in QApplication::notify (this=0xbfb5be84, receiver=0x8e20ee8, 
    e=0xc19e828) at kernel/qapplication.cpp:4049
#19 0xb696a94d in KApplication::notify (this=0xbfb5be84, receiver=0x8e20ee8, 
    event=0xc19e828)
    at /build/buildd/kde4libs-4.2.2/kdeui/kernel/kapplication.cpp:307
#20 0xb5875a3b in QCoreApplication::notifyInternal (this=0xbfb5be84, 
    receiver=0x8e20ee8, event=0xc19e828) at kernel/qcoreapplication.cpp:602
#21 0xb5876695 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    event_type=0, data=0x8b96d80)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#22 0xb587688d in QCoreApplication::sendPostedEvents (receiver=0x0, 
    event_type=0) at kernel/qcoreapplication.cpp:1132
#23 0xb58a17ef in postEventSourceDispatch (s=0x8bbd910)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#24 0xb4b4bb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0xb4b4f0eb in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xb4b4f268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb58a1438 in QEventDispatcherGlib::processEvents (this=0x8ba75c0, flags=
      {i = -1078608584}) at kernel/qeventdispatcher_glib.cpp:323
#28 0xb5de8365 in QGuiEventDispatcherGlib::processEvents (this=0x8ba75c0, 
    flags={i = -1078608536}) at kernel/qguieventdispatcher_glib.cpp:202
#29 0xb587406a in QEventLoop::processEvents (this=0xbfb5bde0, flags=
---Type <return> to continue, or q <return> to quit---
      {i = -1078608472}) at kernel/qeventloop.cpp:149
#30 0xb58744aa in QEventLoop::exec (this=0xbfb5bde0, flags={i = -1078608408})
    at kernel/qeventloop.cpp:200
#31 0xb5876959 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#32 0xb5d46d17 in QApplication::exec () at kernel/qapplication.cpp:3553
#33 0x082b4e3b in main (argc=1, argv=0xbfb5c0e4)
    at /build/buildd/digikam-0.10.0/digikam/main.cpp:190
Comment 1 Alphazo 2009-06-09 18:07:15 UTC
I was able to reproduce the problem a second time.

1) the bug title is wrong. CPU doesn't go to 100% only memory usage for Digikam goes to 60% (out of 2GB). That's why the system seems unresponsive.

2) This time to get the crash I moved about 400 files from one collection to another one. Then I went to the collection where the files have been moved to and saw the thunmbnails being generated. At this specific time I hit the Quit button from the File menu and got the 60% memory usage followed by a seg fault.

..log from gdb
Model deleted: Marble::MarbleModel(0xaf6d7e8) 
[Thread 0xb286db90 (LWP 18783) exited]
[Thread 0xad735b90 (LWP 18799) exited]
[Thread 0xa973ab90 (LWP 18798) exited]
[Thread 0xae74eb90 (LWP 18791) exited]
QImage: out of memory, returning null
QImage::scaled: Image is a null image

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb1c06b90 (LWP 18788)]
QString::operator= (this=0xbc0482c, other=@0xb1c06054)
    at ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h:132
132	../../include/QtCore/../../src/corelib/arch/qatomic_i386.h: No such file or directory.
	in ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h

and the backtrace

(gdb) thread apply all backtrace

Thread 30 (Thread 0xac6aab90 (LWP 18814)):
#0  0xb8064430 in __kernel_vsyscall ()
#1  0xb54b80e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55ba2ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57a69b2 in QWaitCondition::wait (this=0xa7e50a8, mutex=0xa7e50a4, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7297d4a in Digikam::LoadSaveThread::run (this=0xa7e5098)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb57a596e in QThreadPrivate::start (arg=0xa7e5098)
    at thread/qthread_unix.cpp:189
#6  0xb54b44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb55ab49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 8 (Thread 0xadf4db90 (LWP 18792)):
#0  0xb8064430 in __kernel_vsyscall ()
#1  0xb55a0ae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb4b8074b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb4b72f82 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb4b73268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb58c5438 in QEventDispatcherGlib::processEvents (this=0x99851c0, flags=
      {i = -1376464280}) at kernel/qeventdispatcher_glib.cpp:323
---Type <return> to continue, or q <return> to quit---
#6  0xb589806a in QEventLoop::processEvents (this=0xadf4d2e0, flags=
      {i = -1376464216}) at kernel/qeventloop.cpp:149
#7  0xb58984aa in QEventLoop::exec (this=0xadf4d2e0, flags={i = -1376464152})
    at kernel/qeventloop.cpp:200
#8  0xb57a2639 in QThread::exec (this=0x9d92e28) at thread/qthread.cpp:481
#9  0xaf5af20a in ?? ()
   from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#10 0xb57a596e in QThreadPrivate::start (arg=0x9d92e28)
    at thread/qthread_unix.cpp:189
#11 0xb54b44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb55ab49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xaf3dfb90 (LWP 18790)):
#0  0xb8064430 in __kernel_vsyscall ()
#1  0xb54b8412 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55ba344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xaf561ae3 in ?? () from /usr/lib/libxine.so.1

Thread 5 (Thread 0xb1379b90 (LWP 18789)):
#0  0xb8064430 in __kernel_vsyscall ()
#1  0xb54b80e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#2  0xb55ba2ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57a69b2 in QWaitCondition::wait (this=0x98af618, mutex=0x98af614, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb7297d4a in Digikam::LoadSaveThread::run (this=0x98af608)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#5  0xb57a596e in QThreadPrivate::start (arg=0x98af608)
    at thread/qthread_unix.cpp:189
#6  0xb54b44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb55ab49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 4 (Thread 0xb1c06b90 (LWP 18788)):
#0  QString::operator= (this=0xbc0482c, other=@0xb1c06054)
    at ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h:132
#1  0xb72b0488 in Digikam::ThumbnailCreator::load (this=0x9853238, 
    path=@0xbe33f44)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/thumbnailcreator.cpp:264
#2  0xb72b63fb in Digikam::ThumbnailLoadingTask::execute (this=0xbe33f38)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/thumbnailtask.cpp:135
#3  0xb7297d58 in Digikam::LoadSaveThread::run (this=0x9852d08)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:134
#4  0xb57a596e in QThreadPrivate::start (arg=0x9852d08)
    at thread/qthread_unix.cpp:189
#5  0xb54b44ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#6  0xb55ab49e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb4761920 (LWP 18765)):
#0  0xb8064430 in __kernel_vsyscall ()
#1  0xb54b80e5 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb55ba2ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb57a69b2 in QWaitCondition::wait (this=0x9852400, mutex=0x98523ec, 
    time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb57a5b13 in QThread::wait (this=0x9852d08, time=4294967295)
    at thread/qthread_unix.cpp:485
#5  0xb729840f in ~LoadSaveThread (this=0x9852d08)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:80
#6  0xb729acc0 in ~ManagedLoadSaveThread (this=0x9852d08)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/managedloadsavethread.cpp:69
#7  0xb72b304c in ~ThumbnailLoadThread (this=0x9852d08)
    at /build/buildd/digikam-0.10.0/libs/threadimageio/thumbnailloadthread.cpp:115
#8  0xb72b1795 in Digikam::ThumbnailLoadThread::cleanUp ()
    at /build/buildd/digikam-0.10.0/libs/threadimageio/thumbnailloadthread.cpp:98

#9  0x0823add5 in ~DigikamApp (this=0x96f37b8)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/digikam-0.10.0/digikam/digikamapp.cpp:270
#10 0xb58a8b25 in qDeleteInEventHandler (o=0x1) at kernel/qobject.cpp:3771
#11 0xb58aa3cb in QObject::event (this=0x96f37b8, e=0xbbae728)
    at kernel/qobject.cpp:1101
#12 0xb5dc1440 in QWidget::event (this=0x96f37b8, event=0xbbae728)
    at kernel/qwidget.cpp:7913
#13 0xb61b90d7 in QMainWindow::event (this=0x96f37b8, event=0xbbae728)
    at widgets/qmainwindow.cpp:1396
#14 0xb6a72327 in KMainWindow::event (this=0x96f37b8, ev=0xbbae728)
    at /build/buildd/kde4libs-4.2.2/kdeui/widgets/kmainwindow.cpp:1094
#15 0xb6ab710c in KXmlGuiWindow::event (this=0x96f37b8, ev=0xbbae728)
    at /build/buildd/kde4libs-4.2.2/kdeui/xmlgui/kxmlguiwindow.cpp:131
#16 0xb5d6ae9c in QApplicationPrivate::notify_helper (this=0x9483540, 
    receiver=0x96f37b8, e=0xbbae728) at kernel/qapplication.cpp:4084
#17 0xb5d73282 in QApplication::notify (this=0xbfb7fea4, receiver=0x96f37b8, 
    e=0xbbae728) at kernel/qapplication.cpp:4049
#18 0xb698e94d in KApplication::notify (this=0xbfb7fea4, receiver=0x96f37b8, 
    event=0xbbae728)
    at /build/buildd/kde4libs-4.2.2/kdeui/kernel/kapplication.cpp:307
#19 0xb5899a3b in QCoreApplication::notifyInternal (this=0xbfb7fea4, 
    receiver=0x96f37b8, event=0xbbae728) at kernel/qcoreapplication.cpp:602
#20 0xb589a695 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    event_type=0, data=0x945ed80)
---Type <return> to continue, or q <return> to quit---
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#21 0xb589a88d in QCoreApplication::sendPostedEvents (receiver=0x0, 
    event_type=0) at kernel/qcoreapplication.cpp:1132
#22 0xb58c57ef in postEventSourceDispatch (s=0x9485910)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#23 0xb4b6fb88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0xb4b730eb in ?? () from /usr/lib/libglib-2.0.so.0
#25 0xb4b73268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0xb58c5438 in QEventDispatcherGlib::processEvents (this=0x946f5c0, flags=
      {i = -1078461096}) at kernel/qeventdispatcher_glib.cpp:323
#27 0xb5e0c365 in QGuiEventDispatcherGlib::processEvents (this=0x946f5c0, 
    flags={i = -1078461048}) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb589806a in QEventLoop::processEvents (this=0xbfb7fe00, flags=
      {i = -1078460984}) at kernel/qeventloop.cpp:149
#29 0xb58984aa in QEventLoop::exec (this=0xbfb7fe00, flags={i = -1078460920})
    at kernel/qeventloop.cpp:200
#30 0xb589a959 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#31 0xb5d6ad17 in QApplication::exec () at kernel/qapplication.cpp:3553
#32 0x082b4e3b in main (argc=1, argv=0xbfb80104)
    at /build/buildd/digikam-0.10.0/digikam/main.cpp:190
132	in ../../include/QtCore/../../src/corelib/arch/qatomic_i386.h
Comment 2 caulier.gilles 2009-06-09 19:44:01 UTC
Bakctrace do not show suitable informations. What do you do to reproduce the crash exactly ?

Gilles Caulier
Comment 3 Alphazo 2009-06-09 21:38:36 UTC
All right, I can now reproduce the crash everytime by following the steps bellow:

1) Start a fresh database by erasing ~/.digikam/digikam4.db
2) Launch digikam via gdb
3) Go to Settings / Configure DigiKam
4) Add Collection :  /media/PHOTOS/PHOTOS/ORIGINAL_DNG/2005-09/
This is a directory on a USB drive formatted with NTFS that contains about 568 JPG files (3MB each).
5) The import windows will show up and then close
6) Go to the album that has been imported, DigiKam shows black thumbnails for each picture
7) DigiKam starts generating thunmbnails
8) Before it finishes displaying all the thumbnails on the page, go to Album then Quit
--> Memory usage goes to 60% and DigiKam crashes in the end.

If wait redo the above steps but wait long between step 7 and 8 then DigiKam ends correctly.

Is there anything I can enable to get more information about the crash?

Thanks
Comment 4 caulier.gilles 2009-06-09 21:43:52 UTC
Can you give us the trace of debug messages printed by digiKam on the console ? Not GDB backtrace, but messages when digiKam run...

Gilles Caulier
Comment 5 Alphazo 2009-06-09 22:05:15 UTC
Below you will find the full gdb log. I noticed that in order to duplicate the problem I have to quickly scroll down (few times) the album view and make sure that there are still black thumbnails before hitting the Quit button in the Album menu.

(gdb) run
Starting program: /usr/bin/digikam 
[Thread debugging using libthread_db enabled]
[New Thread 0xb47c2920 (LWP 25445)]
/home/dnativel/.themes/Human Compact Small Icons/gtk-2.0/gtkrc:100: Murrine configuration option "highlight_ratio" will be deprecated in future releases. Please use "highlight_shade" instead.
/home/dnativel/.themes/Human Compact Small Icons/gtk-2.0/gtkrc:101: Murrine configuration option "lightborder_ratio" will be deprecated in future releases. Please use "lightborder_shade" instead.
/home/dnativel/.themes/Human Compact Small Icons/gtk-2.0/gtkrc:116: Murrine configuration option "style" is not supported and will be ignored.
/home/dnativel/.themes/Human Compact Small Icons/gtk-2.0/gtkrc:156: Murrine configuration option "highlight_ratio" will be deprecated in future releases. Please use "highlight_shade" instead.
/home/dnativel/.themes/Human Compact Small Icons/gtk-2.0/gtkrc:229: Murrine configuration option "highlight_ratio" will be deprecated in future releases. Please use "highlight_shade" instead.
[New Thread 0xb28ceb90 (LWP 25454)]
[New Thread 0xb1c66b90 (LWP 25455)]
[Thread 0xb1c66b90 (LWP 25455) exited]
[New Thread 0xb1c66b90 (LWP 25460)]
[New Thread 0xb13d9b90 (LWP 25461)]
[New Thread 0xaf43fb90 (LWP 25462)]
digikam(25445) Phonon::KdePlatformPlugin::createBackend: using backend:  "Xine"
[New Thread 0xae7aeb90 (LWP 25463)]
[New Thread 0xadfadb90 (LWP 25464)]
[New Thread 0xa979ab90 (LWP 25465)]
[Thread 0xa979ab90 (LWP 25465) exited]
[New Thread 0xa979ab90 (LWP 25466)]
[Thread 0xa979ab90 (LWP 25466) exited]
[New Thread 0xa979ab90 (LWP 25467)]
[New Thread 0xad795b90 (LWP 25468)]
[New Thread 0xacdffb90 (LWP 25469)]
[Thread 0xacdffb90 (LWP 25469) exited]
[Thread 0xad795b90 (LWP 25468) exited]
[Thread 0xa979ab90 (LWP 25467) exited]
[New Thread 0xa979ab90 (LWP 25470)]
[New Thread 0xad795b90 (LWP 25471)]
Starting to load Plugins. 
=== MarbleDirs: === 
Local Path: "/home/dnativel/.marble/data" 
Plugin Local Path: "/home/dnativel/.marble/plugins" 
 
Marble Data Path (Run Time) : "" 
Marble Data Path (Compile Time): "/usr/share/kde4/apps/marble/data" 
 
Marble Plugin Path (Run Time) : "" 
Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble" 
 
System Path: "/usr/share/kde4/apps/marble/data" 
Plugin System Path: "/usr/lib/kde4/plugins/marble" 
=================== 
"CompassFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" 
loading:  Marble::CompassFloatItem(0x9f34fc0) Marble::CompassFloatItem(0x9f345a0) 
"MapScaleFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so" 
loading:  Marble::MapScaleFloatItem(0x9f35bd8) Marble::MapScaleFloatItem(0x9f34d58) 
"MarbleCrosshairsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleCrosshairsPlugin.so" 
loading:  Marble::MarbleCrosshairsPlugin(0x9f34b98) Marble::MarbleCrosshairsPlugin(0x9f35880) 
"MarbleGeoDataPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleGeoDataPlugin.so" 
loading:  Marble::MarbleGeoDataPlugin(0x9f48060) Marble::MarbleGeoDataPlugin(0x9f45288) 
"MarbleOverviewMap.so"  -  "/usr/lib/kde4/plugins/marble/MarbleOverviewMap.so" 
loading:  Marble::MarbleOverviewMap(0x9f43990) Marble::MarbleOverviewMap(0x9f36c08) 
"MarbleStarsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleStarsPlugin.so" 
loading:  Marble::MarbleStarsPlugin(0x9f47470) Marble::MarbleStarsPlugin(0x9f36de0) 
"NavigationFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/NavigationFloatItem.so" 
loading:  Marble::NavigationFloatItem(0x9f38380) Marble::NavigationFloatItem(0x9f38bf0) 
Time elapsed: 179 ms
[New Thread 0xacdffb90 (LWP 25472)]
[New Thread 0xac5feb90 (LWP 25473)]
[New Thread 0xabdaeb90 (LWP 25474)]
[Thread 0xabdaeb90 (LWP 25474) exited]
[New Thread 0xab5adb90 (LWP 25475)]
[New Thread 0xabdaeb90 (LWP 25476)]
[New Thread 0xaa9ffb90 (LWP 25477)]
[New Thread 0xa8f99b90 (LWP 25478)]
[Thread 0xabdaeb90 (LWP 25476) exited]
[New Thread 0xabdaeb90 (LWP 25479)]
[New Thread 0xa8798b90 (LWP 25480)]
[Thread 0xabdaeb90 (LWP 25479) exited]
[Thread 0xa8798b90 (LWP 25480) exited]
[Thread 0xab5adb90 (LWP 25475) exited]
Use workaround:  0 
loadMapTheme "earth/citylights/citylights.dgml" 
loadMapTheme "earth/bluemarble/bluemarble.dgml" 
MapThemeId "earth/srtm/srtm.dgml" 
loadMapTheme "earth/srtm/srtm.dgml" 
DGML2 Name       :  "Atlas" 
[Thread 0xaa9ffb90 (LWP 25477) exited]
[Thread 0xac5feb90 (LWP 25473) exited]
adding container: "cityplacemarks.kml" false 
[Thread 0xacdffb90 (LWP 25472) exited]
[Thread 0xa8f99b90 (LWP 25478) exited]
[New Thread 0xac5feb90 (LWP 25481)]
starting parser for "cityplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/cityplacemarks.cache" 
adding container: "baseplacemarks.kml" false 
[New Thread 0xa8f99b90 (LWP 25482)]
starting parser for "baseplacemarks" 
adding container: "elevplacemarks.kml" false 
[New Thread 0xacdffb90 (LWP 25483)]
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/baseplacemarks.cache" 
Loading ended true 
[Thread 0xa8f99b90 (LWP 25482) exited]
adding container: "otherplacemarks.kml" false 
starting parser for "elevplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/elevplacemarks.cache" 
Loading ended true 
[Thread 0xacdffb90 (LWP 25483) exited]
[New Thread 0xa8f99b90 (LWP 25484)]
starting parser for "otherplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/otherplacemarks.cache" 
Loading ended true 
[Thread 0xa8f99b90 (LWP 25484) exited]
adding container: "boundaryplacemarks" true 
[New Thread 0xa8f99b90 (LWP 25485)]
starting parser for "boundaryplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/boundaryplacemarks.cache" 
Loading ended true 
[Thread 0xa8f99b90 (LWP 25485) exited]
TextureColorizer: Time elapsed: 34 ms
THEME CHANGED: *** "earth/srtm/srtm.dgml" 
SunLocator::setBody( QString ) 
[New Thread 0xa8f99b90 (LWP 25486)]
Loading ended true 
[Thread 0xac5feb90 (LWP 25481) exited]
Starting to load Plugins. 
=== MarbleDirs: === 
Local Path: "/home/dnativel/.marble/data" 
Plugin Local Path: "/home/dnativel/.marble/plugins" 
 
Marble Data Path (Run Time) : "" 
Marble Data Path (Compile Time): "/usr/share/kde4/apps/marble/data" 
 
Marble Plugin Path (Run Time) : "" 
Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble" 
 
System Path: "/usr/share/kde4/apps/marble/data" 
Plugin System Path: "/usr/lib/kde4/plugins/marble" 
=================== 
"CompassFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" 
loading:  Marble::CompassFloatItem(0x9f34fc0) Marble::CompassFloatItem(0xae76798) 
"MapScaleFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so" 
loading:  Marble::MapScaleFloatItem(0x9f35bd8) Marble::MapScaleFloatItem(0xae76728) 
"MarbleCrosshairsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleCrosshairsPlugin.so" 
loading:  Marble::MarbleCrosshairsPlugin(0x9f34b98) Marble::MarbleCrosshairsPlugin(0xae75000) 
"MarbleGeoDataPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleGeoDataPlugin.so" 
loading:  Marble::MarbleGeoDataPlugin(0x9f48060) Marble::MarbleGeoDataPlugin(0xae765c8) 
"MarbleOverviewMap.so"  -  "/usr/lib/kde4/plugins/marble/MarbleOverviewMap.so" 
loading:  Marble::MarbleOverviewMap(0x9f43990) Marble::MarbleOverviewMap(0xae750f8) 
"MarbleStarsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleStarsPlugin.so" 
loading:  Marble::MarbleStarsPlugin(0x9f47470) Marble::MarbleStarsPlugin(0xae76248) 
"NavigationFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/NavigationFloatItem.so" 
loading:  Marble::NavigationFloatItem(0x9f38380) Marble::NavigationFloatItem(0xae84580) 
Time elapsed: 13 ms
Use workaround:  0 
loadMapTheme "earth/citylights/citylights.dgml" 
loadMapTheme "earth/bluemarble/bluemarble.dgml" 
MapThemeId "earth/srtm/srtm.dgml" 
loadMapTheme "earth/srtm/srtm.dgml" 
DGML2 Name       :  "Atlas" 
adding container: "cityplacemarks.kml" false 
[New Thread 0xac5feb90 (LWP 25487)]
adding container: "baseplacemarks.kml" false 
starting parser for "cityplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/cityplacemarks.cache" 
[New Thread 0xacdffb90 (LWP 25488)]
starting parser for "baseplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/baseplacemarks.cache" 
Loading ended true 
adding container: "elevplacemarks.kml" false 
[Thread 0xacdffb90 (LWP 25488) exited]
[New Thread 0xacdffb90 (LWP 25489)]
starting parser for "elevplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/elevplacemarks.cache" 
Loading ended true 
[Thread 0xacdffb90 (LWP 25489) exited]
adding container: "otherplacemarks.kml" false 
[New Thread 0xacdffb90 (LWP 25490)]
starting parser for "otherplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/otherplacemarks.cache" 
Loading ended true 
[Thread 0xacdffb90 (LWP 25490) exited]
adding container: "boundaryplacemarks" true 
[New Thread 0xacdffb90 (LWP 25491)]
starting parser for "boundaryplacemarks" 
"Loading Default Placemark Cache File:/usr/share/kde4/apps/marble/data/placemarks/boundaryplacemarks.cache" 
Loading ended true 
THEME CHANGED: *** "earth/srtm/srtm.dgml" 
[Thread 0xacdffb90 (LWP 25491) exited]
SunLocator::setBody( QString ) 
Loading ended true 
[Thread 0xac5feb90 (LWP 25487) exited]
Style reset requested. 
Style reset requested. 
Style reset requested. 
Style reset requested. 
start generate indexes 
generated indexes 
MarblePlacemarkModel (generateIndex): Time elapsed: 22 ms 
Style reset requested. 
Style reset requested. 
Style reset requested. 
Style reset requested. 
Style reset requested. 
Style reset requested. 
start generate indexes 
generated indexes 
MarblePlacemarkModel (generateIndex): Time elapsed: 22 ms 
Style reset requested. 
Style reset requested. 
timeChanged 
void SunLocator::update() 
digikam(25445): Attempt to use QAction "camera_solid" with KXMLGUIFactory! 
digikam(25445): Attempt to use QAction "usb_media" with KXMLGUIFactory! 
digikam(25445): Attempt to use QAction "card_reader" with KXMLGUIFactory! 
digikam(25445): Attempt to use QAction "camera_addedmanually" with KXMLGUIFactory! 
[New Thread 0xac5feb90 (LWP 25495)]
timeChanged 
void SunLocator::update() 
[Thread 0xac5feb90 (LWP 25495) exited]
....
....
........ I don't have the log trace that goes here
....
....
digikam(25445) Digikam::ScanControllerLoadingCacheFileWatch::slotImageChanged: 413 "/media/PHOTOS/PHOTOS/ORIGINALS-DNG/2009-05/Tennis-Test/2009-05_Tennis-Test_031.JPG"
digikam(25445) Digikam::ScanControllerLoadingCacheFileWatch::slotImageChanged: 414 "/media/PHOTOS/PHOTOS/ORIGINALS-DNG/2009-05/Tennis-Test/2009-05_Tennis-Test_032.JPG"
digikam(25445) Digikam::ScanControllerLoadingCacheFileWatch::slotImageChanged: 500 "/media/PHOTOS/PHOTOS/ORIGINALS-DNG/2009-05/Repas-Testdigi/2009-05_Repas-Testdigi_073.JPG"
.....
digikam(25445) Digikam::ScanControllerLoadingCacheFileWatch::slotImageChanged: 568 "/media/PHOTOS/PHOTOS/ORIGINALS-DNG/2009-05/Visite-Plage_St-Cyr/2009-05_Visite-Plage_St-Cyr_068.JPG"
timeChanged 
void SunLocator::update() 
deleting all render Plugins! 
rp: 166938016 
rp: 166939992 
rp: 166942848 
rp: 167006856 
rp: 166947848 
rp: 166948320 
rp: 166956016 
Model deleted: Marble::MarbleModel(0x9f33d00) 
deleting all render Plugins! 
rp: 182937496 
rp: 182937384 
rp: 182931456 
rp: 182937032 
rp: 182931704 
rp: 182936136 
rp: 182994304 
Model deleted: Marble::MarbleModel(0xae73e00) 
[Thread 0xb28ceb90 (LWP 25454) exited]
[Thread 0xad795b90 (LWP 25471) exited]
[Thread 0xa979ab90 (LWP 25470) exited]
[Thread 0xae7aeb90 (LWP 25463) exited]
QImage: out of memory, returning null
QImage::scaled: Image is a null image
[Thread 0xb1c66b90 (LWP 25460) exited]
[Thread 0xa8f99b90 (LWP 25486) exited]
[Thread 0xb13d9b90 (LWP 25461) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb47c2920 (LWP 25445)]
0xb5599c7e in ?? () from /lib/tls/i686/cmov/libc.so.6
Comment 6 Alphazo 2009-06-09 22:29:01 UTC
I tried few more things and noticed something very interesting.

First, I can get the crash now with 132 files only.

Then before starting DigiKam I copied about 500 of the pictures from the USB drive (NTFS) to my desktop. Then I tried to crash DigiKam the way I used to do but it would not !!!

Could that be linked to mount-ntfs-3g ?
Comment 7 Alphazo 2009-06-09 22:46:49 UTC
Ok guys, I'm waiving my previous comment. I can also crash DigiKam the exact same way using a slow external USB drive formated with EXT3 and 500 photos. 

So in order to duplicate the problem you need to add a collection from a slow drive.
Comment 8 Alphazo 2009-06-11 17:36:14 UTC
Below you will find a screencast of the crash when using an external EXT3 USB drive 

http://vimeo.com/5111327
Comment 9 Alphazo 2009-06-21 14:38:45 UTC
I played around with the 1.0 beta 1 found at http://philip.magicalforest.se/.

After many attempts, I can report that the problem doesn't occur on 1.0 beta 1.