Summary: | digiKam crashes when reading a large pic collection | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Axel Krebs <axel.krebs> |
Component: | Metadata-Engine | Assignee: | 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
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 #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" Axel, Do you see comment #2 from Marcel ? Gilles Caulier 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 > 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 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
>
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 [...] 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 It crash in Exiv2 library. Which version you use ? Go to Help/Component Info dialog for details. Gilles Caulier 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
>
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. (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 (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 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? 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?
>
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. (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? 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 The video file which Klaus provided me for testing does not trigger any crash here. KDcraw correctly fails to load an embedded preview. 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 (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. Klaus, please report the crash in another file with a complete backtrace... Gilles Cauleir |