Bug 275539

Summary: Digikam crashes when opening an imported image
Product: [Applications] digikam Reporter: Vladan Lucic <vldnlcc>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ahuggel, caulier.gilles
Priority: NOR    
Version: 1.9.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 7.3.0
Sentry Crash Report:

Description Vladan Lucic 2011-06-13 11:57:23 UTC
Application: digikam (1.9.0)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.8-0.2-pae i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
I was importing images from a memory stick. Thumbnails show fine in the import window, but  attempting to open any of those images by either clicking on them or on the View icon (on the import window) crashes Digikam.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0xb1f28740 (LWP 25489))]

Thread 10 (Thread 0xafb42b70 (LWP 25491)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb42f3125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb491924c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bbeaa0 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x0822b2da in Digikam::ScanController::run (this=0x859cd10) at /usr/src/debug/digikam-1.9.0/digikam/scancontroller.cpp:571
#5  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#6  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#7  0xb490b46e in clone () from /lib/libc.so.6

Thread 9 (Thread 0xaf341b70 (LWP 25492)):
#0  0xb42f0fa0 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0xb4919464 in pthread_mutex_lock () from /lib/libc.so.6
#2  0xb2821f3b in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#3  0xb2822f22 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb4cebd77 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0xb4bbb7a9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0xb4c9c49d in ?? () from /usr/lib/libQtCore.so.4
#10 0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#11 0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#12 0xb490b46e in clone () from /lib/libc.so.6

Thread 8 (Thread 0xaeb40b70 (LWP 25504)):
#0  0xb4ceb827 in ?? () from /usr/lib/libQtCore.so.4
#1  0xb4ceb877 in ?? () from /usr/lib/libQtCore.so.4
#2  0xb28227d0 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0xb2823108 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb4cebd77 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0xb4bbb7a9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0xb65b9dfb in Digikam::ImageFilterModelWorker::Thread::run (this=0x8641d78) at /usr/src/debug/digikam-1.9.0/libs/models/imagefiltermodelthreads.h:74
#10 0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#11 0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#12 0xb490b46e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xae33fb70 (LWP 25505)):
#0  0xb265c22b in clock_gettime () from /lib/librt.so.1
#1  0xb4c19265 in ?? () from /usr/lib/libQtCore.so.4
#2  0xb4ceccf6 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb4ceb52b in ?? () from /usr/lib/libQtCore.so.4
#4  0xb4ceb5cd in ?? () from /usr/lib/libQtCore.so.4
#5  0xb28220c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb2822f22 in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb4cebd77 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9  0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0xb4bbb7a9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#12 0xb65b9dfb in Digikam::ImageFilterModelWorker::Thread::run (this=0x8678fd8) at /usr/src/debug/digikam-1.9.0/libs/models/imagefiltermodelthreads.h:74
#13 0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#14 0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#15 0xb490b46e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xacea1b70 (LWP 25506)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb42f3125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb491924c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bbeaa0 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0xb68d6464 in Digikam::ParkingThread::run (this=0x85eadd8) at /usr/src/debug/digikam-1.9.0/libs/threads/threadmanager.cpp:119
#5  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#6  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#7  0xb490b46e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xac6a0b70 (LWP 25507)):
#0  0xb4919430 in pthread_mutex_lock () from /lib/libc.so.6
#1  0xb28220ef in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#2  0xb2822f22 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb4cebd77 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb4bbb7a9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#9  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#10 0xb490b46e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xabe9fb70 (LWP 25508)):
#0  0xb2822665 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#1  0xb2823108 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0xb4cebd77 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb4bbb7a9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#8  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#9  0xb490b46e in clone () from /lib/libc.so.6

Thread 3 (Thread 0x909a9b70 (LWP 25668)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb42f3125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb491924c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bbeaa0 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x0836c74d in Digikam::CameraController::run (this=0xf1d6920) at /usr/src/debug/digikam-1.9.0/utilities/cameragui/cameracontroller.cpp:385
#5  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#6  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#7  0xb490b46e in clone () from /lib/libc.so.6

Thread 2 (Thread 0x9a9f4b70 (LWP 25669)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb42f3125 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb491924c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bbeaa0 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4  0x083712fd in Digikam::CameraHistoryUpdater::run (this=0xf21dac8) at /usr/src/debug/digikam-1.9.0/utilities/cameragui/camerahistoryupdater.cpp:115
#5  0xb4bbe39a in ?? () from /usr/lib/libQtCore.so.4
#6  0xb42eeb25 in start_thread () from /lib/libpthread.so.0
#7  0xb490b46e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb1f28740 (LWP 25489)):
[KCrash Handler]
#7  operator++ (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/c++/4.5/bits/stl_list.h:223
#8  __distance<std::_List_const_iterator<Exiv2::Exifdatum> > (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h:80
#9  distance<std::_List_const_iterator<Exiv2::Exifdatum> > (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/c++/4.5/bits/stl_iterator_base_funcs.h:115
#10 size (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/c++/4.5/bits/stl_list.h:806
#11 count (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/exiv2/exif.hpp:520
#12 empty (this=0xfdb06b8, ar=..., in=0x0) at /usr/include/exiv2/exif.hpp:518
#13 JpegEndAnalyzer::analyze (this=0xfdb06b8, ar=..., in=0x0) at /usr/src/debug/strigi-0.7.3.99/libstreamanalyzer/plugins/endplugins/jpegendanalyzer.cpp:300
#14 0xb2a44b65 in Strigi::StreamAnalyzerPrivate::analyze (this=0xece1240, idx=..., input=0xfd4c300) at /usr/src/debug/strigi-0.7.3.99/libstreamanalyzer/lib/streamanalyzer.cpp:420
#15 0xb6086dba in KFileMetaInfoPrivate::init (this=0xec29478, stream=..., url=..., mtime=1306743386, w=...) at /usr/src/debug/kdelibs-4.6.0/kio/kio/kfilemetainfo.cpp:257
#16 0xb612a828 in KFileMetaInfo::KFileMetaInfo (this=0xbf94768c, path=..., w=...) at /usr/src/debug/kdelibs-4.6.0/kio/kio/kfilemetainfo.cpp:286
#17 0xb612a9ca in KFileItem::metaInfo (this=0xbf9478b4, autoget=true, what=12) at /usr/src/debug/kdelibs-4.6.0/kio/kio/kfileitem.cpp:1266
#18 0xb69583a6 in Digikam::ImagePropertiesSideBar::setImagePropertiesInformation (this=0xbf0b3c8, url=...) at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagepropertiessidebar.cpp:225
#19 0x080be0dd in Digikam::ImagePropertiesSideBarDB::slotChangedTab (this=0xbf0b3c8, tab=0x9256d50) at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagepropertiessidebardb.cpp:214
#20 0x080bbe59 in Digikam::ImagePropertiesSideBarDB::itemChanged (this=0xbf0b3c8, infos=..., rect=..., img=0xbd48d04)
    at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagepropertiessidebardb.cpp:184
#21 0x080bd6f5 in Digikam::ImagePropertiesSideBarDB::itemChanged (this=0xbf0b3c8, url=..., info=..., rect=..., img=0xbd48d04)
    at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagepropertiessidebardb.cpp:153
#22 0x080bd798 in Digikam::ImagePropertiesSideBarDB::itemChanged (this=0xbf0b3c8, url=..., rect=..., img=0xbd48d04)
    at /usr/src/debug/digikam-1.9.0/libs/imageproperties/imagepropertiessidebardb.cpp:133
#23 0x080ad0ab in Digikam::ImageWindow::slotChanged (this=0xbd3c918) at /usr/src/debug/digikam-1.9.0/utilities/imageeditor/editor/imagewindow.cpp:830
#24 0x080b1f9b in Digikam::ImageWindow::qt_metacall (this=0xbd3c918, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf947c1c)
    at /usr/src/debug/digikam-1.9.0/build/digikam/imagewindow.moc:148
#25 0xb4cc3e4d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#26 0xb4cd3fec in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#27 0xb6997d15 in Digikam::Canvas::signalChanged (this=0xbd47d38) at /usr/src/debug/digikam-1.9.0/build/digikam/canvas.moc:215
#28 0xb699c8f6 in Digikam::Canvas::slotModified (this=0xbd47d38) at /usr/src/debug/digikam-1.9.0/utilities/imageeditor/canvas/canvas.cpp:1507
#29 0xb699e7f6 in Digikam::Canvas::qt_metacall (this=0xbd47d38, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf947d4c)
    at /usr/src/debug/digikam-1.9.0/build/digikam/canvas.moc:179
#30 0xb4cc3e4d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#31 0xb4cd3fec in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#32 0xb698cc85 in Digikam::DImgInterface::signalModified (this=0xa8ab3c8) at /usr/src/debug/digikam-1.9.0/build/digikam/dimginterface.moc:124
#33 0xb698e34a in Digikam::DImgInterface::setModified (this=0xa8ab3c8) at /usr/src/debug/digikam-1.9.0/utilities/imageeditor/canvas/dimginterface.cpp:648
#34 0xb698f7aa in Digikam::DImgInterface::slotImageLoaded (this=0xa8ab3c8, loadingDescription=..., img=...) at /usr/src/debug/digikam-1.9.0/utilities/imageeditor/canvas/dimginterface.cpp:419
#35 0xb6993e72 in Digikam::DImgInterface::qt_metacall (this=0xa8ab3c8, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xf0dbb10)
    at /usr/src/debug/digikam-1.9.0/build/digikam/dimginterface.moc:108
#36 0xb4cc3e4d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#37 0xb4cce935 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4
#38 0xb4cd2b6f in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#39 0xb51f5414 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#40 0xb51fe137 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#41 0xb5cb26c1 in KApplication::notify (this=0xbf948708, receiver=0xa8ab3c8, event=0xca24158) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#42 0xb4cbd5ae in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#43 0xb4cc133c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#44 0xb4cc148c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#45 0xb4cebba4 in ?? () from /usr/lib/libQtCore.so.4
#46 0xb2822b49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#47 0xb2823350 in ?? () from /usr/lib/libglib-2.0.so.0
#48 0xb282360e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#49 0xb4cebd2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#50 0xb52ab8ea in ?? () from /usr/lib/libQtGui.so.4
#51 0xb4cbc88d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#52 0xb4cbcab9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#53 0xb4cc1560 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#54 0xb51f3114 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#55 0x0826fbc3 in main (argc=270627080, argv=0x102174f8) at /usr/src/debug/digikam-1.9.0/digikam/main.cpp:216

Reported using DrKonqi
Comment 1 caulier.gilles 2011-06-13 14:04:53 UTC
crash appear in Exiv2 library not digiKam. Which version you use (look in Help/Components Info for details)

Which camera you use ? Which file format ? RAW or JPEG ?

Gilles Caulier
Comment 2 Vladan Lucic 2011-06-13 22:57:59 UTC
(In reply to comment #1)
> crash appear in Exiv2 library not digiKam. Which version you use (look in
> Help/Components Info for details)

Help/Components says 0.19. I have both libexiv2.so.6 (0.19-5.3.1) and libexiv2.so.9 (0.20-3.1) installed, but digikam is linked to libexiv2.so.6

> Which camera you use ? Which file format ? RAW or JPEG ?

I use FujiFinepix J210, it's a JPEG one,
Comment 3 caulier.gilles 2011-06-14 06:03:34 UTC
I'm sure. There is a problem to have both libexiv2 version installed at the same time. Try to remove the version not used by digiKam, or report the problem to packager to use the same and single version everywhere.

Also, the last stable Exiv2 version is 0.21. It's highly recommend to use it for stability purpose...

Gilles Caulier
Comment 4 caulier.gilles 2021-05-04 05:50:41 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4