Support #1082

Crash when removing property of unregistered XMP namespace

Added by Johannes Kapune about 2 years ago. Updated 11 months ago.

Status:ClosedStart date:15 May 2015
Priority:NormalDue date:
Assignee:Alan Pater% Done:

100%

Category:not-a-bugEstimated time:2.00 hours
Target version:0.26

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

digikam-gdb-20150515a - start digikam with gdb (23 KB) Johannes Kapune, 15 May 2015 14:24

digikam-start-20150515a - start digikam again without gdb from command line (39.5 KB) Johannes Kapune, 15 May 2015 14:24

digikam_gdb_laptop (15 KB) Johannes Kapune, 20 May 2015 17:47


Related issues

Related to Exiv2 - Feature #941: Upgrade xmpsdk source to Adobe's current version Assigned 27 Dec 2013

History

#1 Updated by Alan Pater about 2 years ago

Have you reported this to the digikam team?

#3 Updated by Johannes Kapune about 2 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

#4 Updated by Alan Pater about 2 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.

#5 Updated by Johannes Kapune about 2 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>

#6 Updated by Alan Pater about 2 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.

#7 Updated by Johannes Kapune about 2 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*
-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------
1 johannes users 59 20. Mai 15:00 .directory
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

#8 Updated by Johannes Kapune about 2 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>

#9 Updated by Alan Pater about 2 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.

#10 Updated by Johannes Kapune about 2 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)

#11 Updated by Johannes Kapune about 2 years ago

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

#12 Updated by Alan Pater about 2 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.

#13 Updated by Alan Pater about 2 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.

#14 Updated by Alan Pater 11 months 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

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.

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux