Bug 319462

Summary: Crash while applying lensfun distortion correction a second time
Product: [Applications] digikam Reporter: Karl-Wilhelm Frommeyer <karl-wilhelm>
Component: Plugin-Editor-LensCorrectionAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 3.1.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:

Description Karl-Wilhelm Frommeyer 2013-05-07 11:48:35 UTC
Application: digikam (3.1.0)
KDE Platform Version: 4.10.2
Qt Version: 4.8.2
Operating System: Linux 3.2.0-41-generic-pae i686
Distribution: Ubuntu 12.04.2 LTS

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

DigiKam crashed when I was applying the correction to the second picture. Always when I'm using this function it works properly with the first picture I choose. But using this function a second time leads always to a crash of digikam.
Nevertheless: I like digikam and I'm happy about the progress you made!

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 0xae03a8c0 (LWP 1935))]

Thread 11 (Thread 0xab9b6b40 (LWP 1940)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb354796b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4b326ec in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4df7420 in wait (time=4294967295, this=0xa32a060) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa329fcc, mutex=0xa329fc8, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x08213afe in ?? ()
#6  0xb4df6eb0 in QThreadPrivate::start (arg=0xa34d098) at thread/qthread_unix.cpp:307
#7  0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 10 (Thread 0xaafffb40 (LWP 1941)):
#0  0xb2feddcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb4e553e5 in do_gettime (frac=0xaaffee30, sec=0xaaffee28) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb4f3f726 in QTimerInfoList::updateCurrentTime (this=0xaa602074) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb4f3fa7a in QTimerInfoList::timerWait (this=0xaa602074, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb4f3e323 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xaaffef3c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4f3e3bd in timerSourcePrepare (source=0xaa602040, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb3188832 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb3188f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0xaa600468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb4f0a6ad in QEventLoop::processEvents (this=0xaafff0c0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb4f0a949 in QEventLoop::exec (this=0xaafff0c0, flags=...) at kernel/qeventloop.cpp:204
#13 0xb4df3a1c in QThread::exec (this=0xa32a9c0) at thread/qthread.cpp:501
#14 0xb4ee7cfd in QInotifyFileSystemWatcherEngine::run (this=0xa32a9c0) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb4df6eb0 in QThreadPrivate::start (arg=0xa32a9c0) at thread/qthread_unix.cpp:307
#16 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 9 (Thread 0xaa5ffb40 (LWP 1951)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb354796b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4b326ec in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4df7420 in wait (time=4294967295, this=0xa5b2050) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa5a3678, mutex=0xa5a3674, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6ab849c in ?? () from /usr/lib/libdigikamcore.so.3
#6  0xb4df6eb0 in QThreadPrivate::start (arg=0xa5a3668) at thread/qthread_unix.cpp:307
#7  0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 8 (Thread 0xa559eb40 (LWP 1952)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb4b1448b in read () from /lib/i386-linux-gnu/libc.so.6
#2  0xb31c76ce in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3188b92 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3189002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0xa8dfb78, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0xb4f0a6ad in QEventLoop::processEvents (this=0xa559e0c0, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4f0a949 in QEventLoop::exec (this=0xa559e0c0, flags=...) at kernel/qeventloop.cpp:204
#9  0xb4df3a1c in QThread::exec (this=0xaa11030) at thread/qthread.cpp:501
#10 0xb4ee7cfd in QInotifyFileSystemWatcherEngine::run (this=0xaa11030) at io/qfilesystemwatcher_inotify.cpp:248
#11 0xb4df6eb0 in QThreadPrivate::start (arg=0xaa11030) at thread/qthread_unix.cpp:307
#12 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 7 (Thread 0x9acbeb40 (LWP 2072)):
#0  0xb4b32910 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#1  0xb31c8430 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb31887cb in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3188f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0xdabf580, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb4f0a6ad in QEventLoop::processEvents (this=0x9acbe0b8, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4f0a949 in QEventLoop::exec (this=0x9acbe0b8, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6ab7a3e in ?? () from /usr/lib/libdigikamcore.so.3
#9  0xb4de946b in QThreadPoolThread::run (this=0xba2e4f0) at concurrent/qthreadpool.cpp:107
#10 0xb4df6eb0 in QThreadPrivate::start (arg=0xba2e4f0) at thread/qthread_unix.cpp:307
#11 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0x9e98cb40 (LWP 2073)):
#0  0xb77e1e86 in ___tls_get_addr () from /lib/ld-linux.so.2
#1  0xb4df5e5f in get_thread_data () at thread/qthread_unix.cpp:178
#2  QThreadData::current () at thread/qthread_unix.cpp:204
#3  0xb4f3e567 in postEventSourcePrepare (s=0xa9c147d8, timeout=0x9e98bf2c) at kernel/qeventdispatcher_glib.cpp:256
#4  0xb3188832 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb3188f6f in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0xa9c23108, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#8  0xb4f0a6ad in QEventLoop::processEvents (this=0x9e98c0b8, flags=...) at kernel/qeventloop.cpp:149
#9  0xb4f0a949 in QEventLoop::exec (this=0x9e98c0b8, flags=...) at kernel/qeventloop.cpp:204
#10 0xb6ab7a3e in ?? () from /usr/lib/libdigikamcore.so.3
#11 0xb4de946b in QThreadPoolThread::run (this=0xba36348) at concurrent/qthreadpool.cpp:107
#12 0xb4df6eb0 in QThreadPrivate::start (arg=0xba36348) at thread/qthread_unix.cpp:307
#13 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0x9f18db40 (LWP 2203)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb4b1448b in read () from /lib/i386-linux-gnu/libc.so.6
#2  0xb31c76ce in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb3188b92 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3189002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0xaa6bc698, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0xb4f0a6ad in QEventLoop::processEvents (this=0x9f18d0b8, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4f0a949 in QEventLoop::exec (this=0x9f18d0b8, flags=...) at kernel/qeventloop.cpp:204
#9  0xb6ab7a3e in ?? () from /usr/lib/libdigikamcore.so.3
#10 0xb4de946b in QThreadPoolThread::run (this=0xba38868) at concurrent/qthreadpool.cpp:107
#11 0xb4df6eb0 in QThreadPrivate::start (arg=0xba38868) at thread/qthread_unix.cpp:307
#12 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0x766fdb40 (LWP 2434)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb4b16690 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb3196a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb318906e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4f3ede7 in QEventDispatcherGlib::processEvents (this=0x8b7914b0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb4f0a6ad in QEventLoop::processEvents (this=0x766fd0b8, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4f0a949 in QEventLoop::exec (this=0x766fd0b8, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6ab7a3e in ?? () from /usr/lib/libdigikamcore.so.3
#9  0xb4de946b in QThreadPoolThread::run (this=0xba39fe8) at concurrent/qthreadpool.cpp:107
#10 0xb4df6eb0 in QThreadPrivate::start (arg=0xba39fe8) at thread/qthread_unix.cpp:307
#11 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0x90a70b40 (LWP 2454)):
[KCrash Handler]
#7  0xb6888a9b in Digikam::DImg::getSubPixelColorFast(float, float) const () from /usr/lib/libdigikamcore.so.3
#8  0xb6a212af in Digikam::LensFunFilter::filterImage() () from /usr/lib/libdigikamcore.so.3
#9  0xb68dc6f0 in Digikam::DImgThreadedFilter::startFilterDirectly() () from /usr/lib/libdigikamcore.so.3
#10 0xb68dc1ff in Digikam::DImgThreadedFilter::run() () from /usr/lib/libdigikamcore.so.3
#11 0xb6aba0ce in Digikam::DynamicThread::DynamicThreadPriv::run() () from /usr/lib/libdigikamcore.so.3
#12 0xb4de946b in QThreadPoolThread::run (this=0xb9eb380) at concurrent/qthreadpool.cpp:107
#13 0xb4df6eb0 in QThreadPrivate::start (arg=0xb9eb380) at thread/qthread_unix.cpp:307
#14 0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#15 0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f3bcb40 (LWP 2455)):
#0  0xb397fba5 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#1  0xb397fc3e in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#2  0xb397e4d8 in ?? () from /usr/lib/i386-linux-gnu/libgomp.so.1
#3  0xb3543d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb4b24dde in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xae03a8c0 (LWP 1935)):
#0  0xb77cf424 in __kernel_vsyscall ()
#1  0xb354796b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4b326ec in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4df7420 in wait (time=4294967295, this=0xa9d3d40) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa8e4510, mutex=0xa8e450c, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6ab89ac in Digikam::WorkerObject::wait() () from /usr/lib/libdigikamcore.so.3
#6  0x08260565 in ?? ()
#7  0x08260826 in ?? ()
#8  0x082608a7 in ?? ()
#9  0xb4a68f51 in ?? () from /lib/i386-linux-gnu/libc.so.6
#10 0xb4a68fdd in exit () from /lib/i386-linux-gnu/libc.so.6
#11 0xb54f19a8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:780
#12 0xb5ffdf29 in KApplication::xioErrhandler (this=0xbfe8b898, dpy=0xa21cd08) at ../../kdeui/kernel/kapplication.cpp:419
#13 0xb5ffdf64 in kde_xio_errhandler (dpy=0xa21cd08) at ../../kdeui/kernel/kapplication.cpp:126
#14 0xb4633b74 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6
#15 0xb463140f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#16 0xb4622118 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6
#17 0xb55327e5 in x11EventSourceCheck (s=0xa2151a0) at kernel/qguieventdispatcher_glib.cpp:85
#18 0xb3188b3b in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#19 0xb3189002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#20 0xb31891c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#21 0xb4f3ed87 in QEventDispatcherGlib::processEvents (this=0xa1cba20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#22 0xb5532a1a in QGuiEventDispatcherGlib::processEvents (this=0xa1cba20, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#23 0xb4f0a6ad in QEventLoop::processEvents (this=0xbfe8b774, flags=...) at kernel/qeventloop.cpp:149
#24 0xb4f0a949 in QEventLoop::exec (this=0xbfe8b774, flags=...) at kernel/qeventloop.cpp:204
#25 0xb4f1034a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#26 0xb54779c4 in QApplication::exec () at kernel/qapplication.cpp:3817
#27 0x080b92e1 in ?? ()
#28 0xb4a4f4d3 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#29 0x080bb6a9 in _start ()

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

Possible duplicates by query: bug 319383.

Reported using DrKonqi
Comment 1 caulier.gilles 2013-05-07 11:50:28 UTC

*** This bug has been marked as a duplicate of bug 319383 ***
Comment 2 Karl-Wilhelm Frommeyer 2017-07-24 07:56:17 UTC
Works now fine
In the meantime I'm using Ubuntu 16.04 and Digikam 5.5.
You make great progress and I'm happy to organize my more than 120.000 picture files with Digikam. Thanks to the team!
Comment 3 caulier.gilles 2018-07-05 13:07:49 UTC
Problem not reproducible with 6.0.0 using Lensfun 0.3.95
Gilles Caulier