Bug 376429

Summary: Crash on rotate
Product: [Applications] digikam Reporter: john_egger
Component: Metadata-OrientationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, uaediaba
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:

Description john_egger 2017-02-13 00:19:39 UTC
Application: digikam (4.12.0)
KDE Platform Version: 4.14.16
Qt Version: 4.8.7
Operating System: Linux 4.4.0-62-generic i686
Distribution: Ubuntu 16.04.2 LTS

-- Information about the crash:
- What I was doing when the application crashed:

Selecting either "rotate left" or "rotate right" causes 4.12.0 to crash. Kubuntu 16.04.

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 0xacc619c0 (LWP 2451))]

Thread 7 (Thread 0x9c688b40 (LWP 2475)):
[KCrash Handler]
#7  access_virt_barray (cinfo=0x9c687378, ptr=0xb3f065c0 <Exiv2::Iptcdatum::~Iptcdatum()>, start_row=0, num_rows=1, writable=1) at jmemmgr.c:896
#8  0xb6f031dc in do_rot_270 (dst_coef_arrays=0xb40b6f90 <vtable for Exiv2::Iptcdatum+8>, src_coef_arrays=0x1394679c, y_crop_offset=318774040, x_crop_offset=3019404034, dstinfo=0x9c6871cc, srcinfo=0x9c687378) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/jpegutils/libjpeg-84/transupp.c:486
#9  jtransform_execute_transform (srcinfo=0x9c687378, dstinfo=0x9c6871cc, src_coef_arrays=0x1394679c, info=0x9c686f38) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/jpegutils/libjpeg-84/transupp.c:1463
#10 0xb6efb685 in Digikam::JPEGUtils::JpegRotator::performJpegTransform (this=0x9c687880, action=KExiv2Iface::RotationMatrix::Rotate270, src=..., dest=...) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:656
#11 0xb6eff610 in Digikam::JPEGUtils::JpegRotator::exifTransform (this=0x9c687880, matrix=...) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:414
#12 0xb6f011db in Digikam::JPEGUtils::JpegRotator::exifTransform (this=0x9c687880, action=KExiv2Iface::RotationMatrix::Rotate270) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/jpegutils/jpegutils.cpp:366
#13 0x0827c894 in Digikam::FileActionMngrFileWorker::transform (this=0xaa45eb0, infos=..., action=7) at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/fileaction/fileworkeriface.cpp:218
#14 0x0827ad66 in Digikam::FileWorkerInterface::qt_static_metacall (_o=0xaa45eb0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xb7bd030) at /build/digikam-Gcg5vj/digikam-4.12.0/obj-i686-linux-gnu/core/app/fileworkeriface.moc:68
#15 0xb4695cca in QMetaCallEvent::placeMetaCall (this=0x139300d8, object=0xaa45eb0) at kernel/qobject.cpp:524
#16 0xb469dea1 in QObject::event (this=0xaa45eb0, e=0x139300d8) at kernel/qobject.cpp:1222
#17 0xb6f6b3aa in Digikam::WorkerObject::event (this=0xaa45eb0, e=0x139300d8) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/threads/workerobject.cpp:160
#18 0xb4cd364a in QApplicationPrivate::notify_helper (this=0xa3501a8, receiver=0xaa45eb0, e=0x139300d8) at kernel/qapplication.cpp:4570
#19 0xb4cda951 in QApplication::notify (this=0xbf922f14, receiver=0xaa45eb0, e=0x139300d8) at kernel/qapplication.cpp:4356
#20 0xb589378c in KApplication::notify (this=0xbf922f14, receiver=0xaa45eb0, event=0x139300d8) at ../../kdeui/kernel/kapplication.cpp:311
#21 0xb468257a in QCoreApplication::notifyInternal (this=0xbf922f14, receiver=0xaa45eb0, event=0x139300d8) at kernel/qcoreapplication.cpp:955
#22 0xb4686266 in QCoreApplication::sendEvent (event=0x139300d8, receiver=0xaa45eb0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xb99f090) at kernel/qcoreapplication.cpp:1579
#24 0xb4686595 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1472
#25 0xb46b4f91 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#26 postEventSourceDispatch (s=0xb7c3d48) at kernel/qeventdispatcher_glib.cpp:300
#27 0xb306eee9 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb306f189 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#29 0xb306f254 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#30 0xb46b50f5 in QEventDispatcherGlib::processEvents (this=0xb7bfdf0, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#31 0xb4680c5d in QEventLoop::processEvents (this=0x9c687fd4, flags=...) at kernel/qeventloop.cpp:149
#32 0xb4680fee in QEventLoop::exec (this=0x9c687fd4, flags=...) at kernel/qeventloop.cpp:204
#33 0xb6f6981a in Digikam::WorkerObjectRunnable::run (this=0x13944570) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/threads/threadmanager.cpp:196
#34 0xb45573c9 in QThreadPoolThread::run (this=0xb99ef80) at concurrent/qthreadpool.cpp:108
#35 0xb4564d3e in QThreadPrivate::start (arg=0xb99ef80) at thread/qthread_unix.cpp:352
#36 0xb3919295 in start_thread (arg=0x9c688b40) at pthread_create.c:333
#37 0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 6 (Thread 0xa84c4b40 (LWP 2458)):
#0  0xb76f9c31 in __kernel_vsyscall ()
#1  0xb4208d0f in poll () at ../sysdeps/unix/syscall-template.S:84
#2  0xb307db20 in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb306f11c in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb306f254 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb46b511c in QEventDispatcherGlib::processEvents (this=0xaa4e9c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#6  0xb4680c5d in QEventLoop::processEvents (this=0xa84c3fe4, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4680fee in QEventLoop::exec (this=0xa84c3fe4, flags=...) at kernel/qeventloop.cpp:204
#8  0xb45620eb in QThread::exec (this=0xaa4a650) at thread/qthread.cpp:538
#9  0xb46604a6 in QInotifyFileSystemWatcherEngine::run (this=0xaa4a650) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb4564d3e in QThreadPrivate::start (arg=0xaa4a650) at thread/qthread_unix.cpp:352
#11 0xb3919295 in start_thread (arg=0xa84c4b40) at pthread_create.c:333
#12 0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 5 (Thread 0xa9fffb40 (LWP 2457)):
#0  0xb76f9c31 in __kernel_vsyscall ()
#1  0xb391ea6c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S:187
#2  0xb421f64d in __pthread_cond_wait (cond=0xa8edb30, mutex=0xa8edb18) at forward.c:149
#3  0xb4565312 in QWaitConditionPrivate::wait (time=4294967295, this=0xa8edb18) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa476128, mutex=0xa476124, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6f6a2de in Digikam::ParkingThread::run (this=0xa476118) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/threads/threadmanager.cpp:119
#6  0xb4564d3e in QThreadPrivate::start (arg=0xa476118) at thread/qthread_unix.cpp:352
#7  0xb3919295 in start_thread (arg=0xa9fffb40) at pthread_create.c:333
#8  0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 4 (Thread 0xaa9ffb40 (LWP 2455)):
#0  0xb306ea65 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb306f0b1 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb306f254 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb46b511c in QEventDispatcherGlib::processEvents (this=0xaa000470, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0xb4680c5d in QEventLoop::processEvents (this=0xaa9fefe4, flags=...) at kernel/qeventloop.cpp:149
#5  0xb4680fee in QEventLoop::exec (this=0xaa9fefe4, flags=...) at kernel/qeventloop.cpp:204
#6  0xb45620eb in QThread::exec (this=0xa448ca0) at thread/qthread.cpp:538
#7  0xb46604a6 in QInotifyFileSystemWatcherEngine::run (this=0xa448ca0) at io/qfilesystemwatcher_inotify.cpp:265
#8  0xb4564d3e in QThreadPrivate::start (arg=0xa448ca0) at thread/qthread_unix.cpp:352
#9  0xb3919295 in start_thread (arg=0xaa9ffb40) at pthread_create.c:333
#10 0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 3 (Thread 0xab383b40 (LWP 2454)):
#0  0xb76f9c31 in __kernel_vsyscall ()
#1  0xb391ea6c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S:187
#2  0xb421f64d in __pthread_cond_wait (cond=0xa447750, mutex=0xa447738) at forward.c:149
#3  0xb4565312 in QWaitConditionPrivate::wait (time=4294967295, this=0xa447738) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa4476ac, mutex=0xa4476a8, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x082256be in Digikam::ScanController::run (this=0xa3daef8) at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/database/scancontroller.cpp:725
#6  0xb4564d3e in QThreadPrivate::start (arg=0xa3daef8) at thread/qthread_unix.cpp:352
#7  0xb3919295 in start_thread (arg=0xab383b40) at pthread_create.c:333
#8  0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 2 (Thread 0xaca5eb40 (LWP 2453)):
#0  0xb76f9c31 in __kernel_vsyscall ()
#1  0xb4208d0f in poll () at ../sysdeps/unix/syscall-template.S:84
#2  0xafb287cb in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb3919295 in start_thread (arg=0xaca5eb40) at pthread_create.c:333
#4  0xb4212eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114

Thread 1 (Thread 0xacc619c0 (LWP 2451)):
#0  0xb76f9c31 in __kernel_vsyscall ()
#1  0xb391ea6c in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/pthread_cond_wait.S:187
#2  0xb421f64d in __pthread_cond_wait (cond=0xaa45f78, mutex=0xaa45f60) at forward.c:149
#3  0xb4565312 in QWaitConditionPrivate::wait (time=4294967295, this=0xaa45f60) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xaa45f20, mutex=0xaa45f1c, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6f6a5f2 in Digikam::WorkerObject::wait (this=0xaa45eb0) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/threads/workerobject.cpp:95
#6  0xb6f6dd3d in Digikam::ParallelWorkers::wait (this=0xaa45d4c) at /build/digikam-Gcg5vj/digikam-4.12.0/core/libs/threads/parallelworkers.cpp:91
#7  0x08273407 in Digikam::FileActionMngr::~FileActionMngr (this=0xaa45a30, __in_chrg=<optimized out>) at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:78
#8  0x08273468 in Digikam::FileActionMngrCreator::~FileActionMngrCreator (this=0xaa45a30, __in_chrg=<optimized out>) at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:52
#9  destroy () at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/fileaction/fileactionmngr.cpp:59
#10 0xb415a993 in __run_exit_handlers (status=1, listp=0xb42de3dc <__exit_funcs>, run_list_atexit=true) at exit.c:82
#11 0xb415a9ef in __GI_exit (status=1) at exit.c:104
#12 0xb4d4de03 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:782
#13 0xb5891f19 in KApplication::xioErrhandler (this=0xbf922f14, dpy=0xa376be0) at ../../kdeui/kernel/kapplication.cpp:419
#14 0xb5891ff1 in kde_xio_errhandler (dpy=0xa376be0) at ../../kdeui/kernel/kapplication.cpp:126
#15 0xb38012ed in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#16 0xb37feb56 in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#17 0xb37effac in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#18 0xb4d90552 in x11EventSourcePrepare (s=0xa34c888, timeout=0xbf922bd8) at kernel/qguieventdispatcher_glib.cpp:77
#19 0xb306e5db in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb306f024 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0xb306f254 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#22 0xb46b50f5 in QEventDispatcherGlib::processEvents (this=0xa2f19d8, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#23 0xb4d90b66 in QGuiEventDispatcherGlib::processEvents (this=0xa2f19d8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#24 0xb4680c5d in QEventLoop::processEvents (this=0xbf922da4, flags=...) at kernel/qeventloop.cpp:149
#25 0xb4680fee in QEventLoop::exec (this=0xbf922da4, flags=...) at kernel/qeventloop.cpp:204
#26 0xb46875f6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#27 0xb4cd14e4 in QApplication::exec () at kernel/qapplication.cpp:3828
#28 0x080bc135 in main (argc=5, argv=0xbf923054) at /build/digikam-Gcg5vj/digikam-4.12.0/core/app/main/main.cpp:230

Reported using DrKonqi
Comment 1 caulier.gilles 2017-02-13 03:55:53 UTC
Exiv2 IPTC reading crash into JPEG file. Report this problem to Exiv2 library bugzilla.

Gilles Caulier
Comment 2 caulier.gilles 2017-04-13 01:56:30 UTC
*** Bug 378724 has been marked as a duplicate of this bug. ***
Comment 3 caulier.gilles 2021-05-04 09:56:08 UTC
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4