Bug 355126

Summary: crashed when tumbnails or pictures turned right
Product: [Applications] digikam Reporter: harald <havoigt>
Component: Metadata-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.12.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.3.0
Sentry Crash Report:
Attachments: digiKam crashes when this picture is turned to right

Description harald 2015-11-10 10:57:00 UTC
Application: digikam (4.12.0)
KDE Platform Version: 4.14.13
Qt Version: 4.8.6
Operating System: Linux 4.2.0-16-generic i686
Distribution: Ubuntu 15.10

-- Information about the crash:
- What I was doing when the application crashed:
Hi,
digiKam chrashes when a tumbnail or a preview picture is turned to right.
Thanks to the team for the excellent program.
Regards,
Harald

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xad0939c0 (LWP 3308))]

Thread 7 (Thread 0xacc3cb40 (LWP 3309)):
#0  0xb775dbe8 in __kernel_vsyscall ()
#1  0xb428c3db in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xafd111a3 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb39c21aa in start_thread (arg=0xacc3cb40) at pthread_create.c:333
#4  0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 6 (Thread 0xab6f1b40 (LWP 3310)):
#0  0xb775dbe8 in __kernel_vsyscall ()
#1  0xb39c725c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb42a3cf6 in __pthread_cond_wait (cond=0x9e47b90, mutex=0x9e47b78) at forward.c:149
#3  0xb45ec232 in QWaitConditionPrivate::wait (time=4294967295, this=0x9e47b78) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x9e47aec, mutex=0x9e47ae8, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0822567e in Digikam::ScanController::run (this=0x9d945d8) at /build/digikam-tUtjhi/digikam-4.12.0/core/app/database/scancontroller.cpp:725
#6  0xb45ebc5e in QThreadPrivate::start (arg=0x9d945d8) at thread/qthread_unix.cpp:349
#7  0xb39c21aa in start_thread (arg=0xab6f1b40) at pthread_create.c:333
#8  0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 5 (Thread 0xaacffb40 (LWP 3311)):
#0  0xb775dbbd in ?? ()
#1  0xb775d6f1 in __vdso_clock_gettime ()
#2  0xb42a4740 in __GI___clock_gettime (clock_id=1, tp=0xaacfed64) at ../sysdeps/unix/clock_gettime.c:115
#3  0xb464aab6 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#5  0xb473d2f3 in QTimerInfoList::updateCurrentTime (this=0xaa30269c) at kernel/qeventdispatcher_unix.cpp:354
#6  QTimerInfoList::timerWait (this=0xaa30269c, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#7  0xb473b901 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xaacfee58) at kernel/qeventdispatcher_glib.cpp:143
#8  0xb473b9b5 in timerSourcePrepare (source=0xaa302668, timeout=0xaacfee58) at kernel/qeventdispatcher_glib.cpp:176
#9  0xb30ed3db in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb30ede24 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb30ee054 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#12 0xb473c27c in QEventDispatcherGlib::processEvents (this=0xaa300468, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#13 0xb4707daf in QEventLoop::processEvents (this=0xaacfefe4, flags=...) at kernel/qeventloop.cpp:149
#14 0xb470813e in QEventLoop::exec (this=0xaacfefe4, flags=...) at kernel/qeventloop.cpp:204
#15 0xb45e910b in QThread::exec (this=0x9e66e10) at thread/qthread.cpp:538
#16 0xb46e7576 in QInotifyFileSystemWatcherEngine::run (this=0x9e66e10) at io/qfilesystemwatcher_inotify.cpp:265
#17 0xb45ebc5e in QThreadPrivate::start (arg=0x9e66e10) at thread/qthread_unix.cpp:349
#18 0xb39c21aa in start_thread (arg=0xaacffb40) at pthread_create.c:333
#19 0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 4 (Thread 0xaa2ffb40 (LWP 3313)):
#0  0xb775dbe8 in __kernel_vsyscall ()
#1  0xb39c725c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb42a3cf6 in __pthread_cond_wait (cond=0x9f963e8, mutex=0x9f963d0) at forward.c:149
#3  0xb45ec232 in QWaitConditionPrivate::wait (time=4294967295, this=0x9f963d0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa139ec8, mutex=0xa139ec4, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6fd392e in Digikam::ParkingThread::run (this=0xa139eb8) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/threads/threadmanager.cpp:119
#6  0xb45ebc5e in QThreadPrivate::start (arg=0xa139eb8) at thread/qthread_unix.cpp:349
#7  0xb39c21aa in start_thread (arg=0xaa2ffb40) at pthread_create.c:333
#8  0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 3 (Thread 0xa5217b40 (LWP 3314)):
#0  0xb31343d8 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb30ed8cf in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb30edeb1 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb30ee054 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb473c27c in QEventDispatcherGlib::processEvents (this=0xa262d18, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#5  0xb4707daf in QEventLoop::processEvents (this=0xa5216fe4, flags=...) at kernel/qeventloop.cpp:149
#6  0xb470813e in QEventLoop::exec (this=0xa5216fe4, flags=...) at kernel/qeventloop.cpp:204
#7  0xb45e910b in QThread::exec (this=0x9e9a008) at thread/qthread.cpp:538
#8  0xb46e7576 in QInotifyFileSystemWatcherEngine::run (this=0x9e9a008) at io/qfilesystemwatcher_inotify.cpp:265
#9  0xb45ebc5e in QThreadPrivate::start (arg=0x9e9a008) at thread/qthread_unix.cpp:349
#10 0xb39c21aa in start_thread (arg=0xa5217b40) at pthread_create.c:333
#11 0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 2 (Thread 0x98708b40 (LWP 3331)):
[KCrash Handler]
#7  access_virt_barray (cinfo=0x98707378, ptr=0xb3f88280 <Exiv2::Iptcdatum::~Iptcdatum()>, start_row=0, num_rows=1, writable=1) at jmemmgr.c:897
#8  0xb6f6ba08 in do_rot_90 (dst_coef_arrays=0xb4138f90 <vtable for Exiv2::Iptcdatum+8>, src_coef_arrays=0x9b379c2c, y_crop_offset=2866093272, x_crop_offset=3019934994, dstinfo=0x987071cc, srcinfo=0x98707378) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/jpegutils/libjpeg-84/transupp.c:405
#9  jtransform_execute_transform (srcinfo=0x98707378, dstinfo=0x987071cc, src_coef_arrays=0x9b379c2c, info=0x98706f38) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/jpegutils/libjpeg-84/transupp.c:1455
#10 0xb6f64d35 in Digikam::JPEGUtils::JpegRotator::performJpegTransform (this=0x98707880, action=KExiv2Iface::RotationMatrix::Rotate90, src=..., dest=...) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:656
#11 0xb6f68cc0 in Digikam::JPEGUtils::JpegRotator::exifTransform (this=0x98707880, matrix=...) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:414
#12 0xb6f6a88b in Digikam::JPEGUtils::JpegRotator::exifTransform (this=0x98707880, action=KExiv2Iface::RotationMatrix::Rotate90) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:366
#13 0x0827c874 in Digikam::FileActionMngrFileWorker::transform (this=0xa24de18, infos=..., action=5) at /build/digikam-tUtjhi/digikam-4.12.0/core/app/fileaction/fileworkeriface.cpp:218
#14 0x0827ad46 in Digikam::FileWorkerInterface::qt_static_metacall (_o=0xa24de18, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xc073e98) at /build/digikam-tUtjhi/digikam-4.12.0/obj-i686-linux-gnu/core/app/fileworkeriface.moc:68
#15 0xb471ce1a in QMetaCallEvent::placeMetaCall (this=0xd0765f0, object=0xa24de18) at kernel/qobject.cpp:524
#16 0xb4725001 in QObject::event (this=0xa24de18, e=0xd0765f0) at kernel/qobject.cpp:1222
#17 0xb6fd49fa in Digikam::WorkerObject::event (this=0xa24de18, e=0xd0765f0) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/threads/workerobject.cpp:160
#18 0xb4d5a3ca in QApplicationPrivate::notify_helper (this=0x9d49c78, receiver=0xa24de18, e=0xd0765f0) at kernel/qapplication.cpp:4570
#19 0xb4d616d1 in QApplication::notify (this=0xbffd3204, receiver=0xa24de18, e=0xd0765f0) at kernel/qapplication.cpp:4356
#20 0xb5917b3c in KApplication::notify (this=0xbffd3204, receiver=0xa24de18, event=0xd0765f0) at ../../kdeui/kernel/kapplication.cpp:311
#21 0xb47096ca in QCoreApplication::notifyInternal (this=0xbffd3204, receiver=0xa24de18, event=0xd0765f0) at kernel/qcoreapplication.cpp:955
#22 0xb470d3b6 in QCoreApplication::sendEvent (event=0xd0765f0, receiver=0xa24de18) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xb1b7470) at kernel/qcoreapplication.cpp:1579
#24 0xb470d6e5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1472
#25 0xb473c0f1 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#26 postEventSourceDispatch (s=0xaad6f130) at kernel/qeventdispatcher_glib.cpp:300
#27 0xb30edce9 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb30edf89 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#29 0xb30ee054 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0xb473c255 in QEventDispatcherGlib::processEvents (this=0xaad3e098, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#31 0xb4707daf in QEventLoop::processEvents (this=0x98707fd4, flags=...) at kernel/qeventloop.cpp:149
#32 0xb470813e in QEventLoop::exec (this=0x98707fd4, flags=...) at kernel/qeventloop.cpp:204
#33 0xb6fd2e6a in Digikam::WorkerObjectRunnable::run (this=0xd1a73a0) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/threads/threadmanager.cpp:196
#34 0xb45de3e9 in QThreadPoolThread::run (this=0xb1b7360) at concurrent/qthreadpool.cpp:108
#35 0xb45ebc5e in QThreadPrivate::start (arg=0xb1b7360) at thread/qthread_unix.cpp:349
#36 0xb39c21aa in start_thread (arg=0x98708b40) at pthread_create.c:333
#37 0xb4296fde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 1 (Thread 0xad0939c0 (LWP 3308)):
#0  0xb775dbe8 in __kernel_vsyscall ()
#1  0xb39c725c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb42a3cf6 in __pthread_cond_wait (cond=0xa24dee0, mutex=0xa24dec8) at forward.c:149
#3  0xb45ec232 in QWaitConditionPrivate::wait (time=4294967295, this=0xa24dec8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa24de88, mutex=0xa24de84, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6fd3c42 in Digikam::WorkerObject::wait (this=0xa24de18) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/threads/workerobject.cpp:95
#6  0xb6fd738a in Digikam::ParallelWorkers::wait (this=0xa24dcb4) at /build/digikam-tUtjhi/digikam-4.12.0/core/libs/threads/parallelworkers.cpp:91
#7  0x082733e7 in Digikam::FileActionMngr::~FileActionMngr (this=0xa24d998, __in_chrg=<optimized out>) at /build/digikam-tUtjhi/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:78
#8  0x08273448 in Digikam::FileActionMngrCreator::~FileActionMngrCreator (this=0xa24d998, __in_chrg=<optimized out>) at /build/digikam-tUtjhi/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:52
#9  destroy () at /build/digikam-tUtjhi/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:59
#10 0xb41dbc53 in __run_exit_handlers (status=1, listp=0xb436441c <__exit_funcs>, run_list_atexit=true) at exit.c:82
#11 0xb41dbcb1 in __GI_exit (status=1) at exit.c:104
#12 0xb4dd22a3 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:782
#13 0xb59162c9 in KApplication::xioErrhandler (this=0xbffd3204, dpy=0x9d70938) at ../../kdeui/kernel/kapplication.cpp:419
#14 0xb59163a1 in kde_xio_errhandler (dpy=0x9d70938) at ../../kdeui/kernel/kapplication.cpp:126
#15 0xb38aa2ed in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#16 0xb38a7b56 in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#17 0xb3898fac in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#18 0xb4e14a11 in x11EventSourceCheck (s=0x9d55130) at kernel/qguieventdispatcher_glib.cpp:85
#19 0xb30ed8da in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb30edeb1 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0xb30ee054 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#22 0xb473c255 in QEventDispatcherGlib::processEvents (this=0x9ced570, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#23 0xb4e15096 in QGuiEventDispatcherGlib::processEvents (this=0x9ced570, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#24 0xb4707daf in QEventLoop::processEvents (this=0xbffd3094, flags=...) at kernel/qeventloop.cpp:149
#25 0xb470813e in QEventLoop::exec (this=0xbffd3094, flags=...) at kernel/qeventloop.cpp:204
#26 0xb470e736 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#27 0xb4d58264 in QApplication::exec () at kernel/qapplication.cpp:3828
#28 0x080bc135 in main (argc=5, argv=0xbffd3344) at /build/digikam-tUtjhi/digikam-4.12.0/core/app/main/main.cpp:230

Reported using DrKonqi
Comment 1 caulier.gilles 2015-11-10 11:00:43 UTC
It crash in Exiv2 shared library when IPTC tags are parsed.

Report this problem to Exiv2 bugzilla with the right JPEG file to be able to reproduce the problem...

Gilles caulier
Comment 2 harald 2015-11-10 11:25:13 UTC
Created attachment 95415 [details]
digiKam crashes when this picture is turned to right
Comment 3 caulier.gilles 2021-05-04 04:12:29 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4