Version: 0.10.0-1 (using KDE 4.2.1) OS: Linux Installed from: Fedora RPMs Digikam crashes when scanning a particular image. I filed this bug http://dev.exiv2.org/issues/show/624 against exiv2 for a segmentation fault when scanning certain images. The bug report has a sample image attached. http://dev.exiv2.org/attachments/88/_DSCF0617.JPG The crash exists in 0.17 but is fixed in the 0.18 version. After upgrading my system with 0.18, Digikam still crashes when scanning this particular image. Either the dependencies were wrong or a similar bug exists in Digikam. (Gwenview also crashes with this image). I was hoping both of these programs used exiv2 to get information, but maybe that isn't the case. Digikam crash report: Application: digiKam (digikam), signal SIGSEGV [Current thread is 1 (Thread 0xb7f3f770 (LWP 7113))] Thread 9 (Thread 0xb6955b90 (LWP 7114)): [KCrash Handler] #6 0x0668dbe1 in Exiv2::ValueType<unsigned short>::toLong () from /usr/lib/libexiv2.so.4 #7 0x0669be63 in Exiv2::ExifData::getThumbnail () from /usr/lib/libexiv2.so.4 #8 0x0669c101 in Exiv2::ExifData::readThumbnail () from /usr/lib/libexiv2.so.4 #9 0x0669da09 in Exiv2::ExifData::load () from /usr/lib/libexiv2.so.4 #10 0x066b6608 in Exiv2::JpegBase::readMetadata () from /usr/lib/libexiv2.so.4 #11 0x00be138b in KExiv2Iface::KExiv2::load () from /usr/lib/libkexiv2.so.7 #12 0x0027456c in Digikam::DMetadata::load () from /usr/lib/libdigikamcore.so.1 #13 0x00631b11 in Digikam::ImageScanner::loadFromDisk () from /usr/lib/libdigikamdatabase.so.1 #14 0x00638682 in Digikam::ImageScanner::newFile () from /usr/lib/libdigikamdatabase.so.1 #15 0x0062a80a in Digikam::CollectionScanner::scanNewFile () from /usr/lib/libdigikamdatabase.so.1 #16 0x0062bd9f in Digikam::CollectionScanner::scanAlbum () from /usr/lib/libdigikamdatabase.so.1 #17 0x0062c807 in Digikam::CollectionScanner::scanAlbumRoot () from /usr/lib/libdigikamdatabase.so.1 #18 0x0062caae in Digikam::CollectionScanner::completeScan () from /usr/lib/libdigikamdatabase.so.1 #19 0x0827e987 in ?? () #20 0x00f5875e in ?? () from /usr/lib/libQtCore.so.4 #21 0x00b8251f in start_thread () from /lib/libpthread.so.0 #22 0x00ab804e in clone () from /lib/libc.so.6 Thread 8 (Thread 0xb5e34b90 (LWP 7115)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00b86105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x00f597a2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0x002daf4a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1 #4 0x00f5875e in ?? () from /usr/lib/libQtCore.so.4 #5 0x00b8251f in start_thread () from /lib/libpthread.so.0 #6 0x00ab804e in clone () from /lib/libc.so.6 Thread 7 (Thread 0xb5433b90 (LWP 7116)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00b86105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x00f597a2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0x002daf4a in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1 #4 0x00f5875e in ?? () from /usr/lib/libQtCore.so.4 #5 0x00b8251f in start_thread () from /lib/libpthread.so.0 #6 0x00ab804e in clone () from /lib/libc.so.6 Thread 6 (Thread 0xb34eab90 (LWP 7121)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00b86432 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x07a61c51 in ?? () from /usr/lib/libxine.so.1 #3 0x00b8251f in start_thread () from /lib/libpthread.so.0 #4 0x00ab804e in clone () from /lib/libc.so.6 Thread 5 (Thread 0xb26deb90 (LWP 7122)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00ab03d1 in select () from /lib/libc.so.6 #2 0x07a8d29a in xine_usec_sleep () from /usr/lib/libxine.so.1 #3 0x07a70535 in ?? () from /usr/lib/libxine.so.1 #4 0x00b8251f in start_thread () from /lib/libpthread.so.0 #5 0x00ab804e in clone () from /lib/libc.so.6 Thread 4 (Thread 0xb1cddb90 (LWP 7123)): #0 0x005a654a in clock_gettime () from /lib/librt.so.1 #1 0x0107542b in ?? () from /usr/lib/libQtCore.so.4 #2 0x01075601 in ?? () from /usr/lib/libQtCore.so.4 #3 0x0107713c in ?? () from /usr/lib/libQtCore.so.4 #4 0x010739da in ?? () from /usr/lib/libQtCore.so.4 #5 0x0122d142 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #6 0x0122d5ca in ?? () from /lib/libglib-2.0.so.0 #7 0x0122daa1 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #8 0x01073817 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #9 0x0104788a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #10 0x01047a4a in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #11 0x00f554d9 in QThread::exec () from /usr/lib/libQtCore.so.4 #12 0x013a2802 in Phonon::MediaSource::type () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #13 0x00f5875e in ?? () from /usr/lib/libQtCore.so.4 #14 0x00b8251f in start_thread () from /lib/libpthread.so.0 #15 0x00ab804e in clone () from /lib/libc.so.6 Thread 3 (Thread 0xb12dcb90 (LWP 7124)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00aad777 in poll () from /lib/libc.so.6 #2 0x022e8937 in ?? () from /usr/lib/libpulse.so.0 #3 0x08eb0f80 in ?? () #4 0x00000002 in ?? () #5 0xffffffff in ?? () #6 0xffffffff in ?? () #7 0x00000000 in ?? () Thread 2 (Thread 0xac8dab90 (LWP 7125)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00b86105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x07a74064 in ?? () from /usr/lib/libxine.so.1 #3 0x00b8251f in start_thread () from /lib/libpthread.so.0 #4 0x00ab804e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb7f3f770 (LWP 7113)): #0 0x00c69416 in __kernel_vsyscall () #1 0x00b86432 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x00f58169 in ?? () from /usr/lib/libQtCore.so.4 #3 0x00f5829b in QThread::msleep () from /usr/lib/libQtCore.so.4 #4 0x013c84a4 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #5 0x04d9cc32 in ?? () from /usr/lib/libphonon.so.4 #6 0x04d9a165 in ?? () from /usr/lib/libphonon.so.4 #7 0x04d9734b in ?? () from /usr/lib/libphonon.so.4 #8 0x00a02949 in exit () from /lib/libc.so.6 #9 0x0351bafb in ?? () from /usr/lib/libQtGui.so.4 #10 0x05e69aaa in KApplication::xioErrhandler () from /usr/lib/libkdeui.so.5 #11 0x05e69ae6 in ?? () from /usr/lib/libkdeui.so.5 #12 0x00e24c12 in _XIOError () from /usr/lib/libX11.so.6 #13 0x00e2cbf5 in ?? () from /usr/lib/libX11.so.6 #14 0x00e2d445 in _XEventsQueued () from /usr/lib/libX11.so.6 #15 0x00e154cf in XEventsQueued () from /usr/lib/libX11.so.6 #16 0x0355474a in ?? () from /usr/lib/libQtGui.so.4 #17 0x0122d142 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #18 0x0122d5ca in ?? () from /lib/libglib-2.0.so.0 #19 0x0122daa1 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #20 0x01073817 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #21 0x03554515 in ?? () from /usr/lib/libQtGui.so.4 #22 0x0104788a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #23 0x01047a4a in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #24 0x0827e223 in ?? () #25 0x080c7897 in ?? () #26 0x080c2740 in ?? () #27 0x080d0a1a in ?? () #28 0x080d0d1d in ?? () #29 0x0105ddf0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #30 0x0105eb72 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #31 0x05dd7347 in KDialog::okClicked () from /usr/lib/libkdeui.so.5 #32 0x05dd9e58 in KDialog::slotButtonClicked () from /usr/lib/libkdeui.so.5 #33 0x05ddb1a4 in KDialog::qt_metacall () from /usr/lib/libkdeui.so.5 #34 0x05e992ca in KPageDialog::qt_metacall () from /usr/lib/libkdeui.so.5 #35 0x080d0cff in ?? () #36 0x0105ddf0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #37 0x0105eb72 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #38 0x01061c03 in QSignalMapper::mapped () from /usr/lib/libQtCore.so.4 #39 0x0106248d in QSignalMapper::map () from /usr/lib/libQtCore.so.4 #40 0x0106267e in QSignalMapper::map () from /usr/lib/libQtCore.so.4 #41 0x01062f4b in QSignalMapper::qt_metacall () from /usr/lib/libQtCore.so.4 #42 0x0105ddf0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #43 0x0105e1f0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #44 0x03aa8761 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4 #45 0x037fbab9 in ?? () from /usr/lib/libQtGui.so.4 #46 0x037fd694 in ?? () from /usr/lib/libQtGui.so.4 #47 0x037fd926 in QAbstractButton::mouseReleaseEvent () from /usr/lib/libQtGui.so.4 #48 0x035136f2 in QWidget::event () from /usr/lib/libQtGui.so.4 #49 0x037fb95e in QAbstractButton::event () from /usr/lib/libQtGui.so.4 #50 0x038a2210 in QPushButton::event () from /usr/lib/libQtGui.so.4 #51 0x034bb68c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #52 0x034c3e81 in QApplication::notify () from /usr/lib/libQtGui.so.4 #53 0x05e6a0fd in KApplication::notify () from /usr/lib/libkdeui.so.5 #54 0x010491c1 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #55 0x034c310e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4 #56 0x0352d456 in ?? () from /usr/lib/libQtGui.so.4 #57 0x0352c7e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4 #58 0x03554e1a in ?? () from /usr/lib/libQtGui.so.4 #59 0x0122a238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #60 0x0122d8e3 in ?? () from /lib/libglib-2.0.so.0 #61 0x0122daa1 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #62 0x010737f8 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #63 0x03554515 in ?? () from /usr/lib/libQtGui.so.4 #64 0x0104788a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #65 0x01047a4a in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #66 0x03927297 in QDialog::exec () from /usr/lib/libQtGui.so.4 #67 0x0822de88 in ?? () #68 0x0822df09 in ?? () #69 0x08243525 in ?? () #70 0x0105ddf0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #71 0x0105e1f0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #72 0x034b5391 in QAction::triggered () from /usr/lib/libQtGui.so.4 #73 0x034b5cff in QAction::activate () from /usr/lib/libQtGui.so.4 #74 0x03891e64 in ?? () from /usr/lib/libQtGui.so.4 #75 0x038928f2 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4 #76 0x05f491b5 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5 #77 0x035136f2 in QWidget::event () from /usr/lib/libQtGui.so.4 #78 0x03894be9 in QMenu::event () from /usr/lib/libQtGui.so.4 #79 0x034bb68c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #80 0x034c3e81 in QApplication::notify () from /usr/lib/libQtGui.so.4 #81 0x05e6a0fd in KApplication::notify () from /usr/lib/libkdeui.so.5 #82 0x010491c1 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #83 0x034c310e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4 #84 0x0352d6de in ?? () from /usr/lib/libQtGui.so.4 #85 0x0352c7e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4 #86 0x03554e1a in ?? () from /usr/lib/libQtGui.so.4 #87 0x0122a238 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #88 0x0122d8e3 in ?? () from /lib/libglib-2.0.so.0 #89 0x0122daa1 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #90 0x010737f8 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #91 0x03554515 in ?? () from /usr/lib/libQtGui.so.4 #92 0x0104788a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #93 0x01047a4a in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #94 0x0104a105 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #95 0x034bb507 in QApplication::exec () from /usr/lib/libQtGui.so.4 #96 0x082a25eb in ?? () #97 0x009ea6e5 in __libc_start_main () from /lib/libc.so.6 #98 0x08088991 in _start () Gwenview crash report: Application: Gwenview (gwenview), signal SIGSEGV [Current thread is 1 (Thread 0xb7ece770 (LWP 7583))] Thread 3 (Thread 0xb6892b90 (LWP 7584)): #0 0x00b0a416 in __kernel_vsyscall () #1 0x00b86105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x004767a2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0x00f2b5af in ?? () from /usr/lib/libgwenviewlib.so.4 #4 0x0047575e in ?? () from /usr/lib/libQtCore.so.4 #5 0x00b8251f in start_thread () from /lib/libpthread.so.0 #6 0x007e204e in clone () from /lib/libc.so.6 Thread 2 (Thread 0xb5c45b90 (LWP 7585)): [KCrash Handler] #6 0x0668dbe1 in Exiv2::ValueType<unsigned short>::toLong () from /usr/lib/libexiv2.so.4 #7 0x0669be63 in Exiv2::ExifData::getThumbnail () from /usr/lib/libexiv2.so.4 #8 0x0669c101 in Exiv2::ExifData::readThumbnail () from /usr/lib/libexiv2.so.4 #9 0x0669da09 in Exiv2::ExifData::load () from /usr/lib/libexiv2.so.4 #10 0x066b6608 in Exiv2::JpegBase::readMetadata () from /usr/lib/libexiv2.so.4 #11 0x00eedb48 in ?? () from /usr/lib/libgwenviewlib.so.4 #12 0x00ed9460 in ?? () from /usr/lib/libgwenviewlib.so.4 #13 0x00ed89cd in ?? () from /usr/lib/libgwenviewlib.so.4 #14 0x00ed9c91 in ?? () from /usr/lib/libgwenviewlib.so.4 #15 0x0046b8a4 in ?? () from /usr/lib/libQtCore.so.4 #16 0x0047575e in ?? () from /usr/lib/libQtCore.so.4 #17 0x00b8251f in start_thread () from /lib/libpthread.so.0 #18 0x007e204e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb7ece770 (LWP 7583)): #0 0x00b0a416 in __kernel_vsyscall () #1 0x00b86105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0x004767a2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0x0046b01a in ?? () from /usr/lib/libQtCore.so.4 #4 0x0046b4e3 in QThreadPool::~QThreadPool () from /usr/lib/libQtCore.so.4 #5 0x0046c4ca in ?? () from /usr/lib/libQtCore.so.4 #6 0x0072c949 in exit () from /lib/libc.so.6 #7 0x0351bafb in ?? () from /usr/lib/libQtGui.so.4 #8 0x05e69aaa in KApplication::xioErrhandler () from /usr/lib/libkdeui.so.5 #9 0x05e69ae6 in ?? () from /usr/lib/libkdeui.so.5 #10 0x008acc12 in _XIOError () from /usr/lib/libX11.so.6 #11 0x008b3cd3 in _XPutXCBBuffer () from /usr/lib/libX11.so.6 #12 0x008b4000 in ?? () from /usr/lib/libX11.so.6 #13 0x008a0d86 in XPutImage () from /usr/lib/libX11.so.6 #14 0x0359069c in ?? () from /usr/lib/libQtGui.so.4 #15 0x03581ada in QPixmap::fromImage () from /usr/lib/libQtGui.so.4 #16 0x03584764 in QPixmap::load () from /usr/lib/libQtGui.so.4 #17 0x03584f7d in QPixmap::QPixmap () from /usr/lib/libQtGui.so.4 #18 0x00f0c67c in Gwenview::ScrollTool::ScrollTool () from /usr/lib/libgwenviewlib.so.4 #19 0x00ee28a6 in Gwenview::ImageViewAdapter::ImageViewAdapter () from /usr/lib/libgwenviewlib.so.4 #20 0x00ede0f5 in Gwenview::DocumentView::createAdapterForDocument () from /usr/lib/libgwenviewlib.so.4 #21 0x00ede268 in Gwenview::DocumentView::finishOpenUrl () from /usr/lib/libgwenviewlib.so.4 #22 0x00ede5a0 in Gwenview::DocumentView::openUrl () from /usr/lib/libgwenviewlib.so.4 #23 0x0807edad in _start ()
Both programs, gwenview and digiKam use Exiv2 library. Gwenview play with exiv2 directly digiKam use libkexiv2 interface. So, it's definitively a bug in Exiv2... Sorry... Upgarding Exiv2 to new version is not enough becaus ebinary compatibilty between 0.17 and 0.18 is not preserved. I'm sure that gwenview and digiKam still use last version of Exiv2 and need to be recompiled against new version. To be go to digiKam Help/Components Info and look which Exiv2 version is used... Gilles Caulier Gilles Caulier
Ok, I see my mistake. I just updated the command line exiv2 and not libexiv2. Digikam is still using 0.17. I see that 0.18 is in Rawhide for Fedora but it looks like I would have to update almost my entire system to work out the dependencies.
Kerry, What's news about this entry. It still valid ? Gilles Caulier
I don't know. Fedora 10 is still on digikam-0.10.0-1.fc10.i386 which is compiled against Exiv2 0.17. Upgrading to the Rawhide version is just way too many dependencies for me to install it on my system. There is a test image attached to the exiv2 bug report, but I don't really have any way to test against the newer version yet. The image still crashes digikam on the version I have on my sytem.
Exiv2 bugzilla file is closed now. I close this file too... Gilles Caulier