Bug 235171

Summary: digiKam crashes when saving ratings to a raw (nef) file - Use ExifTool instead.
Product: digikam Reporter: Frank Hommes <freanki>
Component: Metadata-ExifToolAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ahuggel, caulier.gilles
Priority: NOR    
Version: 1.3.0   
Target Milestone: ---   
Platform: Ubuntu Packages   
OS: Linux   
Latest Commit: Version Fixed In: 8.0.0

Description Frank Hommes 2010-04-23 14:11:59 UTC
Application: digikam (1.3.0 (rev.: 1117886))
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-21-generic x86_64
Distribution: Ubuntu lucid (development branch)

-- Information about the crash:
When I try to write the metadata ratings to a raw file from my nikon d90 (nef) digikam crashes. 

The console output of digikam while crashing is:
digikam(2540)/KEXIV2 KExiv2Iface::KExiv2::save: File Extension:  "nef"  is supported for writing mode
digikam: /root/trunk/src/tiffcomposite.cpp:1853: virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const: Assertion `false' failed.



The crash can be reproduced every time.

 -- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f22b6e5b7e0 (LWP 2540))]

Thread 15 (Thread 0x7f229f16d710 (LWP 2541)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f22b037072b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x29fa920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x29fa920, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x0000000000720438 in Digikam::ScanController::run (this=0x299f0f0) at /root/graphics/digikam/digikam/scancontroller.cpp:516
#4  0x00007f22b036f775 in QThreadPrivate::start (arg=0x299f0f0) at thread/qthread_unix.cpp:248
#5  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f229e96c710 (LWP 2545)):
#0  __pthread_mutex_lock (mutex=0x2cb61e8) at pthread_mutex_lock.c:51
#1  0x00007f22ac5ddee3 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00007f22ac5de318 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f22b048d566 in QEventDispatcherGlib::processEvents (this=0x2c9d550, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f22b0462d6c in QEventLoop::exec (this=0x7f229e96bd50, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f22b036cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f22b3825fe8 in Digikam::ImageFilterModelWorker::Thread::run (this=0x2bbb130) at /root/graphics/build/digikam/digikam/../../../digikam/libs/models/imagefiltermodelthreads.h:66
#9  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2bbb130) at thread/qthread_unix.cpp:248
#10 0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f229d90b710 (LWP 2546)):
#0  0x00007f22af409f53 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f22ac5de4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f22b048d566 in QEventDispatcherGlib::processEvents (this=0x2ca58e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f22b0462d6c in QEventLoop::exec (this=0x7f229d90ad50, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f22b036cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f22b3825fe8 in Digikam::ImageFilterModelWorker::Thread::run (this=0x2ca59d0) at /root/graphics/build/digikam/digikam/../../../digikam/libs/models/imagefiltermodelthreads.h:66
#8  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2ca59d0) at thread/qthread_unix.cpp:248
#9  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f2297fff710 (LWP 2547)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f22b037072b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x2cbbe28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2cbbe28, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f22b3da32ba in Digikam::LoadSaveThread::run (this=0x2cbbe10) at /root/graphics/digikam/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2cbbe10) at thread/qthread_unix.cpp:248
#5  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f22977fe710 (LWP 2548)):
#0  0x00007f22b00e23f5 in __pthread_mutex_lock (mutex=0x2d2e0a8) at pthread_mutex_lock.c:61
#1  0x00007f22ac5de5d1 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f22b048d566 in QEventDispatcherGlib::processEvents (this=0x2d2df40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f22b0462d6c in QEventLoop::exec (this=0x7f22977fdd50, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f22b036cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x000000000071653e in Digikam::MetadataManagerWorker::Thread::run (this=0x2d1dcb0) at /root/graphics/build/digikam/digikam/../../../digikam/digikam/metadatamanager_p.h:146
#8  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2d1dcb0) at thread/qthread_unix.cpp:248
#9  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f2296ffd710 (LWP 2549)):
#0  0x00007f22b00e23f5 in __pthread_mutex_lock (mutex=0x2d2e548) at pthread_mutex_lock.c:61
#1  0x00007f22ac5da710 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#2  0x00007f22ac5de748 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f22b048d566 in QEventDispatcherGlib::processEvents (this=0x2d2df60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f22b0462d6c in QEventLoop::exec (this=0x7f2296ffcd50, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f22b036cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x000000000071653e in Digikam::MetadataManagerWorker::Thread::run (this=0x2d26530) at /root/graphics/build/digikam/digikam/../../../digikam/digikam/metadatamanager_p.h:146
#9  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2d26530) at thread/qthread_unix.cpp:248
#10 0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f228f675710 (LWP 2550)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f2294921081 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f228e239710 (LWP 2551)):
#0  0x00007f22af40efb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f229494a2c5 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f229492ec99 in ?? () from /usr/lib/libxine.so.1
#3  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f228da38710 (LWP 2552)):
#0  0x00007f22ac5de5aa in ?? () from /lib/libglib-2.0.so.0
#1  0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#2  0x00007f22b048d566 in QEventDispatcherGlib::processEvents (this=0x2ed0430, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#3  0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#4  0x00007f22b0462d6c in QEventLoop::exec (this=0x7f228da37d10, flags=) at kernel/qeventloop.cpp:201
#5  0x00007f22b036cd59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#6  0x00007f2294b7d440 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#7  0x00007f22b036f775 in QThreadPrivate::start (arg=0x2eb8e00) at thread/qthread_unix.cpp:248
#8  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f22880db710 (LWP 2558)):
#0  0x00007f22af409f53 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f228d032915 in ?? () from /usr/lib/xine/plugins/1.27/xineplug_ao_out_alsa.so
#2  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f228bed6710 (LWP 2559)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2294931e23 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f228b6d5710 (LWP 2560)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f22b037072b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x345d0f8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x345d0f8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f22b3da32ba in Digikam::LoadSaveThread::run (this=0x345d0e0) at /root/graphics/digikam/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f22b036f775 in QThreadPrivate::start (arg=0x345d0e0) at thread/qthread_unix.cpp:248
#5  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f2289440710 (LWP 2566)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f22b037072b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3785e48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3785e48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f22b3da32ba in Digikam::LoadSaveThread::run (this=0x3785e30) at /root/graphics/digikam/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f22b036f775 in QThreadPrivate::start (arg=0x3785e30) at thread/qthread_unix.cpp:248
#5  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f2288c3f710 (LWP 2567)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f22b037072b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3825848, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3825848, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f22b3da32ba in Digikam::LoadSaveThread::run (this=0x3825830) at /root/graphics/digikam/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f22b036f775 in QThreadPrivate::start (arg=0x3825830) at thread/qthread_unix.cpp:248
#5  0x00007f22b00df9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f22af41669d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f22b6e5b7e0 (LWP 2540)):
[KCrash Handler]
#5  0x00007f22af363a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f22af3675c0 in *__GI_abort () at abort.c:92
#7  0x00007f22af35c941 in *__GI___assert_fail (assertion=0x7f22adc14a5e "false", file=<value optimized out>, line=1853, 
    function=0x7f22adc14f60 "virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const") at assert.c:81
#8  0x00007f22adb9a8a5 in Exiv2::Internal::TiffDirectory::doSizeData() const () from /usr/lib/libexiv2.so.6
#9  0x00007f22adb9a877 in Exiv2::Internal::TiffComponent::sizeData() const () from /usr/lib/libexiv2.so.6
#10 0x00007f22adb98334 in Exiv2::Internal::TiffDirectory::doWrite(Exiv2::Internal::IoWrapper&, Exiv2::ByteOrder, int, unsigned int, unsigned int, unsigned int&) () from /usr/lib/libexiv2.so.6
#11 0x00007f22adb980f9 in Exiv2::Internal::TiffComponent::write(Exiv2::Internal::IoWrapper&, Exiv2::ByteOrder, int, unsigned int, unsigned int, unsigned int&) () from /usr/lib/libexiv2.so.6
#12 0x00007f22adba26e9 in Exiv2::Internal::TiffParserWorker::encode(Exiv2::BasicIo&, unsigned char const*, unsigned int, Exiv2::ExifData const&, Exiv2::IptcData const&, Exiv2::XmpData const&, unsigned int, void (Exiv2::Internal::TiffEncoder::*(*)(std::string const&, unsigned int, unsigned short))(Exiv2::Internal::TiffEntryBase*, Exiv2::Exifdatum const*), Exiv2::Internal::TiffHeaderBase*) ()
   from /usr/lib/libexiv2.so.6
#13 0x00007f22adba18a1 in Exiv2::TiffParser::encode(Exiv2::BasicIo&, unsigned char const*, unsigned int, Exiv2::ByteOrder, Exiv2::ExifData const&, Exiv2::IptcData const&, Exiv2::XmpData const&) ()
   from /usr/lib/libexiv2.so.6
#14 0x00007f22adba16bf in Exiv2::TiffImage::writeMetadata() () from /usr/lib/libexiv2.so.6
#15 0x00007f22b531fb0b in KExiv2Iface::KExiv2::save (this=0x7ffffccabb10, filePath=...) at /root/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2.cpp:497
#16 0x00007f22b531fe2a in KExiv2Iface::KExiv2::applyChanges (this=0x7ffffccabb10) at /root/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2.cpp:524
#17 0x000000000070e3e2 in Digikam::MetadataHub::write (this=0x7ffffccabb80, filePath=..., writeMode=Digikam::MetadataHub::FullWrite, settings=...)
    at /root/graphics/digikam/digikam/metadatahub.cpp:610
#18 0x0000000000569349 in Digikam::BatchSyncMetadata::parsePicture (this=0x4e270f0) at /root/graphics/digikam/utilities/batch/batchsyncmetadata.cpp:173
#19 0x000000000056915d in Digikam::BatchSyncMetadata::parseList (this=0x4e270f0) at /root/graphics/digikam/utilities/batch/batchsyncmetadata.cpp:149
#20 0x00000000006cd90a in Digikam::DigikamView::slotImageWriteMetadata (this=0x2caf930) at /root/graphics/digikam/digikam/digikamview.cpp:1185
#21 0x00000000006c6939 in Digikam::DigikamView::qt_metacall (this=0x2caf930, _c=QMetaObject::InvokeMetaMethod, _id=64, _a=0x7ffffccabdf0) at /root/graphics/build/digikam/digikam/digikamview.moc:326
#22 0x00007f22b0476e3f in QMetaObject::activate (sender=0x393e1f0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3293
#23 0x00007f22b1348032 in QAction::triggered (this=0x9ec, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#24 0x00007f22b134a0ab in QAction::activate (this=0x393e1f0, event=<value optimized out>) at kernel/qaction.cpp:1255
#25 0x00007f22b178939d in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x393e1f0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1011
#26 0x00007f22b178edda in QMenuPrivate::activateAction (this=0x4d04c10, action=0x393e1f0, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1103
#27 0x00007f22b2390cee in KMenu::mouseReleaseEvent (this=0x295ad00, e=0x9ec) at ../../kdeui/widgets/kmenu.cpp:471
#28 0x00007f22b13a4582 in QWidget::event (this=0x295ad00, event=0x7ffffccaca40) at kernel/qwidget.cpp:7998
#29 0x00007f22b1790f9b in QMenu::event (this=0x295ad00, e=0x7ffffccaca40) at widgets/qmenu.cpp:2414
#30 0x00007f22b134e22c in QApplicationPrivate::notify_helper (this=0x2779190, receiver=0x295ad00, e=0x7ffffccaca40) at kernel/qapplication.cpp:4300
#31 0x00007f22b1354ecb in QApplication::notify (this=0x7ffffccad7c0, receiver=0x295ad00, e=0x7ffffccaca40) at kernel/qapplication.cpp:3865
#32 0x00007f22b22b4526 in KApplication::notify (this=0x7ffffccad7c0, receiver=0x295ad00, event=0x7ffffccaca40) at ../../kdeui/kernel/kapplication.cpp:302
#33 0x00007f22b046406c in QCoreApplication::notifyInternal (this=0x7ffffccad7c0, receiver=0x295ad00, event=0x7ffffccaca40) at kernel/qcoreapplication.cpp:704
#34 0x00007f22b13540ae in QCoreApplication::sendEvent (receiver=0x295ad00, event=0x7ffffccaca40, alienWidget=0x0, nativeWidget=0x295ad00, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#35 QApplicationPrivate::sendMouseEvent (receiver=0x295ad00, event=0x7ffffccaca40, alienWidget=0x0, nativeWidget=0x295ad00, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at kernel/qapplication.cpp:2965
#36 0x00007f22b13d43dd in QETWidget::translateMouseEvent (this=0x295ad00, event=<value optimized out>) at kernel/qapplication_x11.cpp:4302
#37 0x00007f22b13d28ac in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7ffffccad360) at kernel/qapplication_x11.cpp:3501
#38 0x00007f22b13fe882 in x11EventSourceDispatch (s=0x277ce90, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#39 0x00007f22ac5da8c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#40 0x00007f22ac5de748 in ?? () from /lib/libglib-2.0.so.0
#41 0x00007f22ac5de8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#42 0x00007f22b048d513 in QEventDispatcherGlib::processEvents (this=0x273eaa0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#43 0x00007f22b13fe46e in QGuiEventDispatcherGlib::processEvents (this=0x9ec, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f22b0462992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#45 0x00007f22b0462d6c in QEventLoop::exec (this=0x7ffffccad690, flags=) at kernel/qeventloop.cpp:201
#46 0x00007f22b0466aab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#47 0x00000000007a4c85 in main (argc=1, argv=0x7ffffccadde8) at /root/graphics/digikam/digikam/main.cpp:196

Possible duplicates by query: bug 200783.

Reported using DrKonqi
Comment 1 caulier.gilles 2010-04-23 15:10:52 UTC
This is relevant of Exiv2 library. Which version you use exactly ?

Gilles Caulier
Comment 2 Frank Hommes 2010-04-23 15:18:29 UTC
oh right, it's exiv2 again. I'm using the latest version vom svn-trunk revision:2185.
Comment 3 caulier.gilles 2010-04-23 15:20:31 UTC
Ok,

Andreas Huggel, Exiv2 author is there...

Can you try to use Exiv2 command line tool to reproduce the cras as well ?

Gilles Caulier
Comment 4 Frank Hommes 2010-04-23 15:44:09 UTC
I tried to though it's more complex to me then i.e. exiftools =)

I extracted the metadata and tried to write it to the file again when exiv2 crashes with:
exiv2: /root/trunk/src/tiffcomposite.cpp:1845: virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const: Assertion `false' failed.
Aborted
Comment 5 caulier.gilles 2010-04-23 15:45:24 UTC
Ok, thanks.

I let's Andreas managed this entry.

Gilles Caulier
Comment 6 Johannes Wienke 2010-04-23 16:13:44 UTC
Ok, this looks like an exiv2 bug. Marked as upstream.
Comment 7 Andreas Huggel 2010-04-24 16:37:29 UTC
Yes, an exiv2 issue, I can reproduce it too. Quite easily actually:

$ exiv2 -M'set Exif.Image.Rating 5' image.NEF

Will have a look...

Andreas
Comment 8 Andreas Huggel 2010-04-26 16:09:03 UTC
Checked-in a fix, the above command-line now works again. Can you please try with exiv2 svn r2198 or higher and report if that solves your problem?

Andreas
Comment 9 Frank Hommes 2010-04-30 11:21:35 UTC
The command is not working with at revision 2207.

freanki@tristan:~/win/pics/2010/raw$ exiv2 -M'set Exif.Image.Rating 5' 20100429-105920.nef 
exiv2: /home/freanki/progs/src/trunk/src/tiffcomposite.cpp:1853: virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const: Assertion `false' failed.
Aborted
Comment 10 Andreas Huggel 2010-05-01 03:10:21 UTC
It works fine here, I just tested again. Please double-check that you're really using the newly compiled library and not some older version. If the problem persists, please send me the image (ahuggel at gmx dot net)

Andreas
Comment 11 Frank Hommes 2010-05-01 08:33:38 UTC
Please tell me how to get sure.

freanki@tristan:~/progs/src/trunk/build$ exiv2 -V
exiv2 0.19.1

freanki@tristan:~/progs/src/trunk$ svn update
At revision 2209.
freanki@tristan:~/progs/src/trunk$ cd build
freanki@tristan:~/progs/src/trunk/build$ make && sudo make install
[ 70%] Built target exiv2
[ 73%] Built target exiv2bin
[ 75%] Built target metacopy
[ 76%] Built target taglist
[ 92%] Built target translationsexiv2
[100%] Built target update_translations_exiv2
[sudo] password for freanki: 
[ 70%] Built target exiv2
[ 73%] Built target exiv2bin
[ 75%] Built target metacopy
[ 76%] Built target taglist
[ 92%] Built target translationsexiv2
[100%] Built target update_translations_exiv2
Install the project...
-- Install configuration: "debugfull"                                                                                                                                                
-- Up-to-date: /usr/include/exiv2/exv_conf.h
-- Up-to-date: /usr/include/exiv2/exv_msvc.h
-- Up-to-date: /usr/lib/pkgconfig/exiv2.pc
-- Up-to-date: /usr/lib/pkgconfig/exiv2.lsm
-- Up-to-date: /usr/lib/libexiv2.so.6.0.0
-- Up-to-date: /usr/lib/libexiv2.so.6
-- Up-to-date: /usr/lib/libexiv2.so
-- Up-to-date: /usr/bin/exiv2
-- Up-to-date: /usr/bin/metacopy
-- Up-to-date: /usr/bin/taglist
-- Up-to-date: /usr/include/exiv2/basicio.hpp
-- Up-to-date: /usr/include/exiv2/bmpimage.hpp
-- Up-to-date: /usr/include/exiv2/canonmn.hpp
-- Up-to-date: /usr/include/exiv2/convert.hpp
-- Up-to-date: /usr/include/exiv2/cr2image.hpp
-- Up-to-date: /usr/include/exiv2/crwimage.hpp
-- Up-to-date: /usr/include/exiv2/datasets.hpp
-- Up-to-date: /usr/include/exiv2/easyaccess.hpp
-- Up-to-date: /usr/include/exiv2/error.hpp
-- Up-to-date: /usr/include/exiv2/exif.hpp
-- Up-to-date: /usr/include/exiv2/fujimn.hpp
-- Up-to-date: /usr/include/exiv2/futils.hpp
-- Up-to-date: /usr/include/exiv2/gifimage.hpp
-- Up-to-date: /usr/include/exiv2/image.hpp
-- Up-to-date: /usr/include/exiv2/iptc.hpp
-- Up-to-date: /usr/include/exiv2/jp2image.hpp
-- Up-to-date: /usr/include/exiv2/jpgimage.hpp
-- Up-to-date: /usr/include/exiv2/metadatum.hpp
-- Up-to-date: /usr/include/exiv2/minoltamn.hpp
-- Up-to-date: /usr/include/exiv2/mn.hpp
-- Up-to-date: /usr/include/exiv2/mrwimage.hpp
-- Up-to-date: /usr/include/exiv2/nikonmn.hpp
-- Up-to-date: /usr/include/exiv2/olympusmn.hpp
-- Up-to-date: /usr/include/exiv2/orfimage.hpp
-- Up-to-date: /usr/include/exiv2/panasonicmn.hpp
-- Up-to-date: /usr/include/exiv2/pentaxmn.hpp
-- Up-to-date: /usr/include/exiv2/pgfimage.hpp
-- Up-to-date: /usr/include/exiv2/pngimage.hpp
-- Up-to-date: /usr/include/exiv2/preview.hpp
-- Up-to-date: /usr/include/exiv2/properties.hpp
-- Up-to-date: /usr/include/exiv2/psdimage.hpp
-- Up-to-date: /usr/include/exiv2/rafimage.hpp
-- Up-to-date: /usr/include/exiv2/rcsid.hpp
-- Up-to-date: /usr/include/exiv2/rw2image.hpp
-- Up-to-date: /usr/include/exiv2/sigmamn.hpp
-- Up-to-date: /usr/include/exiv2/sonymn.hpp
-- Up-to-date: /usr/include/exiv2/tags.hpp
-- Up-to-date: /usr/include/exiv2/tgaimage.hpp
-- Up-to-date: /usr/include/exiv2/tiffimage.hpp
-- Up-to-date: /usr/include/exiv2/types.hpp
-- Up-to-date: /usr/include/exiv2/value.hpp
-- Up-to-date: /usr/include/exiv2/version.hpp
-- Up-to-date: /usr/include/exiv2/xmp.hpp
-- Up-to-date: /usr/include/exiv2/xmpsidecar.hpp
-- Up-to-date: /usr/man/man1/exiv2.1
-- Up-to-date: /usr/share/locale/fr/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/fi/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/es/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/sk/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/ru/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/pl/LC_MESSAGES/exiv2.mo
-- Up-to-date: /usr/share/locale/de/LC_MESSAGES/exiv2.mo
freanki@tristan:~/progs/src/trunk/build$ exiv2 -M'set Exif.Image.Rating 5' /home/freanki/win/pics/2010/raw/20100429-105920.nef
exiv2: /home/freanki/progs/src/trunk/src/tiffcomposite.cpp:1853: virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const: Assertion `false' failed.
Aborted

freanki@tristan:~/progs/src/trunk/build$ /usr/local/bin/exiv2 -M'set Exif.Image.Rating 5' /home/freanki/win/pics/2010/raw/20100429-105920.nef
exiv2: /home/freanki/progs/src/trunk/src/tiffcomposite.cpp:1853: virtual uint32_t Exiv2::Internal::TiffDirectory::doSizeData() const: Assertion `false' failed.
Aborted


(What means resolved as upstream exactly?)
Comment 12 Andreas Huggel 2010-05-01 11:43:39 UTC
Frank,

You're using cmake to build exiv2, which by itself is experimental. In order to be sure you're testing what you've just compiled, pls follow these steps:

Check-out a new copy of exiv2 from SVN (or clean up the current one thoroughly), then run the following commands in the top directory:

$ make config; ./configure; make
$ cd src
$ ./exiv2 -M'set Exif.Image.Rating 5' /path/to/image.nef

and if that works, you may want to

$ make install

and re-compile digiKam + Co so that they also use it. (Assuming it's currently linked to the cmake-built library.)


Gilles,
Look at the snippet below. Does that mean cmake didn't install anything? 

[100%] Built target update_translations_exiv2
Install the project...
-- Install configuration: "debugfull"                                           
[...]
-- Up-to-date: /usr/lib/libexiv2.so.6
-- Up-to-date: /usr/lib/libexiv2.so
-- Up-to-date: /usr/bin/exiv2
[...]

Andreas
Comment 13 Johannes Wienke 2010-05-01 12:19:54 UTC
This means cmake didn't install these files because the installed ones are the same as in the build tree. If you look at the other messages you see that there were no code changes since the last built of exiv2 so that nothing had to be rebuilt since the last call to make.
Comment 14 Frank Hommes 2010-05-02 00:05:52 UTC
Yeah, those 
[...]
-- Up-to-date: /usr/lib/libexiv2.so.6
-- Up-to-date: /usr/lib/libexiv2.so
-- Up-to-date: /usr/bin/exiv2
[...]
have been like this because I already installed the current svn version. Just to show all the output...

With make/configure instead of cmake it really works!

Thank you!
Comment 15 caulier.gilles 2022-04-08 05:27:12 UTC
Git commit 232040bdd51ba615ba3c2ac04e4846a3cf80c1af by Gilles Caulier.
Committed on 08/04/2022 at 05:24.
Pushed by cgilles into branch 'master'.

More files closed with ExifTool backend used to write metadata to RAW files instead Exiv2.
Related: bug 193228, bug 236127, bug 291627, bug 305823, bug 317745, bug 234181, bug 366406, bug 168064, bug 134487
FIXED-IN: 8.0.0

M  +14   -4    NEWS

https://invent.kde.org/graphics/digikam/commit/232040bdd51ba615ba3c2ac04e4846a3cf80c1af