Version: 0.10.0-rc2 (using KDE 4.2.1) Compiler: gcc 3.1.2 x86_64 OS: Linux Installed from: Gentoo Packages This bug seems similar to a few of the ones marked as resolved, but bear with me. Basically, an exiv2 call when importing an image seems to crash digikam. When running the exiv2 command line utility, it works without error. There's nothing remarkable about the JPGs, except perhaps that it was taken with an older digital camera. Here is the backtrace. Like I said, it probably looks familiar: Application: digiKam (digikam), signal SIGABRT from /lib/libpthread.so.0 [Current thread is 0 (LWP 4846)] Thread 9 (Thread 0x2ab565ac6950 (LWP 4847)): [KCrash Handler] #5 0x00002ab557a7b205 in raise () from /lib/libc.so.6 #6 0x00002ab557a7c57e in abort () from /lib/libc.so.6 #7 0x00002ab557a7462f in __assert_fail () from /lib/libc.so.6 #8 0x00002ab559d00ce3 in ?? () from /usr/lib64/libexiv2.so.5 #9 0x00002ab559d00ea5 in ?? () from /usr/lib64/libexiv2.so.5 #10 0x00002ab559d047e6 in ?? () from /usr/lib64/libexiv2.so.5 #11 0x00002ab559d02a64 in ?? () from /usr/lib64/libexiv2.so.5 #12 0x00002ab559d013c0 in ?? () from /usr/lib64/libexiv2.so.5 #13 0x00002ab559d04918 in ?? () from /usr/lib64/libexiv2.so.5 #14 0x00002ab559d07c7b in ?? () from /usr/lib64/libexiv2.so.5 #15 0x00002ab559d07e03 in Exiv2::TiffParser::encode () from /usr/lib64/libexiv2.so.5 #16 0x00002ab559cae592 in Exiv2::ExifParser::encode () from /usr/lib64/libexiv2.so.5 #17 0x00002ab552b5a77b in KExiv2Iface::KExiv2::getExif () from /usr/lib64/libkexiv2.so.7 #18 0x00002ab5542cd0e8 in Digikam::ImageScanner::loadFromDisk () from /usr/lib64/libdigikamdatabase.so.1 #19 0x00002ab5542d43c8 in Digikam::ImageScanner::newFile () from /usr/lib64/libdigikamdatabase.so.1 #20 0x00002ab5542c78ad in Digikam::CollectionScanner::scanNewFile () from /usr/lib64/libdigikamdatabase.so.1 #21 0x00002ab5542c9129 in Digikam::CollectionScanner::scanAlbum () from /usr/lib64/libdigikamdatabase.so.1 #22 0x00002ab5542ca4dc in Digikam::CollectionScanner::partialScan () from /usr/lib64/libdigikamdatabase.so.1 #23 0x00002ab5542ca758 in Digikam::CollectionScanner::partialScan () from /usr/lib64/libdigikamdatabase.so.1 #24 0x0000000000644c5b in ?? () #25 0x00002ab555cc1d00 in ?? () from /usr/lib64/qt4/libQtCore.so.4 #26 0x00002ab556097097 in start_thread () from /lib/libpthread.so.0 #27 0x00002ab557b1077d in clone () from /lib/libc.so.6 #28 0x0000000000000000 in ?? () (and some unrelated threads) ============================ Running exiv2 (0.18) yields: File name : unl0805_1.jpg File size : 60409 Bytes MIME type : image/jpeg Image size : 480 x 640 Camera make : Hewlett-Packard Camera model : Photosmart M407 Image timestamp : 2005:08:16 09:09:00 Image number : Exposure time : 1/90 s Aperture : F2.9 Exposure bias : 0 Flash : No, auto Flash bias : Focal length : 6.2 mm Subject distance: 5.00 m ISO speed : 200 Exposure mode : Auto Metering mode : Average Macro mode : Image quality : Exif Resolution : 480 x 640 White balance : Thumbnail : image/jpeg, 4073 Bytes Copyright : Copyright 2003-2004 Exif comment : =========================== Perhaps most importantly, here is a file with which you can reproduce the error. 1) Download http://makuro.org/~makuro/unl0805_1.jpg 2) Drag and drop it into an album/folder monitored by digikam. 3) If your digikam is like mine, it will close almost immediately with a SIGABRT 4) removing or chmod 000ing the file will allow your digikam to open again. As far as I can tell, I'm running the latest releases of all software involved. Please let me know if there's any additional info I can provide. Thanks, Mahmoud
Mahmoud, With test file, when you run Exiv2 command line tool to write something in metadata, there is a crash ? Andreas, what do you think about ? I remember something similar already reported here. Right ? Gilles Caulier
Running: exiv2 -M "set Exif.Photo.UserComment charset=Ascii My favorite photo" unl0805_1.jpg got me: exiv2: tiffcomposite.cpp:697: virtual uint32_t Exiv2::Internal::TiffMnEntry::doCount() const: Assertion `tiffType() == ttUndefined' failed. So, yes, that looks like an exiv2 crash.
So, it's sound like Exiv2 bug, not digiKam. Andreas is Exiv2 lead developper. We can let's open this file and solve this issue in this room instead to open new bug in Exiv2 bugzilla. it's not a problem. I let Andreas manage this entry. Gilles Caulier
ok, that sounds good. I'm running gcc 4.1.2, not 3.1.2. Also, is there any need or plan for more robust handling of this type of exception within digikam?
It's a crash in exiv2 core. digiKam use libkexiv2 to catch Exiv2 c++ exception. In this case, it sound like a check are missing in Exiv2 to prevent crash and generate exception instead. Gilles
The exiv2 crash in comment #2 is the same as that in http://dev.exiv2.org/issues/show/615 so yes, I believe this is fixed in exiv2 SVN and this bug is a duplicate of bug #182738. Mahmoud, To test, you can upgrade to exiv2 from SVN as described here http://www.exiv2.org/download.html#devel Andreas
Mahmoud, What news here. Please check and report to close this file. Thanks in advance Gilles Caulier
This bug seems to be fixed in the SVN version of exiv2. I'm not sure what the exact status should be, but I'll mark it as fixed. Thanks for all your help!
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4