Bug 333540

Summary: Random crashes on OpenSUSE 13.1
Product: [Applications] digikam Reporter: Mike <amusikal>
Component: Plugin-Editor-LensCorrectionAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 3.5.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.0

Description Mike 2014-04-17 15:56:13 UTC
Application: digikam (3.5.0)
KDE Platform Version: 4.11.5
Qt Version: 4.8.5
Operating System: Linux 3.11.10-7-default i686
Distribution: "openSUSE 13.1 (Bottle) (i586)"

-- Information about the crash:
Crashes occur at seemingly random points... for example: when clicking on a thumbnail; when saving an edited image.

The crash can be reproduced sometimes.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xaed74ac0 (LWP 2426))]

Thread 6 (Thread 0xac3bbb40 (LWP 2427)):
#0  0xb7791430 in __kernel_vsyscall ()
#1  0xb4364f2c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb4a168cc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb57cf1d5 in wait (time=4294967295, this=0x9c87780) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x9c876ec, mutex=mutex@entry=0x9c876e8, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x082172b4 in Digikam::ScanController::run (this=0x9c4d208) at /usr/src/debug/digikam-3.5.0/core/digikam/database/scancontroller.cpp:725
#6  0xb57cec5f in QThreadPrivate::start (arg=0x9c4d208) at thread/qthread_unix.cpp:338
#7  0xb436107a in start_thread () from /lib/libpthread.so.0
#8  0xb4a0980e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xabbbab40 (LWP 2428)):
#0  0xb2c70953 in ?? () from /usr/lib/libglib-2.0.so.0
#1  0xb2c70ca8 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0xb2c2d9a0 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb2c2dc48 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb590e60f in QEventDispatcherGlib::processEvents (this=0x9c28a20, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#5  0xb58dda03 in QEventLoop::processEvents (this=this@entry=0xabbba198, flags=...) at kernel/qeventloop.cpp:149
#6  0xb58ddd29 in QEventLoop::exec (this=this@entry=0xabbba198, flags=...) at kernel/qeventloop.cpp:204
#7  0xb57cc30d in QThread::exec (this=this@entry=0x9c59090) at thread/qthread.cpp:536
#8  0xb58bde14 in QInotifyFileSystemWatcherEngine::run (this=0x9c59090) at io/qfilesystemwatcher_inotify.cpp:256
#9  0xb57cec5f in QThreadPrivate::start (arg=0x9c59090) at thread/qthread_unix.cpp:338
#10 0xb436107a in start_thread () from /lib/libpthread.so.0
#11 0xb4a0980e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xab3b9b40 (LWP 2430)):
#0  0xb7791430 in __kernel_vsyscall ()
#1  0xb4364f2c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb4a168cc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb57cf1d5 in wait (time=4294967295, this=0x9e08ec0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x9d8ab38, mutex=mutex@entry=0x9d8ab34, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb696e4c4 in Digikam::ParkingThread::run (this=0x9d8ab28) at /usr/src/debug/digikam-3.5.0/core/libs/threads/threadmanager.cpp:119
#6  0xb57cec5f in QThreadPrivate::start (arg=0x9d8ab28) at thread/qthread_unix.cpp:338
#7  0xb436107a in start_thread () from /lib/libpthread.so.0
#8  0xb4a0980e in clone () from /lib/libc.so.6

Thread 3 (Thread 0x9d867b40 (LWP 2449)):
#0  0xb2c7094e in ?? () from /usr/lib/libglib-2.0.so.0
#1  0xb2c70c68 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0xb2c2d6be in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#3  0xb2c2db88 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb2c2dc48 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb590e60f in QEventDispatcherGlib::processEvents (this=0xaecead0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0xb58dda03 in QEventLoop::processEvents (this=this@entry=0x9d867198, flags=...) at kernel/qeventloop.cpp:149
#7  0xb58ddd29 in QEventLoop::exec (this=this@entry=0x9d867198, flags=...) at kernel/qeventloop.cpp:204
#8  0xb696da92 in Digikam::WorkerObjectRunnable::run (this=0xd45d790) at /usr/src/debug/digikam-3.5.0/core/libs/threads/threadmanager.cpp:196
#9  0xb57c1dda in QThreadPoolThread::run (this=0xace1970) at concurrent/qthreadpool.cpp:107
#10 0xb57cec5f in QThreadPrivate::start (arg=0xace1970) at thread/qthread_unix.cpp:338
#11 0xb436107a in start_thread () from /lib/libpthread.so.0
#12 0xb4a0980e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa4db0b40 (LWP 2498)):
#0  0xb2c7094e in ?? () from /usr/lib/libglib-2.0.so.0
#1  0xb2c70c68 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0xb2c2dab8 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb2c2dc48 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb590e60f in QEventDispatcherGlib::processEvents (this=0xd471658, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#5  0xb58dda03 in QEventLoop::processEvents (this=this@entry=0xa4db0198, flags=...) at kernel/qeventloop.cpp:149
#6  0xb58ddd29 in QEventLoop::exec (this=this@entry=0xa4db0198, flags=...) at kernel/qeventloop.cpp:204
#7  0xb696da92 in Digikam::WorkerObjectRunnable::run (this=0xc36d7c0) at /usr/src/debug/digikam-3.5.0/core/libs/threads/threadmanager.cpp:196
#8  0xb57c1dda in QThreadPoolThread::run (this=0xace3ea8) at concurrent/qthreadpool.cpp:107
#9  0xb57cec5f in QThreadPrivate::start (arg=0xace3ea8) at thread/qthread_unix.cpp:338
#10 0xb436107a in start_thread () from /lib/libpthread.so.0
#11 0xb4a0980e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xaed74ac0 (LWP 2426)):
[KCrash Handler]
#7  0xb7791430 in __kernel_vsyscall ()
#8  0xb49496a6 in raise () from /lib/libc.so.6
#9  0xb494ae33 in abort () from /lib/libc.so.6
#10 0xb4988fd8 in __libc_message () from /lib/libc.so.6
#11 0xb498f18a in malloc_printerr () from /lib/libc.so.6
#12 0xb499294b in free () from /lib/libc.so.6
#13 0xb4b7c4bf in operator delete(void*) () from /usr/lib/libstdc++.so.6
#14 0xb4b7c50b in operator delete[](void*) () from /usr/lib/libstdc++.so.6
#15 0xb6753c4b in Digikam::DImg::putImageData (this=this@entry=0xb95ecb4, width=width@entry=3648, height=height@entry=2736, sixteenBit=sixteenBit@entry=false, alpha=false, data=data@entry=0x850f0008 "\"\024\037\377#\025 \377$\026!\377%\027\"\377%\027\"\377&\030#\377&\030#\377#\025 \377$\026!\377&\030#\377'\031$\377%\027\"\377&\030#\377&\030#\377(\032%\377'\031$\377(\032&\377(\032$\377&\031!\377&\031!\377&\031!\377%\030 \377!\027\037\377%\032\"\377#\030 \377#\030 \377$\030\036\377#\030\034\377$\026!\377$\026\"\377%\027\"\377$\027\"\377#\026\"\377$\026\"\377$\027\"\377\"\030!\377\"\027\"\377'\030$\377&\030$\377)\030#\377'\027\"\377&\025!\377'\026\"\377&\025 \377'\026 \377'\025!\377%\022 \377\"\020\035\377#\021\036\377'\025\"\377"..., copyData=copyData@entry=true) at /usr/src/debug/digikam-3.5.0/core/libs/dimg/dimg.cpp:234
#16 0xb6a56655 in Digikam::EditorCore::Private::putImageData (this=0xb95ec70, data=0x850f0008 "\"\024\037\377#\025 \377$\026!\377%\027\"\377%\027\"\377&\030#\377&\030#\377#\025 \377$\026!\377&\030#\377'\031$\377%\027\"\377&\030#\377&\030#\377(\032%\377'\031$\377(\032&\377(\032$\377&\031!\377&\031!\377&\031!\377%\030 \377!\027\037\377%\032\"\377#\030 \377#\030 \377$\030\036\377#\030\034\377$\026!\377$\026\"\377%\027\"\377$\027\"\377#\026\"\377$\026\"\377$\027\"\377\"\030!\377\"\027\"\377'\030$\377&\030$\377)\030#\377'\027\"\377&\025!\377'\026\"\377&\025 \377'\026 \377'\025!\377%\022 \377\"\020\035\377#\021\036\377'\025\"\377"..., w=w@entry=3648, h=h@entry=2736, sixteenBit=sixteenBit@entry=false) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/core/editorcore_p.h:166
#17 0xb6a56ae0 in Digikam::EditorCore::putImg (this=0xae49890, caller=..., action=..., img=...) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/core/editorcore.cpp:835
#18 0xb6a9172a in Digikam::ImageIface::setOriginal (this=this@entry=0xbf8e8840, caller=..., action=..., img=...) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/plugin/imageiface.cpp:451
#19 0x93834778 in DigikamEnhanceImagePlugin::LensAutoFixTool::setFinalImage (this=0xd577560) at /usr/src/debug/digikam-3.5.0/core/imageplugins/enhance/lensautofixtool.cpp:248
#20 0xb6a704c8 in Digikam::EditorToolThreaded::slotFilterFinished (this=0xd577560, success=true) at /usr/src/debug/digikam-3.5.0/core/utilities/imageeditor/editor/editortool.cpp:543
#21 0xb6a70a16 in Digikam::EditorToolThreaded::qt_static_metacall (_o=0x0, _id=6, _a=0xd43d5c8, _c=<optimized out>) at /usr/src/debug/digikam-3.5.0/build/core/digikam/editortool.moc:190
#22 0xb58f03da in QMetaCallEvent::placeMetaCall (this=0xd98ce78, object=0xd577560) at kernel/qobject.cpp:524
#23 0xb58f82bb in QObject::event (this=0xd577560, e=0xd98ce78) at kernel/qobject.cpp:1203
#24 0xb4d694b4 in QApplicationPrivate::notify_helper (this=0x9b09cc0, receiver=0xd577560, e=0xd98ce78) at kernel/qapplication.cpp:4562
#25 0xb4d6fee3 in QApplication::notify (this=0xbf8e9038, receiver=receiver@entry=0xd577560, e=e@entry=0xd98ce78) at kernel/qapplication.cpp:4348
#26 0xb5ef5cb4 in KApplication::notify (this=0xbf8e9038, receiver=0xd577560, event=0xd98ce78) at /usr/src/debug/kdelibs-4.11.5/kdeui/kernel/kapplication.cpp:311
#27 0xb58defba in QCoreApplication::notifyInternal (this=0xbf8e9038, receiver=receiver@entry=0xd577560, event=event@entry=0xd98ce78) at kernel/qcoreapplication.cpp:949
#28 0xb58e22e5 in sendEvent (event=0xd98ce78, receiver=0xd577560) at kernel/qcoreapplication.h:231
#29 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x9aa25f8) at kernel/qcoreapplication.cpp:1573
#30 0xb58e280c in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1466
#31 0xb590ee0e in sendPostedEvents () at kernel/qcoreapplication.h:236
#32 postEventSourceDispatch (s=0x9b0a7f8) at kernel/qeventdispatcher_glib.cpp:280
#33 0xb2c2d7de in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0xb2c2db88 in ?? () from /usr/lib/libglib-2.0.so.0
#35 0xb2c2dc48 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#36 0xb590e5ef in QEventDispatcherGlib::processEvents (this=this@entry=0x9b06be8, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#37 0xb4e1951e in QGuiEventDispatcherGlib::processEvents (this=0x9b06be8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#38 0xb58dda03 in QEventLoop::processEvents (this=this@entry=0xbf8e8e68, flags=...) at kernel/qeventloop.cpp:149
#39 0xb58ddd29 in QEventLoop::exec (this=this@entry=0xbf8e8e68, flags=...) at kernel/qeventloop.cpp:204
#40 0xb58e34fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#41 0xb4d67944 in QApplication::exec () at kernel/qapplication.cpp:3823
#42 0x080c53b0 in main (argc=1, argv=0xbf8e9174) at /usr/src/debug/digikam-3.5.0/core/digikam/main/main.cpp:235

Reported using DrKonqi
Comment 1 caulier.gilles 2014-05-16 07:33:27 UTC
digiKam 4.0.0 is out :

http://www.digikam.org/node/713

Please check if this entry still valid with this new version.

Thanks in advance

Gilles Caulier
Comment 2 caulier.gilles 2014-09-02 13:36:14 UTC
Mike,

This file still valid using last digiKam 4.2.0 ?

Gilles Caulier
Comment 3 caulier.gilles 2014-09-02 15:08:07 UTC
Git commit 2ad23dae290c64c293d9c3d3ae2c8734c99f902b by Gilles Caulier.
Committed on 02/09/2014 at 15:06.
Pushed by cgilles into branch 'master'.

Make digiKam ready to use next Lensfun API where CII correction have been removed.
Related: bug 331523, bug 319383
FIXED-IN: 4.3.0

M  +1    -2    imageplugins/enhance/lensautofixtool.cpp
M  +1    -1    imageplugins/enhance/lensautofixtool.h
M  +3    -12   libs/dimg/filters/lens/lensfunfilter.cpp
M  +3    -5    libs/dimg/filters/lens/lensfunfilter.h
M  +3    -6    libs/dimg/filters/lens/lensfuniface.cpp
M  +0    -1    libs/dimg/filters/lens/lensfuniface.h
M  +1    -26   libs/dimg/filters/lens/lensfunsettings.cpp
M  +1    -2    libs/dimg/filters/lens/lensfunsettings.h
M  +8    -13   utilities/queuemanager/basetools/enhance/lensautofix.cpp
M  +1    -1    utilities/queuemanager/basetools/enhance/lensautofix.h

http://commits.kde.org/digikam/2ad23dae290c64c293d9c3d3ae2c8734c99f902b
Comment 4 caulier.gilles 2014-09-02 15:11:52 UTC
Mike,

With current implementation from git/master (next digiKam 4.3.0), CCI correction have been removed from digiKam because Lensfun team have dropped this feature for next 0.2.9 release.

Can you test if crash still reproducible with current implementation ?

Thanks in advance

Gilles Caulier
Comment 5 caulier.gilles 2014-12-10 17:55:15 UTC
digiKam 4.5.0 have been released.

Crash still reproducible with this release ?

Gilles Caulier
Comment 6 caulier.gilles 2015-03-15 22:26:40 UTC
Git commit a0ea63613faf5062e6891eb12d53b334b1babc4a by Gilles Caulier.
Committed on 15/03/2015 at 23:21.
Pushed by cgilles into branch 'master'.

Apply patch # 91573 from Maik Qualmann to wrap image pixel positions to image sizes when Lens Corrections are applied by LensFun.
Related: bug 319383, bug 345168
FIXED-IN: 4.9.0

M  +4    -1    NEWS
M  +22   -13   libs/dimg/dimg.cpp

http://commits.kde.org/digikam/a0ea63613faf5062e6891eb12d53b334b1babc4a
Comment 7 caulier.gilles 2015-03-15 22:49:08 UTC
Git commit 53fd2de987febf552103de3ecc910a4d9c94c0d2 by Gilles Caulier.
Committed on 15/03/2015 at 22:47.
Pushed by cgilles into branch 'frameworks'.

backport commit #a0ea63613faf5062e6891eb12d53b334b1babc4a from git/master to frameworks branch
Related: bug 319383, bug 345168

M  +16   -7    libs/dimg/dimg.cpp

http://commits.kde.org/digikam/53fd2de987febf552103de3ecc910a4d9c94c0d2