| Summary: | Crash during facial detection and recognition | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Jeff Robinson <jeffnik> |
| Component: | Metadata-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | caulier.gilles |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 4.11.0 | ||
| Target Milestone: | --- | ||
| Platform: | Slackware | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 7.0.0 | |
| Sentry Crash Report: | |||
|
Description
Jeff Robinson
2015-08-08 05:53:53 UTC
It crash in Qt4 without any particular reason : Thread 7 (Thread 0x7ff799d88700 (LWP 18391)): [KCrash Handler] #5 0x00007ff7f7835aa9 in QDir::fromNativeSeparators(QString const&) () at /usr/lib64/qt/lib/libQtCore.so.4 #6 0x00007ff801c33263 in Digikam::CollectionManager::locationForPath(QString const&) (this=0x2f6e020, givenPath=...) at /usr/src/digikam-4.11.0/core/libs/database/collectionmanager.cpp:1330 I suspect a broken GDB backtrace which do not reflect the real problem. Please run digiKam under a console through GDB, as it explained here : https://www.digikam.org/contrib ...and take a new crash trace to see if it reproducible. Gilles Caulier I forget to said that the current trace do not reflect any face recognition dysfunction... digiKam 4.12.0 is out. https://www.digikam.org/node/741 Problem still reproducible ? Gilles Caulier I cannot seem to reproduce the error. Facial recognition/detection will still sometimes crash/close Digikam but does not generate an error message. When I try to do the same from the command-line I only receive a message indicating that Dr. Konqi cannot be started. run digiKam under GDB from a console to have a full trace of the dysfunction, as explained here : https://www.digikam.org/node/741 You must also install digiKam debug package before. Gilles Caulier digiKam 4.12.0 is out : https://www.digikam.org/node/741 We need a fresh feedback using this release please... Thanks in advance. Gilles Caulier Here is the backtrace using Digikam 4.12.0 I compiled from source:
[Switching to Thread 0x7fff53fff700 (LWP 29423)]
Catchpoint 1 (exception thrown), 0x00007fffeb83df60 in __cxa_throw () from /usr/lib64/libstdc++.so.6
(gdb) bt
#0 0x00007fffeb83df60 in __cxa_throw () at /usr/lib64/libstdc++.so.6
#1 0x00007fffe7413b47 in ExpatAdapter::ParseBuffer(void const*, unsigned long, bool) () at /usr/lib/libexiv2.so.13
#2 0x00007fffe73fb526 in ProcessUTF8Portion(XMLParserAdapter*, unsigned char const*, unsigned long, bool) ()
at /usr/lib/libexiv2.so.13
#3 0x00007fffe73fba20 in XMPMeta::ParseFromBuffer(char const*, unsigned long, unsigned long) () at /usr/lib/libexiv2.so.13
#4 0x00007fffe73e5631 in WXMPMeta_ParseFromBuffer_1 () at /usr/lib/libexiv2.so.13
#5 0x00007fffe73d1f8c in TXMPMeta<std::string>::ParseFromBuffer(char const*, unsigned long, unsigned long) ()
at /usr/lib/libexiv2.so.13
#6 0x00007fffe73cfec1 in TXMPMeta<std::string>::TXMPMeta(char const*, unsigned long) () at /usr/lib/libexiv2.so.13
#7 0x00007fffe73ccc5e in Exiv2::XmpParser::decode(Exiv2::XmpData&, std::string const&) () at /usr/lib/libexiv2.so.13
#8 0x00007fffe73d6cf7 in Exiv2::XmpSidecar::readMetadata() () at /usr/lib/libexiv2.so.13
#9 0x00007ffff4ebf02e in KExiv2Iface::KExiv2::load(QString const&) const (this=0x7fff53ffd7c0, filePath=...)
at /usr/src/digikam-4.12.0/extra/libkexiv2/libkexiv2/kexiv2.cpp:362
#10 0x00007ffff5eb74ed in Digikam::DMetadata::load(QString const&) const (this=0x7fff53ffd7c0, filePath=...)
at /usr/src/digikam-4.12.0/core/libs/dmetadata/dmetadata.cpp:110
#11 0x00007ffff5d4628d in Digikam::DImgLoader::readMetadata(QString const&, Digikam::DImg::FORMAT) (this=0x7fff53ffe1a0, filePath=...) at /usr/src/digikam-4.12.0/core/libs/dimg/loaders/dimgloader.cpp:218
#12 0x00007ffff5d4b1f2 in Digikam::JPEGLoader::load(QString const&, Digikam::DImgLoaderObserver*) (this=0x7fff53ffe1a0, filePath=..., observer=0x76e4af0) at /usr/src/digikam-4.12.0/core/libs/dimg/loaders/jpegloader.cpp:103
#13 0x00007ffff5d130b4 in Digikam::DImg::load(QString const&, int, Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (this=0x76e4d00, filePath=..., loadFlagsInt=63, observer=0x76e4af0, rawDecodingSettings=...)
at /usr/src/digikam-4.12.0/core/libs/dimg/dimg.cpp:435
#14 0x00007ffff5d12ca7 in Digikam::DImg::load(QString const&, Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (this=0x76e4d00, filePath=..., observer=0x76e4af0, rawDecodingSettings=...) at /usr/src/digikam-4.12.0/core/libs/dimg/dimg.cpp:379
#15 0x00007ffff5f105f1 in Digikam::PreviewLoadingTask::execute() (this=0x76e4ae0)
at /usr/src/digikam-4.12.0/core/libs/threadimageio/previewtask.cpp:321
#16 0x00007ffff5efd1e3 in Digikam::LoadSaveThread::run() (this=0x802f790)
at /usr/src/digikam-4.12.0/core/libs/threadimageio/loadsavethread.cpp:136
---Type <return> to continue, or q <return> to quit---
#17 0x00007ffff5f29dca in Digikam::DynamicThread::DynamicThreadPriv::run() (this=0x7ff2920)
at /usr/src/digikam-4.12.0/core/libs/threads/dynamicthread.cpp:186
#18 0x00007fffec0068a4 in () at /usr/lib64/qt/lib/libQtCore.so.4
#19 0x00007fffec012c6f in () at /usr/lib64/qt/lib/libQtCore.so.4
#20 0x00007fffebd71654 in start_thread () at /lib64/libpthread.so.0
#21 0x00007fffeb3077dd in clone () at /lib64/libc.so.6
It's clear. It crash in Exiv2 when XMP metadata are parsed from image. Please report this problem to Exiv2 bugzilla, including this last GDB backtrace. http://dev.exiv2.org/projects/exiv2/issues Also i suspect that you use Exiv2 0.24. Try to use Exiv2 0.25 instead (this require to recompile libkexiv2 with digiKam) Gilles Caulier Problem is fixed with new 7.0.0-beta1 through this long story from this bug https://bugs.kde.org/show_bug.cgi?id=399923 You can test digiKam 7.0.0-beta1 with bundle available here: https://download.kde.org/unstable/digikam/ Don't hesitate to give us a fresh feedback about his entry. Thanks in advance Gilles Caulier |