[digikam] [Bug 347753] New: surface freezes after some faces tagged

classic Classic list List threaded Threaded
30 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] New: surface freezes after some faces tagged

Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

            Bug ID: 347753
           Summary: surface freezes after some faces tagged
           Product: digikam
           Version: 4.10.0
          Platform: openSUSE RPMs
                OS: Linux
            Status: UNCONFIRMED
          Severity: crash
          Priority: NOR
         Component: Albums GUI
          Assignee: [hidden email]
          Reporter: [hidden email]

after naming faces on some different pictures the main surface freezes

Reproducible: Always

Steps to Reproduce:
1. open an album
2. open first picture
3. name a face
4. go to next picture, name a face
5. ... n.  after several times the surface freezes
no chance to choose an other picture or an other album
hitting the cloese - x (upper right corner) takes some time before  a message
box pops up :

digikam does not react  process 12345

and you can choose button: Prozess digikam beenden?  (to end digikam process?)


Actual Results:  
after surface is frozen only killing the process of digikam is working


after this I started digikam without gdb from command line and get a lot of
error messages

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #1 from Johannes <[hidden email]> ---
Created attachment 92614
  --> https://bugs.kde.org/attachment.cgi?id=92614&action=edit
output of gdb start

sorry, I'm not able to get the debug symbols in place

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #2 from Johannes <[hidden email]> ---
Created attachment 92615
  --> https://bugs.kde.org/attachment.cgi?id=92615&action=edit
start of digikam from command line

output when starting digikam without gdb from command line and than getting a
lot of error messages

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |[hidden email]
          Component|Albums GUI                  |libkexiv2
         Resolution|---                         |UPSTREAM

--- Comment #3 from Gilles Caulier <[hidden email]> ---
It crash in Exiv2 shared library.

Please report this problem including backtraces to Exiv2 bugzilla and possible
relevant image files causing problem :

http://dev.exiv2.org/projects/exiv2/issues

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #4 from Johannes <[hidden email]> ---
http://dev.exiv2.org/issues/1082

Am 15.05.2015 um 14:44 schrieb Gilles Caulier:

> https://bugs.kde.org/show_bug.cgi?id=347753
>
> Gilles Caulier <[hidden email]> changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>               Status|UNCONFIRMED                 |RESOLVED
>                   CC|                            |[hidden email]
>            Component|Albums GUI                  |libkexiv2
>           Resolution|---                         |UPSTREAM
>
> --- Comment #3 from Gilles Caulier <[hidden email]> ---
> It crash in Exiv2 shared library.
>
> Please report this problem including backtraces to Exiv2 bugzilla and possible
> relevant image files causing problem :
>
> http://dev.exiv2.org/projects/exiv2/issues
>
> Gilles Caulier
>

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Alan Pater
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

Alan Pater <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #5 from Alan Pater <[hidden email]> ---
Gilles, please take a look at the discussion on this over at exiv2:
http://dev.exiv2.org/issues/1082#note-8

What do you think?  Might the use of filenames beginning in "---_" be an issue?

Or some strange interaction with acdsee support in 4.10.0?

--
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'

--

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Maik Qualmann
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

Maik Qualmann <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #6 from Maik Qualmann <[hidden email]> ---
Hi Alan,

the user must update the libkexiv2 to the version from digiKam 4.10.0.

digikam(6311)/KEXIV2: Cannot remove Xmp tag using Exiv2 (Error # 35 : No
namespace info avaible for XMP prefix 'acdsee'

Maik

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #7 from Johannes <[hidden email]> ---
Created attachment 92736
  --> https://bugs.kde.org/attachment.cgi?id=92736&action=edit
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

after this digikam crashes silently

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #8 from Johannes <[hidden email]> ---
Created attachment 92740
  --> https://bugs.kde.org/attachment.cgi?id=92740&action=edit
this is what is installed

what is needed version number and where to get for my openSUSE 13.2?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #9 from Gilles Caulier <[hidden email]> ---
Alan,

The backtrace available in Exiv2 report is clear :

(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
#6  0x00007ffff5c88b95 in Digikam::DMetadata::setImageTitles
(this=this@entry=0x7fffbea895d0, titles=...)
    at /usr/src/debug/digikam-4.10.0/core/libs/dmetadata/dmetadata.cpp:607
#7  0x0000000000625a30 in Digikam::MetadataHub::write
(this=this@entry=0x7fffbea89640, metadata=...,
    writeMode=writeMode@entry=Digikam::MetadataHub::FullWrite, settings=...) at
/usr/src/debug/digikam-4.10.0/core/app/fileaction/metadatahub.cpp:680
#8  0x0000000000627341 in Digikam::MetadataHub::write
(this=this@entry=0x7fffbea89640, filePath=...,
    writeMode=writeMode@entry=Digikam::MetadataHub::FullWrite, settings=...) at
/usr/src/debug/digikam-4.10.0/core/app/fileaction/metadatahub.cpp:762
#9  0x000000000062f943 in
Digikam::FileActionMngrFileWorker::writeMetadataToFiles (this=<optimized out>,
infos=...)
    at /usr/src/debug/digikam-4.10.0/core/app/fileaction/fileworkeriface.cpp:94

The crash come from Exiv2.
This due because xmp namespace from ACDSee is not know by Exiv2.
Why exiv2 crash here ? There is no reason...
I'm not sure if it's a C++ exception (even  we can see "__cxa_throw ()" in
backtrace).
Because, i'm sure to have patched in far pass libkexiv2 to catch properly Exiv2
exceptions into libkexiv2 (This is one reason why libkexiv2 exist).

The crash is reproducible with Exiv2 CLI tool to try to manipulate ACDSee
namespace as well (or a small test program can be written in this way) ?

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #10 from Gilles Caulier <[hidden email]> ---
Johannes ,

As Maik said digiKam use libkexiv2 interface to play with Exiv2 API. Last
Libkexiv2 code is available in digiKam, but generally, distro use
kdegraphics/libs components to link digiKam, because this lib is released
officially through KDE.

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Alan Pater
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #11 from Alan Pater <[hidden email]> ---
Thank you Gilles

I assume this means that exiv2 will crash on any XMP namespace that an
application like digikam tries to register internally, like you do with acdsee?

In which case, the same should happen with the lr namespace, correct? That is
another one that exiv2 < 0.25 did not know about.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #12 from Gilles Caulier <[hidden email]> ---
Alan,

Look in backtrace better :

#5  0x00007ffff639d805 in KExiv2Iface::KExiv2::removeXmpTag(char const*, bool)
const () from /usr/lib64/libkexiv2.so.11
#6  0x00007ffff5c88b95 in Digikam::DMetadata::setImageTitles
(this=this@entry=0x7fffbea895d0, titles=...)
    at /usr/src/debug/digikam-4.10.0/core/libs/dmetadata/dmetadata.cpp:607

It call this  :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/libs/dmetadata/dmetadata.cpp#L607

It's clear. It's not the registration of ACDSee namepace which crash Exiv2, but
the use of an XMP tags with an unknown namespace...

==> removeXmpTag("Xmp.acdsee.caption");

So, it's very easy to check if Exiv2 CLI tool crash in this situation : just
try to remove this XMP tag as well from the image and look what's happen.

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Alan Pater
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #13 from Alan Pater <[hidden email]> ---
The images that Johannes has do not have any acdsee metadata.

A simple test did not crash exiv2 CLI. I first tested on a jpeg that does have
acdsee metadata and second on a jpeg that does not have acdsee metadata.

$ exiv2 -V
exiv2 0.24 001800 (64 bit build)

$ exiv2 -M"del Xmp.acdsee.caption" image.with.acdsee.tags.jpg
-M option 1: Invalid key `Xmp.acdsee.caption'
exiv2: Error parsing -M option arguments

$ exiv2 -M"del Xmp.acdsee.caption" image.without.acdsee.tags.jpg
-M option 1: Invalid key `Xmp.acdsee.caption'
exiv2: Error parsing -M option arguments

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Alan Pater
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #14 from Alan Pater <[hidden email]> ---
==> removeXmpTag("Xmp.acdsee.caption");

This is the first and only time that the code tries to remove a tag of a
namespace that is unknown to exiv2. All the other instances of removeXmpTag are
of a known namespace.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #15 from Gilles Caulier <[hidden email]> ---
In original crash i can see :

#1  0x00007fffee5cea56 in Exiv2::XmpProperties::nsInfo(std::string const&) ()
from /usr/lib64/libexiv2.so.13

libexiv2.so.13 ==> is Exiv2 0.24 or a previous release ?

This error message :

-M option 1: Invalid key `Xmp.acdsee.caption'
exiv2: Error parsing -M option arguments

... want mean that a C++ exception is generated by Exiv2 kibrary and catch by
Exiv2 CLI tool ?

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Johannes Kapune
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #16 from Johannes <[hidden email]> ---
Created attachment 92742
  --> https://bugs.kde.org/attachment.cgi?id=92742&action=edit
output of tests if there is any tag of acdsee

as in comment #13

same version of exiv2 and no acdsee tag to see

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #17 from Gilles Caulier <[hidden email]> ---
Alan,

Also,

look like the code in libkexiv2 method removeXmpTag() is catch by C++ :

https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/revisions/master/entry/libkexiv2/kexiv2xmp.cpp#L1100

So, typically digiKam must not crash in this kind of situation.

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Gilles Caulier-4
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #18 from Gilles Caulier <[hidden email]> ---
Alan,

Look again the backtrace :

(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.

The previous test with Exiv2 CLI tool can be not enough. I suspect that CLI
interface check XMP tag to manage with M option before to do something in file
metadata.

Gilles

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 347753] surface freezes after some faces tagged

Alan Pater
In reply to this post by Johannes Kapune
https://bugs.kde.org/show_bug.cgi?id=347753

--- Comment #19 from Alan Pater <[hidden email]> ---
Great. I'll install all the debugging packages and try to reproduce the issue
with digikam 4.10.0 and exiv2 0.24.

Until this gets fixed in exiv2, perhaps digikam should not try to remove
unregistered XMP tags?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
12