Support #1082
Crash when removing property of unregistered XMP namespace
100%
Description
main screen of digicam 4.10.0 on openSUSE 13.2 freezes when going from picture to picture and name faces, sometimes very soon soon, sometimes it takes a while
what I have done:
1. start digikam
2. open an album
3. open a picture and name one of the faces
4. switch to next picture and name a face
5. ... n. same like 4.
main window of digikam freezes and only possibility is to end digikam by clicking upper right x to quit. After this it takes a while than window pops up to ask if I want to end process of digikam
here it happens always, it does not depend n a special picture
Files
Related issues
History
Updated by Johannes Kapune over 6 years ago
Alan Pater wrote:
Have you reported this to the digikam team?
yes, I was sent to here to report this behaviour.
I test it on second PC with only a few pictures and I get same problem when moving rectangle around the face to centre on the face. Every time than I get:
digikam(6311)/KEXIV2: Cannot remove Xmp tag using Exiv2 (Error # 35 : No namespace info avaible for XMP prefix 'acdsee'
digikam(6311)/KEXIV2: Cannot set Xmp tag string into image using Exiv2 (Error # 35 : No namespace info avaible for XMP prefix 'acdsee'
I don't use AcdSEE and have never used.
Johannes
Updated by Alan Pater over 6 years ago
Can you double check that none of the images have ACDSee metadata in them? You can do this from the command line in the folder with the images.
exiv2 -g acdsee *.jpg
If they do turn out to have ACDSee properties, could you test on a folder of images that don't have that metadata.
Updated by Johannes Kapune over 6 years ago
Alan Pater wrote:
Can you double check that none of the images have ACDSee metadata in them? You can do this from the command line in the folder with the images.
[...]
If they do turn out to have ACDSee properties, could you test on a folder of images that don't have that metadata.
sorry, may be I have not understand you correctly:
~/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641> exiv2 -g acdsee *.jpg
If 'exiv2' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf exiv2
how do I get to use exiv2 from command line?
/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641> l
insgesamt 27808
drwxr-xr-x 2 johannes users 4096 21. Mär 17:22 ./
drwxr-xr-x 69 johannes users 4096 19. Mai 21:50 ../rwsrwxrwx 1 johannes users 3019583 23. Jan 17:40 --_01149.jpg*rwsrwxrwx 1 johannes users 2538855 23. Jan 17:40 --_01151.jpg*rwsrwxrwx 1 johannes users 2675244 23. Jan 17:40 --_01152.jpg*rwsrwxrwx 1 johannes users 2363119 23. Jan 17:41 --_01153.jpg*rwsrwxrwx 1 johannes users 3000557 23. Jan 17:41 --_01155.jpg*rwsrwxrwx 1 johannes users 2672025 23. Jan 17:41 --_01156.jpg*rwsrwxrwx 1 johannes users 2576937 23. Jan 17:41 --_01157.jpg*rwsrwxrwx 1 johannes users 2470485 23. Jan 17:41 --_01158.jpg*rwsrwxrwx 1 johannes users 2466735 23. Jan 17:41 --_01159.jpg*rwsrwxrwx 1 johannes users 2391055 23. Jan 17:41 --_01160.jpg*rwsrwxrwx 1 johannes users 2266607 23. Jan 17:41 --_01161.jpg*
johannes@JohannesHT87PLUS:/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641>
Updated by Alan Pater over 6 years ago
- Status changed from New to Assigned
- Assignee set to Alan Pater
You need to install exiv2 on your system. In the digikam report you mention that you are using suse. If I recall correctly, you can use yast to install exiv2.
Updated by Johannes Kapune over 6 years ago
Alan Pater wrote:
You need to install exiv2 on your system. In the digikam report you mention that you are using suse. If I recall correctly, you can use yast to install exiv2.
Ok, done.
But see the result:
johannes@JohannesHT87PLUS:~/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641> l
insgesamt 27812
drwxr-xr-x 2 johannes users 4096 20. Mai 15:01 ./
drwxr-xr-x 69 johannes users 4096 19. Mai 21:50 ../rwsrwxrwx 1 johannes users 3019583 23. Jan 17:40 01149.jpg* 1 johannes users 59 20. Mai 15:00 .directory
-rwsrwxrwx 1 johannes users 2538855 23. Jan 17:40 01151.jpg*
-rwsrwxrwx 1 johannes users 2675244 23. Jan 17:40 01152.jpg*
-rwsrwxrwx 1 johannes users 2363119 23. Jan 17:41 01153.jpg*
-rwsrwxrwx 1 johannes users 3000557 23. Jan 17:41 01155.jpg*
-rwsrwxrwx 1 johannes users 2672025 23. Jan 17:41 01156.jpg*
-rwsrwxrwx 1 johannes users 2576937 23. Jan 17:41 01157.jpg*
-rwsrwxrwx 1 johannes users 2470485 23. Jan 17:41 01158.jpg*
-rwsrwxrwx 1 johannes users 2466735 23. Jan 17:41 01159.jpg*
-rwsrwxrwx 1 johannes users 2391055 23. Jan 17:41 01160.jpg*
-rwsrwxrwx 1 johannes users 2266607 23. Jan 17:41 01161.jpg*
-rw------
johannes@JohannesHT87PLUS:~/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641> exiv2 -g acdsee *.jpg
johannes@JohannesHT87PLUS:~/Ser-04/bilder/bilder/Fabritzius/SW/001_1501231641>
sorry, no output of acdsee
Updated by Johannes Kapune over 6 years ago
what I see now ist: some of my pictures names are beginning with ---_ can this be a problem? when I tried to examine folders like this I get some strange output of exiv2 like
johannes@JohannesHT87PLUS:~/Ser-04/bilder/bilder/Fabritzius/SW/002_1501231645_Soenke> exiv2 g acdsee *.jpg
exiv2: Unbekannte Option -
exiv2: Unbekannte Option --
exiv2: Unbekannte Option
exiv2: Unbekannte Option -0
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -6
exiv2: Unbekannte Option -2
exiv2: Unbekannte Option -.
exiv2: Unbekannte Option -j
exiv2: Unbekannter Druckmodus `g'
exiv2: Unbekannte Option -
exiv2: Unbekannte Option --
exiv2: Unbekannte Option
exiv2: Unbekannte Option -0
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -6
exiv2: Unbekannte Option -3
exiv2: Unbekannte Option -.
exiv2: Unbekannte Option -j
exiv2: Unbekannter Druckmodus `g'
[...]
exiv2: Unbekannte Option -
exiv2: Unbekannte Option --
exiv2: Unbekannte Option -_
exiv2: Unbekannte Option -0
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -1
exiv2: Unbekannte Option -9
exiv2: Unbekannte Option -5
exiv2: Unbekannte Option -.
exiv2: Unbekannte Option -j
exiv2: Unbekannter Druckmodus `g'
exiv2: Eine Aktion muss angegeben werden
exiv2: Es muss mindestens eine Datei angegeben werden
Benutzung: exiv2 [ Optionen ] [ Aktionen ] Datei ...
Ändert die Exif-Metadaten von Bildern.
johannes@JohannesHT87PLUS:~/Ser-04/bilder/bilder/Fabritzius/SW/002_1501231645_Soenke>
Updated by Alan Pater over 6 years ago
So what happens if you run digikam on a folder of images without the filenames begining in "--"? In other words, if all the images have names beginning with a letter or a number, no other characters.
Updated by Johannes Kapune over 6 years ago
Alan Pater wrote:
So what happens if you run digikam on a folder of images without the filenames begining in "--"? In other words, if all the images have names beginning with a letter or a number, no other characters.
nothing, as you can see under #8
as you can see in the file list too, first I erased the trailing --_ so only the numbers 01149 to 01161 are in this folder.
last comment was only because I realized that exiv2 seems to use the trailing minus-signs as part of an option ( -- _ -0 -1 -1 ... -j is unknown and for p there is the g unknown -> -_011....jpg)
After this I choose in digikam only one single folder with no other filename as numbers but same result
I still think there is a problem with digikam itself because this problem discovers always with face recognition / some changes on faces. (like the rectangle)
I'm sorry I can't give some output of gdb, but here on my opensuse it does not work, also KDE crash handler is not able to give more information (most often digikam dies silently after Error #35 of exiv2)
Updated by Johannes Kapune over 6 years ago
- File digikam_gdb_laptop digikam_gdb_laptop added
Johannes Kapune wrote:
Alan Pater wrote:
So what happens if you run digikam on a folder of images without the filenames begining in "--"? In other words, if all the images have names beginning with a letter or a number, no other characters.
nothing, as you can see under #8
as you can see in the file list too, first I erased the trailing --_ so only the numbers 01149 to 01161 are in this folder.
last comment was only because I realized that exiv2 seems to use the trailing minus-signs as part of an option ( --
_ -0 -1 -1 ... -j is unknown and for p there is the g unknown -> -_011....jpg)After this I choose in digikam only one single folder with no other filename as numbers but same result
I still think there is a problem with digikam itself because this problem discovers always with face recognition / some changes on faces. (like the rectangle)
I'm sorry I can't give some output of gdb, but here on my opensuse it does not work, also KDE crash handler is not able to give more information (most often digikam dies silently after Error #35 of exiv2)
here I can give a debug output with gdb. I have only one folder with 6 pictures in it. Only thing I have done was to name one single face in faces:unknown
hope this helps
Updated by Alan Pater over 6 years ago
- Tracker changed from Bug to Support
Maik of digikam suggests checking and updating the version of libkexiv2 on your system. I'm not sure how to do that on openSuse though.
Updated by Alan Pater over 6 years ago
- Subject changed from digikam freeezes when tagging faces to Crash when removing property of unregistered XMP namespace
- Category set to xmp
- Assignee changed from Alan Pater to Andreas Huggel
- Target version set to 0.26
Gilles Caulier: https://bugs.kde.org/show_bug.cgi?id=347753#c18
(gdb) bt #0 0x00007ffff0f494c0 in __cxa_throw () from /usr/lib64/libstdc++.so.6 #1 0x00007fffee5cea56 in Exiv2::XmpProperties::nsInfo(std::string const&) () from /usr/lib64/libexiv2.so.13 #2 0x00007fffee5ceb30 in Exiv2::XmpProperties::ns(std::string const&) () from /usr/lib64/libexiv2.so.13 #3 0x00007fffee5cf36b in Exiv2::XmpKey::Impl::decomposeKey(std::string const&) () from /usr/lib64/libexiv2.so.13 #4 0x00007fffee5cf735 in Exiv2::XmpKey::XmpKey(std::string const&) () from /usr/lib64/libexiv2.so.13 #5 0x00007ffff639d805 in KExiv2Iface::KExiv2::removeXmpTag(char const*, bool) const () from /usr/lib64/libkexiv2.so.11
It look like Exiv2 debug symbols are not installed. So it's impossible to see exactly where in Exiv2 code the problem appears.
I recommend :- to install Exiv2 debug package and try to get a better GDB backtrace.
- to catch exception directly in GDB before to run digiKam, as explained at https://www.digikam.org/contrib
I suspect that Adobe XMP SDK generate an exception which is not catch by Exiv2 code.
Updated by Alan Pater over 5 years ago
- Category changed from xmp to not-a-bug
- Status changed from Assigned to Closed
- Assignee changed from Andreas Huggel to Alan Pater
- % Done changed from 0 to 100
- Estimated time set to 2.00 h
This report from last year is typical of reports involving digikam. The root cause was out-of-sync exiv2 library versions on the affected system.
Solution was to remove all old exiv2 library versions on the affected system and update to version 0.25 of libexiv2.