Hi,
I am trying to make sense describing the problem, but clearly somebody should get in touch with Gilles Caulier to get the details of this problem that may be happening to far too many users.
In short, Digikam is crashing since a couple of days when the update 4.11 was available from KDE:EXTRA repo.
If you have this repo enabled and updated your OpenSuSE 13.2_x86-64 system, you will kill your Digikam.
The reason is that libexiv2 is still using EXIV2 version 0.24. This is a very buggy version that has made lots of problems specially with video files. I have read about this issue since long time and it is weird that version 0.25 has not yet been implemented despite it is available. For many users it is common to have video and image files together on the same folders managed by Digikam, but this triggers problems due to the known bugs on Exiv2 libraries V.0.24 and have been fixed by V. 0.25.
After contacting Digikam’s editor (Mr. Caulier) it seems to me that the problem relies on libexiv2-13 rpm that provides libexiv2.so.13 (so exiv2 version 0.24 instead of 0.25). I found on the built service, an available rpm libexiv2-14 that provides libexiv2.so.14 with exiv2 version 0.25. However, after installing it it did no difference. Digikam as well as others applications make no use of libexiv2-14 and request libexiv2-13.
I do not understand the details of this issue since Exiv2 is not installed as a package itself or used by default in Opensuse but instead some specific packages (ca. libexiv2 and libkexiv2) and the installation of EXIV2 package makes no difference. Digikam and other apps are requesting this libexiv2-13 package instead of EXIV2 directly or use the most recent version of libexiv2 available.
In summary this problem is happening in three of my four PCs, due to an auto-update feature. Since a couple of days Digikam, together with other apps, is crashing due to these updates that included Digikam 4.11 together with several KDE updates. The issue seems to be due to the urgent need of updating the posted files in KDE:EXTRA and UPDATE repos in order to get fully implemented Exiv2 0.25 quickly since 0.24 is full of bugs (at least about video files).
As my case I can imagine many other users are experiencing this problem.
I tried to downgrade to Digikam 4.10 (that was working fine prior the update), but it has been removed from KDE:EXTRA repo as well as from other repos, and replaced by 4.11 rpms. Finally I was able to find the 4.10 rpms on ftp://ftp.pbone.net/
I have one old box with Digikam 4.10 running fine and attempted to replicate the same rpms to recover control on the damaged PCs.
The list of packages related to Digikam of the running box is:digikam_4.10.0-42.9
digikam-doc_4.10.0-42.9
libkexiv2-11_14.12.3-16.1 (used by digikam)
libexiv2-13_0.24-4.1.9 (notice this has no “k” - it is a different rpm than libkexiv2 and is used by several kde apps)
libkface_14.12.3-10.1
libkface3_14.12.3-10.1
libkgeomap2_4.10.0-42.9
libkipi11_14.12.3-16.1
kipi-plugins-4.10.0-42.9
kipi-plugins-acquireimage-4.10.0-42.9
kipi-plugins-geolocation-4.10.0-42.9
hugin_2013.0.0-3.1.4
libgphoto2-6_2.5.5.1-1.3
libqt_4.8.6-4.4.1
libopencv2_4 (2.4.9-2.1.9)
(exiv2 is not installed, so the libs are the previous - and installing exiv2 rpm with 0.25 does not make any difference)
However the attempt failed. Digikam 4.10 is crashing at startup just the same way as its updated version 4.11.
Here I post part of the crash information of the box with the replica of the running box (the complete code is too long for the allowed size on the post). The crash code when having Digikam 4.11 installed is the same despite the attempts of installing libexiv2-14 / Exiv2 (v0.25), etc.
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe052aaa880 (LWP 2319))]
Thread 30 (Thread 0x7fe02beb5700 (LWP 2343)):
[KCrash Handler]
#5 0x00007fe04b4c9187 in raise () at /lib64/libc.so.6
#6 0x00007fe04b4ca538 in abort () at /lib64/libc.so.6
#7 0x00007fe04b506844 in () at /lib64/libc.so.6
#8 0x00007fe04b50c0ae in malloc_printerr () at /lib64/libc.so.6
#9 0x00007fe04b50cdb6 in _int_free () at /lib64/libc.so.6
#10 0x00007fe03f89ecd1 in () at /usr/lib64/tls/libnvidia-tls.so.304.125
#11 0x00007fe04914f197 in Exiv2::RiffVideo::infoTagsHandler() () at /usr/lib64/libexiv2.so.13
#12 0x00007fe049154025 in Exiv2::RiffVideo::decodeBlock() () at /usr/lib64/libexiv2.so.13
#13 0x00007fe049153c78 in Exiv2::RiffVideo::tagDecoder(Exiv2::DataBuf&, unsigned long) () at /usr/lib64/libexiv2.so.13
#14 0x00007fe049154025 in Exiv2::RiffVideo::decodeBlock() () at /usr/lib64/libexiv2.so.13
#15 0x00007fe049154398 in Exiv2::RiffVideo::readMetadata() () at /usr/lib64/libexiv2.so.13
#16 0x00007fe050ed51a5 in KExiv2Iface::KExiv2::load(QString const&) const () at /usr/lib64/libkexiv2.so.11
#17 0x00007fe0507ee3e6 in Digikam::DMetadata::load(QString const&) const () at /usr/lib64/libdigikamcore.so.4.10.0
#18 0x00007fe05023e66f in Digikam::ImageScanner::loadFromDisk() () at /usr/lib64/libdigikamdatabase.so.4.10.0
#19 0x00007fe05023e850 in Digikam::ImageScanner::newFile(int) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#20 0x00007fe0501d7056 in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#21 0x00007fe0501da1df in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#22 0x00007fe0501da097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#23 0x00007fe0501da097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#24 0x00007fe0501da097 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#25 0x00007fe0501daaa3 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () at /usr/lib64/libdigikamdatabase.so.4.10.0
#26 0x00007fe0501db67d in Digikam::CollectionScanner::completeScan() () at /usr/lib64/libdigikamdatabase.so.4.10.0
#27 0x00000000005e3f2f in ()
#28 0x00007fe04c05879f in () at /usr/lib64/libQtCore.so.4
#29 0x00007fe0476b7754 in () at /usr/X11R6/lib64/libGL.so.1
#30 0x00007fe0494c50a4 in start_thread () at /lib64/libpthread.so.0
#31 0x00007fe04b57908d in clone () at /lib64/libc.so.6
Thread 29 (Thread 0x7fe02b6b4700 (LWP 2344)):
#0 0x00007fe043634ae2 in () at /usr/lib64/libglib-2.0.so.0
#1 0x00007fe043634cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#2 0x00007fe04c1870de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#3 0x00007fe04c158e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#4 0x00007fe04c159165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#5 0x00007fe04c0560bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#6 0x00007fe04c13a783 in () at /usr/lib64/libQtCore.so.4
#7 0x00007fe04c05879f in () at /usr/lib64/libQtCore.so.4
#8 0x00007fe0476b7754 in () at /usr/X11R6/lib64/libGL.so.1
#9 0x00007fe0494c50a4 in start_thread () at /lib64/libpthread.so.0
#10 0x00007fe04b57908d in clone () at /lib64/libc.so.6
...
Thread 1 (Thread 0x7fe052aaa880 (LWP 2319)):
#0 0x00007fe0494c905f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1 0x00007fe04c058c86 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQtCore.so.4
#2 0x00007fe04c04b912 in () at /usr/lib64/libQtCore.so.4
#3 0x00007fe04c04cd75 in QThreadPool::~QThreadPool() () at /usr/lib64/libQtCore.so.4
#4 0x00007fe04c04cda9 in QThreadPool::~QThreadPool() () at /usr/lib64/libQtCore.so.4
#5 0x00007fe04c170ae8 in QObjectPrivate::deleteChildren() () at /usr/lib64/libQtCore.so.4
#6 0x00007fe04c17307f in QObject::~QObject() () at /usr/lib64/libQtCore.so.4
#7 0x00007fe050859c07 in () at /usr/lib64/libdigikamcore.so.4.10.0
#8 0x00007fe04b4cbbf9 in __run_exit_handlers () at /lib64/libc.so.6
#9 0x00007fe04b4cbc45 in () at /lib64/libc.so.6
#10 0x00007fe04cbcefc8 in () at /usr/lib64/libQtGui.so.4
#11 0x00007fe04d87f9c0 in KApplication::xioErrhandler(_XDisplay*) () at /usr/lib64/libkdeui.so.5
#12 0x00007fe049a643be in _XIOError () at /usr/lib64/libX11.so.6
#13 0x00007fe049a61dbd in _XEventsQueued () at /usr/lib64/libX11.so.6
#14 0x00007fe049a53deb in XEventsQueued () at /usr/lib64/libX11.so.6
#15 0x00007fe04cc050ec in () at /usr/lib64/libQtGui.so.4
#16 0x00007fe043634661 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#17 0x00007fe043634b7b in () at /usr/lib64/libglib-2.0.so.0
#18 0x00007fe043634cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#19 0x00007fe04c1870de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#20 0x00007fe04cc05676 in () at /usr/lib64/libQtGui.so.4
#21 0x00007fe04c158e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#22 0x00007fe04c159165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#23 0x00000000005dfcb9 in ()
#24 0x000000000052fb17 in ()
#25 0x00007fe04c17259e in QObject::event(QEvent*) () at /usr/lib64/libQtCore.so.4
#26 0x00007fe04cb6876c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#27 0x00007fe04cb6ecad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#28 0x00007fe04d880e0a in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#29 0x00007fe04c15a2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#30 0x00007fe04c15d57d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQtCore.so.4
#31 0x00007fe04c1878fe in () at /usr/lib64/libQtCore.so.4
#32 0x00007fe043634a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#33 0x00007fe043634c48 in () at /usr/lib64/libglib-2.0.so.0
#34 0x00007fe043634cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#35 0x00007fe04c1870be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#36 0x00007fe04cc05676 in () at /usr/lib64/libQtGui.so.4
#37 0x00007fe04c158e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#38 0x00007fe04c159165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#39 0x00007fe04c15e5b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#40 0x00000000004a0fd0 in ()
#41 0x00007fe04b4b5b05 in __libc_start_main () at /lib64/libc.so.6
#42 0x00000000004a38cf in _start ()
Many thanks in advance.
gps