Bug 312285

Summary: Crash in image editor when moving to the next image
Product: [Applications] digikam Reporter: Alex G <gforce>
Component: DImg-ProcessingAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, liviux, webmaster
Priority: NOR    
Version: 3.1.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 4.0.0
Sentry Crash Report:
Attachments: EXIF data of a photo crashing Digikam's editor
Metadata extracted with exiv2

Description Alex G 2012-12-28 00:10:28 UTC
Application: digikam (3.0.0-beta3)
KDE Platform Version: 4.10.60 (Compiled from sources)
Qt Version: 4.8.4
Operating System: Linux 3.6.8-gentoo x86_64
Distribution: "NAME=Gentoo"

-- Information about the crash:
- What I was doing when the application crashed:
Opened an image in the editor, cropped it with the aspect-ratio crop tool, saved the change (new image), then moved on to the next photo by clicking on it's thumbnail.

Sometimes Digikam survives the first few image changes in the editor before crashing.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:164
164	62:	movl	(%rsp), %edi
[Current thread is 1 (Thread 0x7f35efc8d800 (LWP 12990))]

Thread 14 (Thread 0x7f35c2084700 (LWP 12991)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:164
#1  0x00007f35ea30955b in wait (time=18446744073709551615, this=0xd84f40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0xd8ee48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005e0538 in Digikam::ScanController::run (this=0xcf7990) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/database/scancontroller.cpp:698
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0xcf7990) at thread/qthread_unix.cpp:338
#5  0x00007f35e8567344 in ?? () from /usr/lib64/libGL.so.1
#6  0x00007f35e6c3eea7 in start_thread (arg=0x7f35c2084700) at pthread_create.c:308
#7  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 13 (Thread 0x7f35c1883700 (LWP 12992)):
#0  0x00007f35e952e3ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f35e0dd8af6 in g_main_context_poll (n_fds=1, fds=0x7f35b4002a30, timeout=-1, context=0x7f35b40009d0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x7f35b40009d0, self=<optimized out>) at gmain.c:3285
#3  g_main_context_iterate (context=0x7f35b40009d0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3227
#4  0x00007f35e0dd8c24 in g_main_context_iteration (context=0x7f35b40009d0, may_block=1) at gmain.c:3351
#5  0x00007f35ea437146 in QEventDispatcherGlib::processEvents (this=0x7f35b40008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f35ea407382 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f35ea4075d7 in QEventLoop::exec (this=0x7f35c1882c70, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f35ea305f77 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#9  0x00007f35ea3e748f in QInotifyFileSystemWatcherEngine::run (this=0xd90f10) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007f35ea308fec in QThreadPrivate::start (arg=0xd90f10) at thread/qthread_unix.cpp:338
#11 0x00007f35e8567344 in ?? () from /usr/lib64/libGL.so.1
#12 0x00007f35e6c3eea7 in start_thread (arg=0x7f35c1883700) at pthread_create.c:308
#13 0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 12 (Thread 0x7f35c1082700 (LWP 12994)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:164
#1  0x00007f35ea30955b in wait (time=18446744073709551615, this=0x1144cc0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0xfd4a68, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ed4c8281 in Digikam::ParkingThread::run (this=0xfd4a50) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threads/threadmanager.cpp:119
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0xfd4a50) at thread/qthread_unix.cpp:338
#5  0x00007f35e8567344 in ?? () from /usr/lib64/libGL.so.1
#6  0x00007f35e6c3eea7 in start_thread (arg=0x7f35c1082700) at pthread_create.c:308
#7  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 11 (Thread 0x7f35a3ffe700 (LWP 13106)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x8460420) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x8460420) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f35a3ffe700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 10 (Thread 0x7f35ae4af700 (LWP 13107)):
#0  0x00007fffbae4e86f in clock_gettime ()
#1  0x00007f35dfa3642d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007f35ea35eff4 in do_gettime (frac=0x7f35ae4aeab8, sec=0x7f35ae4aeab0) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00007f35ea43798d in QTimerInfoList::updateCurrentTime (this=0x7f358c0d3dd0) at kernel/qeventdispatcher_unix.cpp:354
#5  0x00007f35ea437cc3 in QTimerInfoList::timerWait (this=0x7f358c0d3dd0, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0x00007f35ea43669c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f35ae4aebac) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007f35ea436745 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007f35e0dd8388 in g_main_context_prepare (context=0x7f358c0d7480, priority=0x7f35ae4aebe8) at gmain.c:2986
#9  0x00007f35e0dd8a1b in g_main_context_iterate (dispatch=1, block=1, context=0x7f358c0d7480, self=<optimized out>) at gmain.c:3270
#10 g_main_context_iterate (context=0x7f358c0d7480, block=1, dispatch=1, self=<optimized out>) at gmain.c:3227
#11 0x00007f35e0dd8c24 in g_main_context_iteration (context=0x7f358c0d7480, may_block=1) at gmain.c:3351
#12 0x00007f35ea437146 in QEventDispatcherGlib::processEvents (this=0x7f358c065f90, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#13 0x00007f35ea407382 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x00007f35ea4075d7 in QEventLoop::exec (this=0x7f35ae4aed00, flags=...) at kernel/qeventloop.cpp:204
#15 0x00007f35ed4c78fe in Digikam::WorkerObjectRunnable::run (this=0x8275790) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threads/threadmanager.cpp:196
#16 0x00007f35ea2fd1e2 in QThreadPoolThread::run (this=0x83aacc0) at concurrent/qthreadpool.cpp:107
#17 0x00007f35ea308fec in QThreadPrivate::start (arg=0x83aacc0) at thread/qthread_unix.cpp:338
#18 0x00007f35e6c3eea7 in start_thread (arg=0x7f35ae4af700) at pthread_create.c:308
#19 0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 9 (Thread 0x7f3563c54700 (LWP 13108)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x102ed60) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x102ed60) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f3563c54700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 8 (Thread 0x7f359be36700 (LWP 13109)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x83aaed0) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x83aaed0) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f359be36700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 7 (Thread 0x7f359b635700 (LWP 13117)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x100bcb0) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x100bcb0) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f359b635700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 6 (Thread 0x7f3568c8a700 (LWP 13123)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x100cc90) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x100cc90) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f3568c8a700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 5 (Thread 0x7f357d2e9700 (LWP 13124)):
[KCrash Handler]
#6  __GI___libc_free (mem=0x7f353efca010) at malloc.c:2902
#7  0x00007f35ed2d8b99 in Digikam::DImg::rotate (this=0x93fbde0, angle=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/dimg/dimg.cpp:2440
#8  0x00007f35ed2d9472 in Digikam::DImg::rotateAndFlip (this=0x93fbde0, orientation=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/dimg/dimg.cpp:2651
#9  0x00007f35ed494a8a in Digikam::LoadSaveThread::exifRotate (image=..., filePath=...) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threadimageio/loadsavethread.cpp:329
#10 0x00007f35ed4ab42d in Digikam::PreviewLoadingTask::execute (this=0x93fbbe0) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threadimageio/previewtask.cpp:186
#11 0x00007f35ed49412e in Digikam::LoadSaveThread::run (this=0x45610c0) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threadimageio/loadsavethread.cpp:136
#12 0x00007f35ed4c9b9e in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x4552150) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threads/dynamicthread.cpp:186
#13 0x00007f35ea2fd1e2 in QThreadPoolThread::run (this=0x102ef80) at concurrent/qthreadpool.cpp:107
#14 0x00007f35ea308fec in QThreadPrivate::start (arg=0x102ef80) at thread/qthread_unix.cpp:338
#15 0x00007f35e6c3eea7 in start_thread (arg=0x7f357d2e9700) at pthread_create.c:308
#16 0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 4 (Thread 0x7f357cae8700 (LWP 13125)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x93f4700) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x93f4700) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f357cae8700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 3 (Thread 0x7f357c2e7700 (LWP 13126)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x10075a0) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x10075a0) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f357c2e7700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 2 (Thread 0x7f357bae6700 (LWP 13128)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f35ea3094bf in wait (time=30000, this=0x11201e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x11413d8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ea2fd2af in QThreadPoolThread::run (this=0x10074e0) at concurrent/qthreadpool.cpp:141
#4  0x00007f35ea308fec in QThreadPrivate::start (arg=0x10074e0) at thread/qthread_unix.cpp:338
#5  0x00007f35e6c3eea7 in start_thread (arg=0x7f357bae6700) at pthread_create.c:308
#6  0x00007f35e95370ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 1 (Thread 0x7f35efc8d800 (LWP 12990)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:164
#1  0x00007f35ea30955b in wait (time=18446744073709551615, this=0x4541860) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x4545a08, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f35ed4c8670 in Digikam::WorkerObject::wait (this=0x45484a0) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/threads/workerobject.cpp:95
#4  0x0000000000628b93 in Digikam::FileActionMngr::shutDown (this=0x4548170) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/fileaction/fileactionmngr.cpp:110
#5  0x0000000000628e04 in Digikam::FileActionMngr::~FileActionMngr (this=0x4548170, __in_chrg=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/fileaction/fileactionmngr.cpp:78
#6  0x0000000000628e87 in ~FileActionMngrCreator (this=0x4548170, __in_chrg=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/fileaction/fileactionmngr.cpp:52
#7  destroy () at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/fileaction/fileactionmngr.cpp:59
#8  0x00007f35e9486b61 in __run_exit_handlers (status=1, listp=0x7f35e97ef5c8 <__exit_funcs>, run_list_atexit=true) at exit.c:77
#9  0x00007f35e9486be5 in __GI_exit (status=<optimized out>) at exit.c:99
#10 0x00007f35eae99288 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:772
#11 0x00007f35ebb5ac38 in KApplication::xioErrhandler (this=0x7fffbae2db00, dpy=0xc7caa0) at /usr/src/debug/kde-base/kdelibs-9999/kdelibs-9999/kdeui/kernel/kapplication.cpp:419
#12 0x00007f35e71e163e in _XIOError (dpy=0xc7caa0) at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/XlibInt.c:1618
#13 0x00007f35e71df668 in _XReply (dpy=0xc7caa0, rep=0x7fffbae2c370, extra=0, discard=1) at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/xcb_io.c:707
#14 0x00007f35e71d4f69 in XQueryPointer (dpy=0xc7caa0, w=653, root=0x7fffbae2c3f8, child=0x7fffbae2c400, root_x=0x7fffbae2c40c, root_y=0x7fffbae2c410, win_x=0x7fffbae2c414, win_y=0x7fffbae2c418, mask=0x7fffbae2c41c) at /usr/src/debug/x11-libs/libX11-1.5.0/libX11-1.5.0/src/QuPntr.c:48
#15 0x00007f35eaeb214f in QCursor::pos () at kernel/qcursor_x11.cpp:162
#16 0x00007f35eae2fca5 in QApplicationPrivate::sendSyntheticEnterLeave (this=<optimized out>, widget=0x75da970) at kernel/qapplication.cpp:3237
#17 0x00007f35eae80232 in QWidget::setVisible (this=0x75da970, visible=<optimized out>) at kernel/qwidget.cpp:7780
#18 0x00007f35c546ebdc in show (this=<optimized out>) at /usr/include/qt4/QtGui/qwidget.h:494
#19 Oxygen::LineEditData::initializeAnimation (this=0x75da860) at /usr/src/debug/kde-base/kstyles-9999/kstyles-9999/kstyles/oxygen/transitions/oxygenlineeditdata.cpp:237
#20 0x00007f35c546e71f in textChanged (this=0x75da860) at /usr/src/debug/kde-base/kstyles-9999/kstyles-9999/kstyles/oxygen/transitions/oxygenlineeditdata.cpp:188
#21 Oxygen::LineEditData::textChanged (this=0x75da860) at /usr/src/debug/kde-base/kstyles-9999/kstyles-9999/kstyles/oxygen/transitions/oxygenlineeditdata.cpp:163
#22 0x00007f35ea41c3c1 in QMetaObject::activate (sender=0x75d2a80, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbae2c7b0) at kernel/qobject.cpp:3539
#23 0x00007f35eb22b0e2 in QLineEdit::textChanged (this=<optimized out>, _t1=...) at .moc/release-shared/moc_qlineedit.cpp:264
#24 0x00007f35eb22b389 in QLineEdit::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/release-shared/moc_qlineedit.cpp:140
#25 0x00007f35ea41c3c1 in QMetaObject::activate (sender=0x75d2ea0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbae2c920) at kernel/qobject.cpp:3539
#26 0x00007f35eb49a305 in QLineControl::textChanged (this=<optimized out>, _t1=...) at .moc/release-shared/moc_qlinecontrol_p.cpp:148
#27 0x00007f35eb23065b in QLineControl::finishChange (this=0x75d2ea0, validateFromState=-1, update=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:660
#28 0x00007f35eb230902 in QLineControl::internalSetText (this=0x75d2ea0, txt=..., pos=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:692
#29 0x00007f35eb1f2751 in QComboBoxPrivate::setCurrentIndex (this=0x75d1d30, mi=...) at widgets/qcombobox.cpp:2044
#30 0x00007f35eb1f28a7 in QComboBox::setCurrentIndex (this=<optimized out>, index=-1) at widgets/qcombobox.cpp:2025
#31 0x00007f35ed4e265f in Digikam::DZoomBar::setZoom (this=0x75cef00, zoom=<optimized out>, zmin=<optimized out>, zmax=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/libs/widgets/common/dzoombar.cpp:227
#32 0x00007f35ea41c3c1 in QMetaObject::activate (sender=0x720bca0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbae2ccd0) at kernel/qobject.cpp:3539
#33 0x00007f35ed5b81fb in Digikam::EditorStackView::signalZoomChanged (this=<optimized out>, _t1=false, _t2=false, _t3=0.18928062678062679) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0_beta3_build/digikam/editorstackview.moc:115
#34 0x00007f35ea41c3c1 in QMetaObject::activate (sender=0x721abd0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbae2ce30) at kernel/qobject.cpp:3539
#35 0x00007f35ed52d900 in Digikam::Canvas::signalZoomChanged (this=<optimized out>, _t1=0.18928062678062679) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0_beta3_build/digikam/canvas.moc:213
#36 0x00007f35ed531ecc in Digikam::Canvas::slotImageLoaded (this=0x721abd0, filePath=..., success=true) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/utilities/imageeditor/q3support/canvas.cpp:274
#37 0x00007f35ea41c3c1 in QMetaObject::activate (sender=0x71fdb60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbae2d010) at kernel/qobject.cpp:3539
#38 0x00007f35ed596f96 in Digikam::EditorCore::signalImageLoaded (this=<optimized out>, _t1=..., _t2=true) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0_beta3_build/digikam/editorcore.moc:177
#39 0x00007f35ed598251 in Digikam::EditorCore::slotImageLoaded (this=0x71fdb60, loadingDescription=..., img=...) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/utilities/imageeditor/core/editorcore.cpp:309
#40 0x00007f35ea421546 in QObject::event (this=0x71fdb60, e=<optimized out>) at kernel/qobject.cpp:1194
#41 0x00007f35eae2e924 in notify_helper (e=0x7f35580686c0, receiver=0x71fdb60, this=0xc701c0) at kernel/qapplication.cpp:4562
#42 QApplicationPrivate::notify_helper (this=0xc701c0, receiver=0x71fdb60, e=0x7f35580686c0) at kernel/qapplication.cpp:4534
#43 0x00007f35eae34083 in QApplication::notify (this=0x7fffbae2db00, receiver=0x71fdb60, e=0x7f35580686c0) at kernel/qapplication.cpp:4423
#44 0x00007f35ebb5c946 in KApplication::notify (this=0x7fffbae2db00, receiver=0x71fdb60, event=0x7f35580686c0) at /usr/src/debug/kde-base/kdelibs-9999/kdelibs-9999/kdeui/kernel/kapplication.cpp:311
#45 0x00007f35ea40883c in QCoreApplication::notifyInternal (this=0x7fffbae2db00, receiver=0x71fdb60, event=0x7f35580686c0) at kernel/qcoreapplication.cpp:946
#46 0x00007f35ea40c01a in sendEvent (event=0x7f35580686c0, receiver=0x71fdb60) at ../../src/corelib/kernel/qcoreapplication.h:231
#47 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xbfa4b0) at kernel/qcoreapplication.cpp:1570
#48 0x00007f35ea436cb3 in sendPostedEvents () at ../../src/corelib/kernel/qcoreapplication.h:236
#49 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#50 0x00007f35e0dd8813 in g_main_dispatch (context=0xc6e590) at gmain.c:2715
#51 g_main_context_dispatch (context=0xc6e590) at gmain.c:3219
#52 0x00007f35e0dd8b60 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0xc6e590, self=<optimized out>) at gmain.c:3290
#53 g_main_context_iterate (context=0xc6e590, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3227
#54 0x00007f35e0dd8c24 in g_main_context_iteration (context=0xc6e590, may_block=1) at gmain.c:3351
#55 0x00007f35ea4370df in QEventDispatcherGlib::processEvents (this=0xbfbd40, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#56 0x00007f35eaed0c3e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#57 0x00007f35ea407382 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#58 0x00007f35ea4075d7 in QEventLoop::exec (this=0x7fffbae2d980, flags=...) at kernel/qeventloop.cpp:204
#59 0x00007f35ea40c315 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#60 0x00000000004950e3 in main (argc=1, argv=<optimized out>) at /usr/src/debug/media-gfx/digikam-3.0.0_beta3/digikam-3.0.0-beta3/core/digikam/main/main.cpp:234

This bug may be a duplicate of or related to bug 301051.

Possible duplicates by query: bug 301051.

Reported using DrKonqi
Comment 1 caulier.gilles 2012-12-28 10:08:55 UTC
It crash in DImg::rotate() code, probably about Exif autorotation at loading.

Can you identify which file crash digiKam in this case and check if it's always reproducible. If yes, please provide file for download on the web.

Gilles Caulier
Comment 2 Livio 2013-03-26 14:18:21 UTC
Created attachment 78396 [details]
EXIF data of a photo crashing Digikam's editor

Generated with:
exiftool /home/liviux/Documenti/Immagini/foto/Pentax/2013/IMGP7796.JPG > DigikamCrashExif.txt

Original 7.8 MB file at http://dl.dropbox.com/u/30331506/IMGP7796.JPG
Comment 3 Livio 2013-03-26 14:19:25 UTC
I found the editor crashes consistently when moving to the next image, if it is vertical. Even without performing any edit and without saving the current image.
I did just open the editor with F4, then moved to the next image. All is well as long as the photos are horizontal, but loading the first vertical one invariably crashes the application. This happens both using the on-screen arrows and moving with the spacebar.
Comment 4 caulier.gilles 2013-03-26 15:03:57 UTC
If exif metadata are the problem, try to use Exiv2 command line tool to read metadata and see if it crash. LibExiv2 is used by digiKam in background to manage Exif, Iptc and XMP...

Gilles Caulier
Comment 5 Livio 2013-03-26 15:39:00 UTC
Created attachment 78399 [details]
Metadata extracted with exiv2

exiv2 worked regularly on the "problem" file
Comment 6 Livio 2013-03-26 15:47:37 UTC
Exiv worked flawlessly, just like Digikam reads EXIF metadata in general.
I forgot to mention that the same file can be selected in the main window and opened for editing with F4 without any problem. Only moving to another photo while in the editor causes the crash. I also forgot some basic information:

Application: digikam (2.8.0)
KDE Platform Version: 4.9.5
Qt Version: 4.8.3
Operating System: Linux 3.5.0-26-generic i686
Distribution: Ubuntu 12.10
Comment 7 caulier.gilles 2013-04-07 19:53:41 UTC
*** Bug 317990 has been marked as a duplicate of this bug. ***
Comment 8 caulier.gilles 2013-10-30 15:51:22 UTC
digiKam 3.5.0 is out.

Can you give a fresh feedback about your report ? Crash still reproducible ?

Thanks in advance

Gilles Caulier
Comment 9 Livio 2013-11-09 14:40:25 UTC
The crash can't be reproduced in the latest 3.4 version (on Kubuntu 13.10 32 bit), simply because the ability to move from one photo to the next has been disabled in the editor, apparently. While this prevents undesirable crashes, it's hard to think of it as a "solution". In my workflow, working with many shots at a time, I used to open the editor and perform quick corrections (or deletions) moving forward with the spacebar and confirming changes with the same key. It was a very efficient way to "fix" many photos in a short time, and I miss it very much since this bug appeared.
Please, put back the "forward/back" functionality in Digikam Editor! I'll do anything I can to help pinpoint the causes of this problem.
Thank you.

Livio
Comment 10 Livio 2013-11-14 08:44:11 UTC
I compiled Digikam 3.5 (not yet in the Ubuntu repositories) and can see that even in this version the user can't move from one image to another in the editor.
Should I open a new request in order to get back this fundamental feature?
Comment 11 caulier.gilles 2013-12-18 17:41:48 UTC
Livio,

Nothing has changed in digiKam 3.5.0. You can of course switch to another image through thumbbar as digiKam 3.1.0 (there is no reason to remove this feature)...

Please check better again...

Gilles Caulier
Comment 12 Livio 2013-12-21 18:16:55 UTC
Sorry, it was not clear to me that the thumbbar in the editor shows only the photos already selected in the main window. I opened the editor with "F4" and its thumbbar showed only one image, thus making impossible to move back and forward!
Now I tried selecting all the photos in the folder before opening the editor: Ctrl+A, F4, Space, and when I got to the photo that caused the problem it opened flawlessly! Then I tried editing the previous one, pressing Space to move forward, Space again when prompted for saving, and again no crash opening the infamous IMGP7796.JPG
Seems like the bug is gone. Thank you a lot!