Bug 204042 - Crash when importing XMP file
Summary: Crash when importing XMP file
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Xmp (show other bugs)
Version: 1.0.0
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-16 13:22 UTC by François Tissandier
Modified: 2021-04-07 18:37 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.3.0


Attachments
XMP crashing down Digikam (1.55 KB, text/plain)
2009-08-17 20:49 UTC, François Tissandier
Details

Note You need to log in before you can comment on or make changes to this bug.
Description François Tissandier 2009-08-16 13:22:54 UTC
Application that crashed: digikam
Version of the application: 1.0.0-beta3
KDE Version: 4.3.00 (KDE 4.3.0)
Qt Version: 4.5.2
Operating System: Linux 2.6.28-14-generic i686
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
Digikam just crashes when trying to import an XMP file from Bibble Pro 5 Preview version 2.2b

Step to reproduce: choose a photo, click on "Image" menu, MetaData, Import XMP, choose the xmp file created by Bibble.

 -- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 0 (LWP 6009)]

Thread 16 (Thread 0xb1f0ab90 (LWP 6010)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0x08309681 in ?? ()
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 15 (Thread 0xb12ffb90 (LWP 6310)):
#0  0xb5304f81 in pthread_getspecific () from /lib/tls/i686/cmov/libpthread.so.0
#1  0xb55e9de0 in QThreadData::current () from /usr/lib/libQtCore.so.4
#2  0xb570a6df in ?? () from /usr/lib/libQtCore.so.4
#3  0xb570a749 in ?? () from /usr/lib/libQtCore.so.4
#4  0xb3b396f6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#5  0xb3b39fdd in ?? () from /usr/lib/libglib-2.0.so.0
#6  0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#7  0xb570a317 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#8  0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#9  0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#10 0xb55e6e19 in QThread::exec () from /usr/lib/libQtCore.so.4
#11 0xb6f6480d in ?? () from /usr/lib/libdigikamdatabase.so.1
#12 0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#13 0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 14 (Thread 0xb04ffb90 (LWP 6311)):
#0  0xb3a9d0ac in clock_gettime () from /lib/tls/i686/cmov/librt.so.1
#1  0xb570c04b in ?? () from /usr/lib/libQtCore.so.4
#2  0xb570c221 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb570de0c in ?? () from /usr/lib/libQtCore.so.4
#4  0xb570a4da in ?? () from /usr/lib/libQtCore.so.4
#5  0xb3b399c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb3b39dda in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb570a317 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#9  0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#10 0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#11 0xb55e6e19 in QThread::exec () from /usr/lib/libQtCore.so.4
#12 0xb6f6480d in ?? () from /usr/lib/libdigikamdatabase.so.1
#13 0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#14 0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#15 0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 13 (Thread 0xafcfeb90 (LWP 6312)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7153a7a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 12 (Thread 0xaf4fdb90 (LWP 6313)):
#0  0xb3a9d0ac in clock_gettime () from /lib/tls/i686/cmov/librt.so.1
#1  0xb570c04b in ?? () from /usr/lib/libQtCore.so.4
#2  0xb570c221 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb570de0c in ?? () from /usr/lib/libQtCore.so.4
#4  0xb570a4da in ?? () from /usr/lib/libQtCore.so.4
#5  0xb3b399c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb3b39dda in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb570a317 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#9  0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#10 0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#11 0xb55e6e19 in QThread::exec () from /usr/lib/libQtCore.so.4
#12 0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#13 0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 11 (Thread 0xaecfcb90 (LWP 6314)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53ecae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb3b4774b in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb3b39f82 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb570a317 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#6  0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#7  0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#8  0xb55e6e19 in QThread::exec () from /usr/lib/libQtCore.so.4
#9  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#10 0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 10 (Thread 0xae4fbb90 (LWP 6315)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7153a7a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 9 (Thread 0xab8d8b90 (LWP 6316)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb5304412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5406344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb083fae3 in ?? () from /usr/lib/libxine.so.1

Thread 8 (Thread 0xaac37b90 (LWP 6318)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53ef7b1 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0xb08697d6 in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 7 (Thread 0xaa436b90 (LWP 6319)):
#0  0xb570a601 in ?? () from /usr/lib/libQtCore.so.4
#1  0xb3b396f6 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2  0xb3b39fdd in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb570a317 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#5  0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#6  0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#7  0xb55e6e19 in QThread::exec () from /usr/lib/libQtCore.so.4
#8  0xb0a2920a in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#9  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#10 0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xa5c34b90 (LWP 6325)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53ecae7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xab059b19 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 5 (Thread 0xa9c2fb90 (LWP 6326)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb0850d8e in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0xa8b5ab90 (LWP 6343)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7153a7a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread 0xa4effb90 (LWP 6400)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7153a7a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xa7b07b90 (LWP 6401)):
#0  0xb7f63430 in __kernel_vsyscall ()
#1  0xb53040e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb54062ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb55eb172 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7153a7a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1
#5  0xb55ea132 in ?? () from /usr/lib/libQtCore.so.4
#6  0xb53004ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb53f749e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb36a8700 (LWP 6009)):
[KCrash Handler]
#6  0xb7f63430 in __kernel_vsyscall ()
#7  0xb533e6d0 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb5340098 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb55688f8 in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/libstdc++.so.6
#10 0xb55667d5 in ?? () from /usr/lib/libstdc++.so.6
#11 0xb5566812 in std::terminate () from /usr/lib/libstdc++.so.6
#12 0xb556694a in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0xb4fec960 in ?? () from /usr/lib/libexiv2.so.5
#14 0xb4f55cb0 in ?? () from /usr/lib/libexiv2.so.5
#15 0xb4f4e186 in ?? () from /usr/lib/libexiv2.so.5
#16 0xb4f4e24c in Exiv2::copyXmpToExif () from /usr/lib/libexiv2.so.5
#17 0xb4ff35b6 in Exiv2::XmpSidecar::readMetadata () from /usr/lib/libexiv2.so.5
#18 0xb77825cf in KExiv2Iface::KExiv2::load () from /usr/lib/libkexiv2.so.7
#19 0xa7043d5f in ?? () from /usr/lib/kde4/kipiplugin_metadataedit.so
#20 0xa7046028 in ?? () from /usr/lib/kde4/kipiplugin_metadataedit.so
#21 0xb56f41b8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#22 0xb56f45f0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#23 0xb5b986c1 in QAction::triggered () from /usr/lib/libQtGui.so.4
#24 0xb5b99c3f in QAction::activate () from /usr/lib/libQtGui.so.4
#25 0xb5feb0e4 in ?? () from /usr/lib/libQtGui.so.4
#26 0xb5ff183b in ?? () from /usr/lib/libQtGui.so.4
#27 0xb5ff2382 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
#28 0xb6880eb5 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#29 0xb5bf5973 in QWidget::event () from /usr/lib/libQtGui.so.4
#30 0xb5ff4639 in QMenu::event () from /usr/lib/libQtGui.so.4
#31 0xb5b9ed3c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#32 0xb5ba79b1 in QApplication::notify () from /usr/lib/libQtGui.so.4
#33 0xb67985cd in KApplication::notify () from /usr/lib/libkdeui.so.5
#34 0xb56debcb in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#35 0xb5ba6a1e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#36 0xb5c16f56 in ?? () from /usr/lib/libQtGui.so.4
#37 0xb5c16085 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#38 0xb5c4137a in ?? () from /usr/lib/libQtGui.so.4
#39 0xb3b36b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0xb3b3a0eb in ?? () from /usr/lib/libglib-2.0.so.0
#41 0xb3b3a268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#42 0xb570a2f8 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#43 0xb5c40a75 in ?? () from /usr/lib/libQtGui.so.4
#44 0xb56dd1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#45 0xb56dd642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#46 0xb56dfae9 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#47 0xb5b9ebb7 in QApplication::exec () from /usr/lib/libQtGui.so.4
#48 0x08386133 in ?? ()
#49 0xb5329775 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#50 0x0809df61 in _start ()

Reported using DrKonqi
Comment 1 Andreas Huggel 2009-08-17 03:42:02 UTC
François,

Can you please attach an XMP file which causes the problem?

Gilles,

This is the interesting part. It looks like Exiv2 throws an exception while reading the sideacar file. 

#11 0xb5566812 in std::terminate () from /usr/lib/libstdc++.so.6
#12 0xb556694a in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0xb4fec960 in ?? () from /usr/lib/libexiv2.so.5
#14 0xb4f55cb0 in ?? () from /usr/lib/libexiv2.so.5
#15 0xb4f4e186 in ?? () from /usr/lib/libexiv2.so.5
#16 0xb4f4e24c in Exiv2::copyXmpToExif () from /usr/lib/libexiv2.so.5
#17 0xb4ff35b6 in Exiv2::XmpSidecar::readMetadata () from
/usr/lib/libexiv2.so.5
#18 0xb77825cf in KExiv2Iface::KExiv2::load () from /usr/lib/libkexiv2.so.7
Comment 2 caulier.gilles 2009-08-17 06:25:22 UTC
François, 

which Exiv2/libkexiv2 you use exactly ? Go to Help/Components Info for details

Gilles Caulier
Comment 3 François Tissandier 2009-08-17 20:49:06 UTC
Created attachment 36234 [details]
XMP crashing down Digikam
Comment 4 François Tissandier 2009-08-17 20:51:40 UTC
digiKam version 1.0.0-beta3
LibExiv2: 0.18
LibKExiv2: 0.6.0
Comment 5 caulier.gilles 2009-08-17 21:33:55 UTC
François,

I recomend to use Exiv2 0.18.2. libkexiv2 version is fine, but need to be re-compiled against Exiv2. To be sure that right Exiv2 version is used after updating, look into Help/Components Info dialog

Gilles Caulier
Comment 6 François Tissandier 2009-08-17 22:03:16 UTC
Thanks for the advice Gilles. 
But don't you think it should be fixed in the Ubuntu repos? I'm ok to update my exiv2 version, but most users won't know how to do that. 

It's the same problem with version 0.10, it's not only with the unstable version 1.0. So maybe it's worth a fix.
Comment 7 Andi Clemens 2009-08-17 22:54:56 UTC
Well we are not Ubuntu... we can not fix their problems.
Comment 8 Andreas Huggel 2009-08-18 06:17:34 UTC
This is an issue for exiv2, not digiKam. It leaks an exception from the XMP-SDK while trying to convert an invalid timestamp from the XMP file. I'll open an issue in the Exiv2 bug tracker for it.

The root cause of the problem is that the timestamps in the attached file are not in the correct format. They are in Exif format instead of ISO 8601 format, as required by the XMP standard.

Andreas
Comment 9 Andreas Huggel 2009-08-18 07:47:36 UTC
Link to the Exiv2 issue: http://dev.exiv2.org/issues/show/645
Comment 10 Marcel Wiesweg 2009-10-02 18:32:23 UTC
Issue is marked as resolved in the upstream tracker.
Comment 11 caulier.gilles 2021-04-07 18:37:44 UTC
Not reproducible with digiKam 7.3.0 + Exiv2 0.27.3