Bug 224697 - Crash with gimp xcf files with metadata
Summary: Crash with gimp xcf files with metadata
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Engine (show other bugs)
Version: 1.1.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-28 23:22 UTC by Michael
Modified: 2020-05-09 14:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael 2010-01-28 23:22:53 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Digikam crashes when creating thumbnails in folders which contain gimp xcf files, other folders work fine.

digiKam version 1.1.0 (rev.: 1081627)
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
LibExiv2: 0.19.1
LibJPEG: 62
LibJasper: 1.900.1
LibKDE: 4.3.95 (KDE 4.3.95 (KDE 4.4 RC2))
LibKExiv2: 1.0.0
LibKdcraw: 1.0.0
LibLCMS: 118
LibPGF: 6.09.44
LibPNG: 1.2.37
LibQt: 4.6.0
LibRaw: 0.8.5
LibTIFF: LIBTIFF, Version 3.8.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Parallelized demosaicing: Ja
LibGphoto2: 2.4.6
LibKipi: 1.0.0

greets mike



Thread 11 (Thread 0x7f485190c910 (LWP 1658)):
[KCrash Handler]
#5  0x00007f48690bf4b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f48690c2f50 in *__GI_abort () at abort.c:92
#7  0x00007f486995ecc5 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#8  0x00007f486995d0f6 in ?? () from /usr/lib/libstdc++.so.6
#9  0x00007f486995d123 in std::terminate() () from /usr/lib/libstdc++.so.6
#10 0x00007f486995d21e in __cxa_throw () from /usr/lib/libstdc++.so.6
#11 0x00007f48678bbb72 in Exiv2::ImageFactory::open(std::string const&) () from /usr/lib/libexiv2.so.6
#12 0x00007f486e546865 in KExiv2Iface::KExiv2::load (this=0x7f485190b8e0, filePath=...) at /home/m/src/digikam/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2.cpp:293
#13 0x00007f486d033d19 in Digikam::DMetadata::load (this=0x675, filePath=...) at /home/m/src/digikam/graphics/digikam/libs/dmetadata/dmetadata.cpp:78
#14 0x00007f486d033d92 in DMetadata (this=0x7f485190b8e0, filePath=...) at /home/m/src/digikam/graphics/digikam/libs/dmetadata/dmetadata.cpp:66
#15 0x00007f486d0c2ff3 in Digikam::ThumbnailCreator::createThumbnail (this=0x1605b80, info=<value optimized out>) at /home/m/src/digikam/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp:268
#16 0x00007f486d0c3eef in Digikam::ThumbnailCreator::load (this=0x1605b80, path=...) at /home/m/src/digikam/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp:195
#17 0x00007f486d0cb723 in Digikam::ThumbnailLoadingTask::execute (this=0x2e741e0) at /home/m/src/digikam/graphics/digikam/libs/threadimageio/thumbnailtask.cpp:133
#18 0x00007f486d0a671c in Digikam::LoadSaveThread::run (this=0x160d7d0) at /home/m/src/digikam/graphics/digikam/libs/threadimageio/loadsavethread.cpp:134
#19 0x00007f486b2b46c5 in ?? () from /usr/lib/libQtCore.so.4
#20 0x00007f486b025a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#21 0x00007f486916b80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#22 0x0000000000000000 in ?? ()
Comment 1 caulier.gilles 2010-01-29 09:39:12 UTC
Crash appears in Exiv2 library.

Can you reproduce the crash using exiv2 command line tool with your XCF file ?

Gilles Caulier
Comment 2 Michael 2010-01-29 12:18:29 UTC
here is the output if I just try "exiv2 FILE" on commandline:

K20D0876.xcf: Die Datei enthält Daten eines unbekannten Bildtyps.
Exiv2 exception in print action for file K20D0888.xcf:

greets mike
Comment 3 Johannes Wienke 2010-01-29 13:02:31 UTC
Hm, exiv2 can't event handle xcf files. Does it make sense to try to load these files in exiv2?
Comment 4 Marcel Wiesweg 2010-01-29 18:10:43 UTC
The problem is not about not loading XCF files or about the error that exiv2 throws here, the problem is: why is this exception not caught? There are of course catch clauses around the relevant part in libkexiv2.

Michael, which version of exiv2 are you running? Recent SVN by any chance?
Please give us the last few lines on the console before the crash.
Comment 5 Michael 2010-01-29 18:28:17 UTC
Here you go.

greets mike

digikam(4545)/KEXIV2 KExiv2Iface::KExiv2::getImageOrientation: Orientation => Exif.Image.Orientation =>  1
Error: Failed to read Pentax IFD Makernote header.
digikam(4545)/KEXIV2 KExiv2Iface::KExiv2::getImageOrientation: Orientation => Exif.Image.Orientation =>  1
terminate called after throwing an instance of 'Exiv2::BasicError<char>'
  what():  /media/E/DCIM/Portraits Dana/gimp/K20D0876.xcf: Die Datei enthält Daten eines unbekannten Bildtyps.
KCrash: Application 'digikam' crashing...
sock_file=/home/m/.kde/socket-desktop/kdeinit4__0

[1]+  Angehalten              digikam
Comment 6 Michael 2010-01-29 20:09:47 UTC
Did you already change something? 
I updated exiv2 to current svn and updated digikam again and now it works, although the exiv2 output on the terminal is the same with xcf files...

greets mike


digiKam version 1.1.0 (rev.: 1082100)
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
LibExiv2: 0.19.1
LibJPEG: 62
LibJasper: 1.900.1
LibKDE: 4.3.95 (KDE 4.3.95 (KDE 4.4 RC2))
LibKExiv2: 1.0.0
LibKdcraw: 1.0.0
LibLCMS: 118
LibPGF: 6.09.44
LibPNG: 1.2.37
LibQt: 4.6.0
LibRaw: 0.8.5
LibTIFF: LIBTIFF, Version 3.8.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Parallelized demosaicing: Ja
LibGphoto2: 2.4.6
LibKipi: 1.0.0
Comment 7 Marcel Wiesweg 2010-01-29 22:31:31 UTC
Yes, Andreas fixed the problem, I had also seen this crash.
Comment 8 caulier.gilles 2020-05-09 12:35:29 UTC
Git commit d9a57550ee4d08f1ab612723b315348af9bab9da by Gilles Caulier.
Committed on 09/05/2020 at 12:31.
Pushed by cgilles into branch 'master'.

Switch all digiKam bundles to last 5.70 which now support new Gimp XCF file format.
See KF5 release announcement : https://kde.org/announcements/kde-frameworks-5.70.0.php
"KImageFormats: Add support for modern Gimp images/XCF files"
This will permit to digiKam and Showfoto to show XCF thumbnail and load preview/full image (read only)
Related: bug 309465, bug 186641, bug 250003, bug 339152, bug 368444, bug 412339

M  +3    -3    project/bundles/3rdparty/ext_kf5_frameworks/CMakeLists.txt

https://invent.kde.org/kde/digikam/commit/d9a57550ee4d08f1ab612723b315348af9bab9da