Bug #997
exiv2 causing digikam to crash on .mp3, .ogg, and .xcf files
0%
Description
See the following bugs:
https://bugs.kde.org/show_bug.cgi?id=341024
https://bugs.kde.org/show_bug.cgi?id=340696
https://bugzilla.opensuse.org/show_bug.cgi?id=904446
Short summary is that digikam is crashing in exiv2 all the time. I moved all photos away and ran tests with individual files and identified that .xcf and .mp3 files both would cause digikam to crash. Given that Gimp is my primary image editor, this bug makes digikam completely unusable.
I can run tests if you need them.
I am using libexiv2-13-0.24-4.1.9.x86_64 from the OpenSUSE 13.2 repository.
Files
History
Updated by Kenneth Ingham about 7 years ago
I just built libexiv2 from the latest sources from svn and digikam still crashes.
Updated by Andreas Huggel about 7 years ago
Kenneth,
Can you provide a (small) sample file that triggers a crash?
Can you re-create the crash with the exiv2 command line tool alone?
Andreas
Updated by Kenneth Ingham about 7 years ago
I tried this command:
exiv2 Southwind.mp3
Exiv2 exception in print action for file Southwind.mp3:
Southwind.mp3: The file contains data of an unknown image type
This happened for every mp3 file I tried, including the attached one which I just got from http://www.bensound.com. I have no affiliation with that web site other than grabbing a creative commons licensed music file.
I do not know if the exception mentioned is the one that is killing digikam. According to Gilles Caulier in
https://bugs.kde.org/show_bug.cgi?id=341024
what killed digikam was an exception.
Updated by Kenneth Ingham about 7 years ago
- File waterfall-1355.xcf waterfall-1355.xcf added
I get a similar response when asking it about a Gimp file:
ingham@socrates:tmp$ exiv2 waterfall-1355.xcf
Exiv2 exception in print action for file waterfall-1355.xcf:
waterfall-1355.xcf: The file contains data of an unknown image type
Updated by Andreas Huggel about 7 years ago
- Status changed from New to Rejected
The Exiv2 library throws an exception if finds that the input file format is not supported. This is the standard Exiv2 error handling procedure. The application that uses the Exiv2 library has to catch this exception and deal with it, as the Exiv2 command line tool demonstrates.
Apparently for files of certain formats, the exception is not caught in digiKam yet.
I'm closing this bug, it is an issue that needs to be fixed in digiKam.
Updated by Gilles Caulier about 7 years ago
libkexiv2 already catch all Exiv2 and C++ exceptions in current implementation.
This must prevent a crash in digiKam in all cases.
perhaps user do not have a recent libkexiv2 in computer.
Updated by Gilles Caulier about 7 years ago
Note : here with current implementation, digiKam do not crash with XCF, OGG, or MP3 files.
Updated by Raymond Wooninck about 7 years ago
@Gilles,
The user is using the libkexiv2 that was shipped with KDE 4.14.2. As far as I can see there are not many commits after. openSUSE 13.2 should receive soon the update to KDE 4.14.3, but if you could pinpoint a particular a particular commit that should fix this then we can test it.
Thanks
Raymond
Updated by Gilles Caulier about 7 years ago
Raymond,
Look this commit :
Andreas,
Can you check if this commit is enough to handle all Exiv2 exception ?
Gilles
Updated by Andreas Huggel about 7 years ago
Yes, a catch-all should work of course. Provided the exception occurs within a try-catch block.
If so, it could be due to more obscure issues with exceptions across library boundaries. Similarly if the exception happens in a plugin (loaded with dlopen).
Kenneth, assuming you are on Linux, can you show the output of ldd `which digikam`
and the same for your libkexiv2
?