Bug 287331

Summary: digiKam crashes when reading a large pic collection
Product: [Applications] digikam Reporter: Axel Krebs <axel.krebs>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ahuggel, caulier.gilles, klaus.anderson
Priority: NOR    
Version: 2.5.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.7.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Axel Krebs 2011-11-23 04:16:41 UTC
Application: digikam (2.1.1)
KDE Platform Version: 4.7.2 (4.7.2)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-13-generic-pae i686
Distribution: Ubuntu 11.10

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

when reading a large pic collection , digiKam crashes .
Seem to be related to earlier crashes

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

Thread 8 (Thread 0xad9b4b70 (LWP 6541)):
#0  0xb7702424 in __kernel_vsyscall ()
#1  0xb3609a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb48e0cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4b96cc0 in wait (time=4294967295, this=0xa58cc40) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xa58cb6c, mutex=0xa58cb68, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x081faf45 in Digikam::ScanController::run (this=0xa4d2d88) at /build/buildd/digikam-2.1.1/core/digikam/database/scancontroller.cpp:647
#6  0xb4b967b3 in QThreadPrivate::start (arg=0xa4d2d88) at thread/qthread_unix.cpp:331
#7  0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 7 (Thread 0xad1b3b70 (LWP 6542)):
#0  0xb3608d14 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb48e0f54 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb32e220b in g_main_context_release () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb32e3906 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb32e3c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4cbfb37 in QEventDispatcherGlib::processEvents (this=0xa518598, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0xb4c901dd in QEventLoop::processEvents (this=0xad1b3100, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4c90421 in QEventLoop::exec (this=0xad1b3100, flags=...) at kernel/qeventloop.cpp:201
#8  0xb4b9390b in QThread::exec (this=0xa5167f8) at thread/qthread.cpp:498
#9  0xb4c70e2d in QInotifyFileSystemWatcherEngine::run (this=0xa5167f8) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb4b967b3 in QThreadPrivate::start (arg=0xa5167f8) at thread/qthread_unix.cpp:331
#11 0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 6 (Thread 0xac9b2b70 (LWP 6619)):
#0  0xb7702424 in __kernel_vsyscall ()
#1  0xb3609a5c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb48e0cfc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4b96cc0 in wait (time=4294967295, this=0xabb4b10) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0xabb47e0, mutex=0xabb47dc, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0xb6a5af54 in Digikam::ParkingThread::run (this=0xabb47d0) at /build/buildd/digikam-2.1.1/core/libs/threads/threadmanager.cpp:119
#6  0xb4b967b3 in QThreadPrivate::start (arg=0xabb47d0) at thread/qthread_unix.cpp:331
#7  0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 5 (Thread 0x9ddffb70 (LWP 14916)):
[KCrash Handler]
#7  0xb7702424 in __kernel_vsyscall ()
#8  0xb482ec8f in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0xb48322b5 in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0xb4a774ed in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0xb4a75283 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0xb4a752bf in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0xb4a75464 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb4b8a74d in QThreadPoolThread::run (this=0xe88e890) at concurrent/qthreadpool.cpp:113
#15 0xb4b967b3 in QThreadPrivate::start (arg=0xe88e890) at thread/qthread_unix.cpp:331
#16 0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 4 (Thread 0x9bd1db70 (LWP 14917)):
#0  0xb3775ba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0xb3775c3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0xb37744d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 3 (Thread 0x9d5feb70 (LWP 14918)):
#0  0xb3775ba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0xb3775c3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0xb37744d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0x940ffb70 (LWP 14919)):
#0  0xb3775ba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0xb3775c3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0xb37744d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0xb3605d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb48d30ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xaec288c0 (LWP 6540)):
#0  0xb6a1325c in Digikam::ManagedLoadSaveThread::findExistingTask (this=0xe72b3f0, loadingDescription=...) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/managedloadsavethread.cpp:138
#1  0xb6a1335d in Digikam::ManagedLoadSaveThread::loadThumbnail (this=0xe72b3f0, description=...) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/managedloadsavethread.cpp:345
#2  0xb6a378a3 in load (preload=false, description=..., this=0xe72b3f0) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:658
#3  Digikam::ThumbnailLoadThread::load (this=0xe72b3f0, description=..., preload=false) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:645
#4  0xb6a378eb in Digikam::ThumbnailLoadThread::load (this=0xe72b3f0, desc=...) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:642
#5  0xb6a3ab48 in Digikam::ThumbnailLoadThread::find (this=0xe72b3f0, filePath=..., size=-1079878780, retPixmap=0x0, emitSignal=true, detailRect=...) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:503
#6  0xb6a3ae43 in Digikam::ThumbnailLoadThread::find (this=0xe72b3f0, filePath=..., size=256) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:526
#7  0xb6a3ae7d in Digikam::ThumbnailLoadThread::find (this=0xe72b3f0, filePath=...) at /build/buildd/digikam-2.1.1/core/libs/threadimageio/thumbnailloadthread.cpp:521
#8  0x0831dd49 in Digikam::QueueListView::reloadThumbs (this=0xee55260, url=...) at /build/buildd/digikam-2.1.1/core/utilities/queuemanager/views/queuelist.cpp:1061
#9  0x08322fcf in Digikam::QueuePool::slotFileChanged (this=0xee4db50, filePath=...) at /build/buildd/digikam-2.1.1/core/utilities/queuemanager/views/queuepool.cpp:410
#10 0x083237db in Digikam::QueuePool::qt_metacall (this=0xee4db50, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x1f47e0d0) at /build/buildd/digikam-2.1.1/obj-i686-linux-gnu/core/utilities/queuemanager/queuepool.moc:117
#11 0xb4c97b7d in metacall (argv=0x1f47e0d0, idx=80, cl=QMetaObject::InvokeMetaMethod, object=0xee4db50) at kernel/qmetaobject.cpp:237
#12 QMetaObject::metacall (object=0xee4db50, cl=QMetaObject::InvokeMetaMethod, idx=80, argv=0x1f47e0d0) at kernel/qmetaobject.cpp:232
#13 0xb4ca2685 in QMetaCallEvent::placeMetaCall (this=0x25c12790, object=0xee4db50) at kernel/qobject.cpp:535
#14 0xb4ca9b52 in QObject::event (this=0xee4db50, e=0x25c12790) at kernel/qobject.cpp:1217
#15 0xb5247c62 in QWidget::event (this=0xee4db50, event=0x25c12790) at kernel/qwidget.cpp:8754
#16 0xb56c2355 in QTabWidget::event (this=0xee4db50, ev=0x25c12790) at widgets/qtabwidget.cpp:1014
#17 0xb51edd54 in notify_helper (e=0x25c12790, receiver=0xee4db50, this=0xa3eceb0) at kernel/qapplication.cpp:4486
#18 QApplicationPrivate::notify_helper (this=0xa3eceb0, receiver=0xee4db50, e=0x25c12790) at kernel/qapplication.cpp:4458
#19 0xb51f31a8 in QApplication::notify (this=0xa3eceb0, receiver=0xee4db50, e=0x25c12790) at kernel/qapplication.cpp:4451
#20 0xb5d43681 in KApplication::notify (this=0xbfa265a0, receiver=0xee4db50, event=0x25c12790) at ../../kdeui/kernel/kapplication.cpp:311
#21 0xb4c9119e in QCoreApplication::notifyInternal (this=0xbfa265a0, receiver=0xee4db50, event=0x25c12790) at kernel/qcoreapplication.cpp:787
#22 0xb4c94f93 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xa3aaba0) at kernel/qcoreapplication.cpp:1428
#24 0xb4c950ec in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1321
#25 0xb4cbf6a4 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#26 postEventSourceDispatch (s=0xa3ef290) at kernel/qeventdispatcher_glib.cpp:277
#27 0xb32e325f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb32e3990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#29 0xb32e3c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0xb4cbfada in QEventDispatcherGlib::processEvents (this=0xa3ab898, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#31 0xb52a5e3a in QGuiEventDispatcherGlib::processEvents (this=0xa3ab898, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0xb4c901dd in QEventLoop::processEvents (this=0xbfa26484, flags=...) at kernel/qeventloop.cpp:149
#33 0xb4c90421 in QEventLoop::exec (this=0xbfa26484, flags=...) at kernel/qeventloop.cpp:201
#34 0xb4c9519d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#35 0xb51eb8f4 in QApplication::exec () at kernel/qapplication.cpp:3760
#36 0x080b4b64 in main (argc=) at /build/buildd/digikam-2.1.1/core/digikam/main/main.cpp:232

Possible duplicates by query: bug 287077, bug 287007, bug 286840, bug 286730, bug 286641.

Reported using DrKonqi
Comment 1 caulier.gilles 2011-11-23 09:35:26 UTC
There is no digiKam info in your crash trace. I suspect a problem with an external lib.

I recommend you to run digiKam through GDB to get more details.

Gilles Caulier
Comment 2 Marcel Wiesweg 2011-11-23 18:13:21 UTC
#13 0xb4a75464 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb4b8a74d in QThreadPoolThread::run (this=0xe88e890) at

An exception is thrown in a thread, caught by Qt's event loop and rethrown. To get the original location where the exception is thrown, you need to run digikam under gdb, and then enter "catch throw". gdb will stop when the exception is thrown, get a backtrace with "bt"
Comment 3 caulier.gilles 2011-12-12 20:18:59 UTC
Axel,

Do you see comment #2 from Marcel ?

Gilles Caulier
Comment 4 Axel Krebs 2011-12-12 20:37:34 UTC
Yes, as you ask me... I am very engaged these days... 12 h work day... I
am very sorry...
............................................................................
--- Comment #2 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-11-23
18:13:21 ---
#13 0xb4a75464 in __cxa_rethrow () from
/usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb4b8a74d in QThreadPoolThread::run (this=0xe88e890) at

An exception is thrown in a thread, caught by Qt's event loop and rethrown.

To get the original location where the exception is thrown, you need to
run digikam under gdb, and then enter "catch throw". gdb will stop when
the exception is thrown, get a backtrace with "bt"
............................................................................

What is "gdb"?

Is this "open a terminal (or console?) and start digiKam manually"?

What means "bt"?

Sorry, I am no programmer...

Why not run these type of check in background automatically, installs
some txpe of an expert system which analyses, maybe repairs und/or gives
hints if action is needed??

As a _user_ I do not even want to see these things... as a computer and
photography fan, I am fascinated of digiKams capabilities.

Still I face hundreds of potentailly damaged NEFs..., however..

Axel
Am 12.12.2011 21:18, schrieb Gilles Caulier:
> https://bugs.kde.org/show_bug.cgi?id=287331
> 
> 
> 
> 
> 
> --- Comment #3 from Gilles Caulier <caulier gilles gmail com>  2011-12-12 20:18:59 ---
> Axel,
> 
> Do you see comment #2 from Marcel ?
> 
> Gilles Caulier
>
Comment 5 caulier.gilles 2011-12-13 10:19:46 UTC
Alex,

GDB is a debugger. it's a command line program to run in a console. 'bt' want mean "backtrace". It's a command of debugger to activate when crash appears.

Look here for details :

http://www.digikam.org/drupal/contrib

Gilles Caulier
Comment 6 Axel Krebs 2011-12-13 19:55:23 UTC
OK, I see your link... please give m some time...

Axel
Am 13.12.2011 11:19, schrieb Gilles Caulier:
> https://bugs.kde.org/show_bug.cgi?id=287331
> 
> 
> 
> 
> 
> --- Comment #5 from Gilles Caulier <caulier gilles gmail com>  2011-12-13 10:19:46 ---
> Alex,
> 
> GDB is a debugger. it's a command line program to run in a console. 'bt' want
> mean "backtrace". It's a command of debugger to activate when crash appears.
> 
> Look here for details :
> 
> http://www.digikam.org/drupal/contrib
> 
> Gilles Caulier
>
Comment 7 Klaus Anderson 2012-06-09 00:35:32 UTC
Created attachment 71676 [details]
New crash information added by DrKonqi

digikam (2.5.0) on KDE Platform 4.8.3 (4.8.3) using Qt 4.8.1

- What I was doing when the application crashed:
Starting the application. It opens up in the timeline view for current year. Then I just sit and wait and after a while it crashes (I don't do anything at all on the UI).

Here is the beginning and the end of a gdb session that hopefully shows something useful, let me know if I can provide more information:
klasu@klasu-desktop:~$ gdb digikam 
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/digikam...Reading symbols from /usr/lib/debug/usr/bin/digikam...done.
done.
(gdb) catch throw
Function "__cxa_throw" not defined.
Catchpoint 1 (throw)
(gdb) run
Starting program: /usr/bin/digikam 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xacfc4b40 (LWP 24883)]
[New Thread 0xac5ffb40 (LWP 24884)]
[New Thread 0xabbffb40 (LWP 24885)]
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
[Thread 0xabbffb40 (LWP 24885) exited]
[New Thread 0xabbffb40 (LWP 24886)]
[New Thread 0xa5b44b40 (LWP 24889)]
[New Thread 0xa4f2cb40 (LWP 24890)]
[New Thread 0xa472bb40 (LWP 24891)]
[New Thread 0xa3f24b40 (LWP 24892)]
[New Thread 0x9f722b40 (LWP 24893)]
digikam(24880)/digikam (core) Digikam::ImageInfoJob::slotResult: Failed to list url:  "" 
digikam(24880)/digikam (core) Digikam::ImageInfoJob::slotResult: Failed to list url:  "" 
[New Thread 0x9ed7cb40 (LWP 24901)]
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
void DBusMenuExporterPrivate::fillLayoutItem(DBusMenuLayoutItem*, QMenu*, int, int, const QStringList&): No id for action 
[New Thread 0x9bcfbb40 (LWP 24917)]
[New Thread 0x9b4fab40 (LWP 24918)]
[New Thread 0x9acf9b40 (LWP 24919)]
[New Thread 0x9a4f8b40 (LWP 24920)]
[Switching to Thread 0x9acf9b40 (LWP 24919)]
Catchpoint 1 (exception thrown), 0xb5201ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0xb5201ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#1  0xb400ec55 in Exiv2::ImageFactory::open(std::string const&) () from /usr/lib/libexiv2.so.11
#2  0xb7626338 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.10
#3  0xb7242f0e in Digikam::DMetadata::load (this=0x9acf8ca0, filePath=...) at /build/buildd/digikam-2.5.0/core/libs/dmetadata/dmetadata.cpp:106
#4  0xb7242f85 in Digikam::DMetadata::DMetadata (this=0x9acf8ca0, filePath=...) at /build/buildd/digikam-2.5.0/core/libs/dmetadata/dmetadata.cpp:70
#5  0xb72adf2d in Digikam::ThumbnailCreator::createThumbnail (this=0x89a3600, info=..., detailRect=..., isFace=false)
    at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:438
#6  0xb72af023 in Digikam::ThumbnailCreator::load (this=0x89a3600, path=..., rect=..., pregenerate=true)
    at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:257
#7  0xb72b05c2 in Digikam::ThumbnailCreator::pregenerate (this=0x89a3600, path=...) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:180
#8  0xb72bee9d in Digikam::ThumbnailLoadingTask::execute (this=0xa8f0d98) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailtask.cpp:79
#9  0xb728c938 in Digikam::LoadSaveThread::run (this=0x89a35c0) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/loadsavethread.cpp:118
#10 0xb72d6d7e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x8982308) at /build/buildd/digikam-2.5.0/core/libs/threads/dynamicthread.cpp:328
#11 0xb531739b in QThreadPoolThread::run (this=0xa28ac18) at concurrent/qthreadpool.cpp:107
#12 0xb5324de0 in QThreadPrivate::start (arg=0xa28ac18) at thread/qthread_unix.cpp:298
#13 0xb3d9fd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0xb5052ace in clone () from /lib/i386-linux-gnu/libc.so.6
...
<fast forwarding to the end. The missing thumbnail and catcpoint are repeated for many video files before this last bit>
...
(gdb) cont
Continuing.
digikam(24880)/digikam (core) Digikam::ThumbnailCreator::createThumbnail: Cannot create thumbnail for  "/multimedia/kuvat/raakakuvat/MVI_1710.MOV" 
digikam(24880)/digikam (core) Digikam::ThumbnailCreator::load: Thumbnail is null for  "/multimedia/kuvat/raakakuvat/MVI_1710.MOV" 
Catchpoint 1 (exception thrown), 0xb5201ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0xb5201ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#1  0xb51a64d3 in std::__throw_ios_failure(char const*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#2  0xb51b7938 in std::basic_filebuf<char, std::char_traits<char> >::xsgetn(char*, int) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#3  0xb756b162 in ?? () from /usr/lib/libkdcraw.so.20
#4  0xb756820a in ?? () from /usr/lib/libkdcraw.so.20
#5  0xb754a220 in KDcrawIface::KDcraw::loadEmbeddedPreview(QByteArray&, QString const&) () from /usr/lib/libkdcraw.so.20
#6  0xb754a692 in KDcrawIface::KDcraw::loadEmbeddedPreview(QImage&, QString const&) () from /usr/lib/libkdcraw.so.20
#7  0xb72ae1a4 in Digikam::ThumbnailCreator::createThumbnail (this=0x89a3600, info=..., detailRect=..., isFace=false)
    at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:501
#8  0xb72af023 in Digikam::ThumbnailCreator::load (this=0x89a3600, path=..., rect=..., pregenerate=true)
    at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:257
#9  0xb72b05c2 in Digikam::ThumbnailCreator::pregenerate (this=0x89a3600, path=...) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailcreator.cpp:180
#10 0xb72bee9d in Digikam::ThumbnailLoadingTask::execute (this=0xa998430) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/thumbnailtask.cpp:79
#11 0xb728c938 in Digikam::LoadSaveThread::run (this=0x89a35c0) at /build/buildd/digikam-2.5.0/core/libs/threadimageio/loadsavethread.cpp:118
#12 0xb72d6d7e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x8982308) at /build/buildd/digikam-2.5.0/core/libs/threads/dynamicthread.cpp:328
#13 0xb531739b in QThreadPoolThread::run (this=0xa28ac18) at concurrent/qthreadpool.cpp:107
#14 0xb5324de0 in QThreadPrivate::start (arg=0xa28ac18) at thread/qthread_unix.cpp:298
#15 0xb3d9fd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#16 0xb5052ace in clone () from /lib/i386-linux-gnu/libc.so.6
(gdb) cont
Continuing.
Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
terminate called after throwing an instance of 'std::ios_base::failure'
  what():  basic_filebuf::xsgetn error reading the file

Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()

-- Backtrace (Reduced):
#14 0xb4ad751e in QThreadPoolThread::run (this=0xb9a1f30) at concurrent/qthreadpool.cpp:114
#15 0xb4ae4de0 in QThreadPrivate::start (arg=0xb9a1f30) at thread/qthread_unix.cpp:298
[...]
Comment 8 Klaus Anderson 2012-06-09 00:40:04 UTC
And related to my previous comment. My trace was proposed as duplicate of this bug by the bug reporting assistant (whatever it's called), let me know if you want a separate bug about it.

I'm running Ubuntu 12.04 and package version is as follows:

ii  digikam                                    4:2.5.0-1ubuntu2                                           digital photo management application for KDE
ii  digikam-data                               4:2.5.0-1ubuntu2                                           digiKam architecture-independant data
ii  digikam-dbg                                4:2.5.0-1ubuntu2                                           debugging symbols for digiKam
ii  libkface-data                              1.0~digikam2.5.0-1ubuntu2                                  Data files for libkface
ii  libkface1                                  1.0~digikam2.5.0-1ubuntu2                                  LibFace wrapper for Qt/C++
ii  libkgeomap-data                            1.0~digikam2.5.0-1ubuntu2                                  Data files for libkgeomap
ii  libkgeomap1                                1.0~digikam2.5.0-1ubuntu2                                  World-map wrapper to browse and arrange photos over a map
ii  libkvkontakte1                             1.0~digikam2.5.0-1ubuntu2                                  vkontakte.ru library
Comment 9 caulier.gilles 2012-06-09 07:09:04 UTC
It crash in Exiv2 library. Which version you use ? Go to Help/Component Info dialog for details.

Gilles Caulier
Comment 10 Axel Krebs 2012-06-09 07:36:54 UTC
Dear Gilles:

the extract from Help/Component Info is...

digiKam version 2.5.0
Exiv2 kann in JP2 speichern: Ja
Exiv2 kann in JPEG speichern: Ja
Exiv2 kann in PGF speichern: Ja
Exiv2 kann in PNG speichern: Ja
Exiv2 kann in TIFF speichern: Ja
Exiv2 unterstützt XMP-Metadaten: Ja
LibCImg: 130
LibClapack: Interne Bibliothek
LibExiv2: 0.22
LibJPEG: 80
LibJasper: 1.900.1
LibKDE: 4.8.3 (4.8.3)
LibKExiv2: 2.1.0
LibKGeoMap: 2.0.0
LibKdcraw: 2.0.1
LibLCMS: 119
LibPGF: 6.11.42 - Interne Bibliothek
LibPNG: 1.2.46
LibQt: 4.8.1
LibRaw: 0.14.4
LibTIFF: LIBTIFF, Version 3.9.5 Copyright (c) 1988-1996 Sam Leffler
Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble-Funktion: 0.12.2 (stable release)
Parallelisiertes Entfernen von Mosaikmustern: Ja
Datenbanktreiber: QSQLITE
LibGphoto2: 2.4.13
LibKface: 2.0.0
LibKipi: 1.3.0
LibOpenCV: 2.3.1
Libface: 0.2

QUESTION:
Why does KDE bug tracking system not read these infos automatically?

Hope this helps!


Axel
---
Am 09.06.2012 09:09, schrieb Gilles Caulier:
> https://bugs.kde.org/show_bug.cgi?id=287331
> 
> Gilles Caulier <caulier.gilles@gmail.com> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |ahuggel@gmx.net
>           Component|general                     |libkexiv2
>             Version|2.1.1                       |2.5.0
> 
> --- Comment #9 from Gilles Caulier <caulier.gilles@gmail.com> ---
> It crash in Exiv2 library. Which version you use ? Go to Help/Component Info
> dialog for details.
> 
> Gilles Caulier
>
Comment 11 Marcel Wiesweg 2012-06-09 13:03:19 UTC
Klaus, is anything printed on the console when the crash occurs (normal execution, no gdb)?
We certainly catch the Exiv2::Error around the code location where the exception is thrown. Either there's a binary compatibility problem with catching the exception, or some other generic error (bad_alloc?) is thrown.
Comment 12 Klaus Anderson 2012-06-09 13:23:09 UTC
(In reply to comment #9)
> It crash in Exiv2 library. Which version you use ? Go to Help/Component Info
> dialog for details.

here's all the info from that dialog:
digiKam version 2.5.0
Exiv2 can write to Jp2: Yes
Exiv2 can write to Jpeg: Yes
Exiv2 can write to Pgf: Yes
Exiv2 can write to Png: Yes
Exiv2 can write to Tiff: Yes
Exiv2 supports XMP metadata: Yes
LibCImg: 130
LibClapack: internal library
LibExiv2: 0.22
LibJPEG: 80
LibJasper: 1.900.1
LibKDE: 4.8.3 (4.8.3)
LibKExiv2: 2.1.0
LibKGeoMap: 2.0.0
LibKdcraw: 2.0.1
LibLCMS: 119
LibPGF: 6.11.42 - internal library
LibPNG: 1.2.46
LibQt: 4.8.1
LibRaw: 0.14.4
LibTIFF: LIBTIFF, Version 3.9.5 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble Widget: 0.13.0 (stable release)
Parallelised demosaicing: Yes
Database backend: QSQLITE
LibGphoto2: 2.4.13
LibKface: 2.0.0
LibKipi: 1.3.0
LibOpenCV: 2.3.1
Libface: 0.2
Comment 13 Klaus Anderson 2012-06-09 13:25:15 UTC
(In reply to comment #11)
> Klaus, is anything printed on the console when the crash occurs (normal
> execution, no gdb)?
> We certainly catch the Exiv2::Error around the code location where the
> exception is thrown. Either there's a binary compatibility problem with
> catching the exception, or some other generic error (bad_alloc?) is thrown.

here's the end of console output (in which you see digikam crashing, and crash reporter executed, then I dismiss that as well):

digikam(1967)/digikam (core) Digikam::ThumbnailCreator::createThumbnail: Cannot create thumbnail for  "/multimedia/kuvat/raakakuvat/vanhat/25092010003.mp4" 
digikam(1967)/digikam (core) Digikam::ThumbnailCreator::load: Thumbnail is null for  "/multimedia/kuvat/raakakuvat/vanhat/25092010003.mp4" 
Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
terminate called after throwing an instance of 'std::ios_base::failure'
  what():  basic_filebuf::xsgetn error reading the file
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/klasu/.kde/socket-klasu-desktop/kdeinit4__0

[1]+  Stopped                 digikam
klasu@klasu-desktop:/multimedia/kuvat$ QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
digikam: Fatal IO error: client killed

[1]+  Exit 253                digikam
Comment 14 Marcel Wiesweg 2012-06-10 11:17:07 UTC
Ok I was misled, the exception thrown inside libexiv2 is not the problem, it is apparently caught somewhere and handled properly, we just see it because we catch all throws.
The problem is in libkdcraw, and apparently with a movie file.
It would be awesome to see the backtrace with debug info for the libkdcraw library...
Or can you provide one of the movie files (there are two mentioned immediately before the crashes) for testing?
Comment 15 Axel Krebs 2012-06-10 17:21:28 UTC
Dear Marcel:

can you tell me which movie could be approbriate for testing?
I am happy to send- hopefully, the file is not tooo large, however.


Axel

Am 10.06.2012 13:17, schrieb Marcel Wiesweg:
> https://bugs.kde.org/show_bug.cgi?id=287331
> 
> --- Comment #14 from Marcel Wiesweg <marcel.wiesweg@gmx.de> ---
> Ok I was misled, the exception thrown inside libexiv2 is not the problem, it is
> apparently caught somewhere and handled properly, we just see it because we
> catch all throws.
> The problem is in libkdcraw, and apparently with a movie file.
> It would be awesome to see the backtrace with debug info for the libkdcraw
> library...
> Or can you provide one of the movie files (there are two mentioned immediately
> before the crashes) for testing?
>
Comment 16 Marcel Wiesweg 2012-06-10 19:41:21 UTC
I just mentioned those files which were processed immediately before the crashes according to Klaus' logs. I dont know if these files have special properties or just trigger the crash by chance.
Comment 17 Klaus Anderson 2012-06-12 11:12:45 UTC
(In reply to comment #14)
> The problem is in libkdcraw, and apparently with a movie file.
> It would be awesome to see the backtrace with debug info for the libkdcraw
> library...

there doesn't seem to be a debug package available at least in ubuntu repos, so someone needs to explain where to get and how to install the debug version and then I can give it a try.

> Or can you provide one of the movie files (there are two mentioned
> immediately before the crashes) for testing?

did the movie file that I provided help anything?
Comment 18 caulier.gilles 2012-06-12 11:19:07 UTC
digiKam packaging can include last libkdcraw source code from offjcial Software Collection tarball. In this case, a digiKam debug package can be enough. But this depend how packagers work with your distro. Please ask to your distro team...

Gilles Caulier
Comment 19 Marcel Wiesweg 2012-06-19 18:43:51 UTC
The video file which Klaus provided me for testing does not trigger any crash here. KDcraw correctly fails to load an embedded preview.
Comment 20 caulier.gilles 2012-06-22 08:51:51 UTC
Official digiKam 2.6.0 release is out since few days now :

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

Please, check if this entry still valid, or update report accordingly.

Thanks in advance.

Gilles Caulier
Comment 21 Klaus Anderson 2012-07-03 13:29:52 UTC
(In reply to comment #20)
> Please, check if this entry still valid, or update report accordingly.

my problem which I reported originally in comment 7 is gone after the update. Now the application crashes when I close it, but that is probably some other issue and not as big deal for me.
Comment 22 caulier.gilles 2012-07-03 13:33:52 UTC
Klaus, please report the crash in another file with a complete backtrace...

Gilles Cauleir