Bug 261415 - Digikam crashes when adding lens data to ~/.local
Summary: Digikam crashes when adding lens data to ~/.local
Status: RESOLVED UPSTREAM
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Editor-LensCorrection (show other bugs)
Version: 1.7.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-27 22:26 UTC by Andrew Coles
Modified: 2016-07-01 09:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 1.8.0


Attachments
A lensfun lens definition (1.41 KB, application/xml)
2010-12-27 22:27 UTC, Andrew Coles
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Coles 2010-12-27 22:26:24 UTC
Application: digikam (1.7.0)
KDE Platform Version: 4.5.4 (KDE 4.5.4)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-24-generic-pae i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- Custom settings of the application:

When adding lens data to ~/.local/share/lensfun/my-lens.xml , digikam crashes on startup.  I'm not sure whether it's a lensfun bug as I don't have any other apps that use it.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0xb244f740 (LWP 3625))]

Thread 15 (Thread 0xaff97b70 (LWP 3626)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4ab74dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb4b299c7 in wait (this=0x8d98318, mutex=0x8d98314, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0x8d98318, mutex=0x8d98314, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x08266364 in Digikam::ScanController::run (this=0x8d79670) at /build/buildd/digikam-1.7.0/digikam/scancontroller.cpp:571
#5  0xb4b28df9 in QThreadPrivate::start (arg=0x8d79670) at thread/qthread_unix.cpp:266
#6  0xb4ab2cc9 in start_thread (arg=0xaff97b70) at pthread_create.c:304
#7  0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 14 (Thread 0xaf796b70 (LWP 3628)):
#0  0xb3f7e23c in ?? () from /lib/libglib-2.0.so.0
#1  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#2  0xb4c5959f in QEventDispatcherGlib::processEvents (this=0x8e6c3f8, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#3  0xb4c29609 in QEventLoop::processEvents (this=0xaf7962a0, flags=) at kernel/qeventloop.cpp:149
#4  0xb4c29a8a in QEventLoop::exec (this=0xaf7962a0, flags=...) at kernel/qeventloop.cpp:201
#5  0xb4b25b7e in QThread::exec (this=0x8e1db08) at thread/qthread.cpp:490
#6  0xb66fa97d in Digikam::ImageFilterModelWorker::Thread::run (this=0x8e1db08) at /build/buildd/digikam-1.7.0/obj-i686-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:74
#7  0xb4b28df9 in QThreadPrivate::start (arg=0x8e1db08) at thread/qthread_unix.cpp:266
#8  0xb4ab2cc9 in start_thread (arg=0xaf796b70) at pthread_create.c:304
#9  0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 13 (Thread 0xab825b70 (LWP 3629)):
#0  0xb29bee36 in clock_gettime (clock_id=-1298386956, tp=0xab824fa0) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb4b8450b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0xb4c5b6e5 in QTimerInfoList::updateCurrentTime (this=0x8dc63b4) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb4c5b72a in QTimerInfoList::timerWait (this=0x8dc63b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb4c597a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xab8250cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4c5983d in timerSourcePrepare (source=0x0, timeout=0xb29c2ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb3f7de6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb3f7e279 in ?? () from /lib/libglib-2.0.so.0
#9  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb4c5959f in QEventDispatcherGlib::processEvents (this=0x8db63d0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0xb4c29609 in QEventLoop::processEvents (this=0xab8252a0, flags=) at kernel/qeventloop.cpp:149
#12 0xb4c29a8a in QEventLoop::exec (this=0xab8252a0, flags=...) at kernel/qeventloop.cpp:201
#13 0xb4b25b7e in QThread::exec (this=0x8dd1720) at thread/qthread.cpp:490
#14 0xb66fa97d in Digikam::ImageFilterModelWorker::Thread::run (this=0x8dd1720) at /build/buildd/digikam-1.7.0/obj-i686-linux-gnu/digikam/../../libs/models/imagefiltermodelthreads.h:74
#15 0xb4b28df9 in QThreadPrivate::start (arg=0x8dd1720) at thread/qthread_unix.cpp:266
#16 0xb4ab2cc9 in start_thread (arg=0xab825b70) at pthread_create.c:304
#17 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 12 (Thread 0xaafa3b70 (LWP 3630)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4ab74dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb4b299c7 in wait (this=0xa495de0, mutex=0xa495ddc, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0xa495de0, mutex=0xa495ddc, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0xb6a14dda in Digikam::ParkingThread::run (this=0xa495dd0) at /build/buildd/digikam-1.7.0/libs/threads/threadmanager.cpp:119
#5  0xb4b28df9 in QThreadPrivate::start (arg=0xa495dd0) at thread/qthread_unix.cpp:266
#6  0xb4ab2cc9 in start_thread (arg=0xaafa3b70) at pthread_create.c:304
#7  0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 11 (Thread 0xaa7a2b70 (LWP 3631)):
#0  0xb4ab53f4 in __pthread_mutex_lock (mutex=0xa4a501c) at pthread_mutex_lock.c:62
#1  0xb3f7db68 in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0xb3f7e45e in ?? () from /lib/libglib-2.0.so.0
#3  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xa4a2018, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0xb4c29609 in QEventLoop::processEvents (this=0xaa7a22c0, flags=) at kernel/qeventloop.cpp:149
#6  0xb4c29a8a in QEventLoop::exec (this=0xaa7a22c0, flags=...) at kernel/qeventloop.cpp:201
#7  0xb4b25b7e in QThread::exec (this=0xa4a1598) at thread/qthread.cpp:490
#8  0xb4b28df9 in QThreadPrivate::start (arg=0xa4a1598) at thread/qthread_unix.cpp:266
#9  0xb4ab2cc9 in start_thread (arg=0xaa7a2b70) at pthread_create.c:304
#10 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 10 (Thread 0xa9fa1b70 (LWP 3632)):
#0  0xb3f7e2c9 in ?? () from /lib/libglib-2.0.so.0
#1  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#2  0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xa4a3348, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#3  0xb4c29609 in QEventLoop::processEvents (this=0xa9fa12c0, flags=) at kernel/qeventloop.cpp:149
#4  0xb4c29a8a in QEventLoop::exec (this=0xa9fa12c0, flags=...) at kernel/qeventloop.cpp:201
#5  0xb4b25b7e in QThread::exec (this=0xa49bef8) at thread/qthread.cpp:490
#6  0xb4b28df9 in QThreadPrivate::start (arg=0xa49bef8) at thread/qthread_unix.cpp:266
#7  0xb4ab2cc9 in start_thread (arg=0xa9fa1b70) at pthread_create.c:304
#8  0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 9 (Thread 0xa2535b70 (LWP 3633)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4ab7884 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:236
#2  0xa766eb3f in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 8 (Thread 0xa18fab70 (LWP 3634)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb460f371 in select () at ../sysdeps/unix/syscall-template.S:82
#2  0xa769af1c in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 7 (Thread 0xa10f9b70 (LWP 3635)):
#0  0xb4ab67d4 in __pthread_mutex_unlock_usercnt (mutex=0xaa79bf4, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0xb3f7de58 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0xb3f7e279 in ?? () from /lib/libglib-2.0.so.0
#3  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xaa79b70, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#5  0xb4c29609 in QEventLoop::processEvents (this=0xa10f9250, flags=) at kernel/qeventloop.cpp:149
#6  0xb4c29a8a in QEventLoop::exec (this=0xa10f9250, flags=...) at kernel/qeventloop.cpp:201
#7  0xb4b25b7e in QThread::exec (this=0xaa79788) at thread/qthread.cpp:490
#8  0xa76bf81a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#9  0xb4b28df9 in QThreadPrivate::start (arg=0xaa79788) at thread/qthread_unix.cpp:266
#10 0xb4ab2cc9 in start_thread (arg=0xa10f9b70) at pthread_create.c:304
#11 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xa08f8b70 (LWP 3636)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4607df6 in __poll (fds=0xb469eff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb4533562 in ?? () from /usr/lib/libpulse.so.0
#3  0xb451fab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0xb4521a73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0xb4521b44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0xb4533303 in ?? () from /usr/lib/libpulse.so.0
#7  0xb2989bd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#8  0xb4ab2cc9 in start_thread (arg=0xa08f8b70) at pthread_create.c:304
#9  0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0x9c0f6b70 (LWP 3637)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4ab74dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xa7680b54 in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 4 (Thread 0x9b8f5b70 (LWP 3638)):
#0  0xb29bee36 in clock_gettime (clock_id=-1298386956, tp=0x9b8f4f60) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb4b8450b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0xb4c5b6e5 in QTimerInfoList::updateCurrentTime (this=0xaee3b614) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb4c5b72a in QTimerInfoList::timerWait (this=0xaee3b614, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb4c597a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x9b8f508c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4c5983d in timerSourcePrepare (source=0x0, timeout=0xb29c2ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb3f7de6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb3f7e279 in ?? () from /lib/libglib-2.0.so.0
#9  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xad0dda0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0xb4c29609 in QEventLoop::processEvents (this=0x9b8f5260, flags=) at kernel/qeventloop.cpp:149
#12 0xb4c29a8a in QEventLoop::exec (this=0x9b8f5260, flags=...) at kernel/qeventloop.cpp:201
#13 0xb4b25b7e in QThread::exec (this=0xad0d520) at thread/qthread.cpp:490
#14 0xb4c0835b in QInotifyFileSystemWatcherEngine::run (this=0xad0d520) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb4b28df9 in QThreadPrivate::start (arg=0xad0d520) at thread/qthread_unix.cpp:266
#16 0xb4ab2cc9 in start_thread (arg=0x9b8f5b70) at pthread_create.c:304
#17 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0x9af4bb70 (LWP 3645)):
#0  0xb78b1424 in __kernel_vsyscall ()
#1  0xb4607df6 in __poll (fds=0xb469eff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb3f8ba1b in g_poll () from /lib/libglib-2.0.so.0
#3  0xb3f7e43c in ?? () from /lib/libglib-2.0.so.0
#4  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xb0b18a0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#6  0xb4c29609 in QEventLoop::processEvents (this=0x9af4b260, flags=) at kernel/qeventloop.cpp:149
#7  0xb4c29a8a in QEventLoop::exec (this=0x9af4b260, flags=...) at kernel/qeventloop.cpp:201
#8  0xb4b25b7e in QThread::exec (this=0xb0b0580) at thread/qthread.cpp:490
#9  0xb4c0835b in QInotifyFileSystemWatcherEngine::run (this=0xb0b0580) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb4b28df9 in QThreadPrivate::start (arg=0xb0b0580) at thread/qthread_unix.cpp:266
#11 0xb4ab2cc9 in start_thread (arg=0x9af4bb70) at pthread_create.c:304
#12 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0x99748b70 (LWP 3650)):
#0  0xb29bee36 in clock_gettime (clock_id=-1298386956, tp=0x99747f60) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb4b8450b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0xb4c5b6e5 in QTimerInfoList::updateCurrentTime (this=0xbde6f74) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb4c5b72a in QTimerInfoList::timerWait (this=0xbde6f74, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb4c597a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x9974808c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb4c5983d in timerSourcePrepare (source=0x0, timeout=0xb29c2ff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb3f7de6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb3f7e279 in ?? () from /lib/libglib-2.0.so.0
#9  0xb3f7e848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb4c5959f in QEventDispatcherGlib::processEvents (this=0xaf906e8, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0xb4c29609 in QEventLoop::processEvents (this=0x99748260, flags=) at kernel/qeventloop.cpp:149
#12 0xb4c29a8a in QEventLoop::exec (this=0x99748260, flags=...) at kernel/qeventloop.cpp:201
#13 0xb4b25b7e in QThread::exec (this=0xb030100) at thread/qthread.cpp:490
#14 0xb4c0835b in QInotifyFileSystemWatcherEngine::run (this=0xb030100) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb4b28df9 in QThreadPrivate::start (arg=0xb030100) at thread/qthread_unix.cpp:266
#16 0xb4ab2cc9 in start_thread (arg=0x99748b70) at pthread_create.c:304
#17 0xb461669e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb244f740 (LWP 3625)):
[KCrash Handler]
#7  0xb3f1893a in ?? () from /usr/lib/liblensfun.so.0
#8  0xb3f80f2f in ?? () from /lib/libglib-2.0.so.0
#9  0xb3f82908 in g_markup_parse_context_parse () from /lib/libglib-2.0.so.0
#10 0xb3f180ae in lfDatabase::Load(char const*, char const*, unsigned int) () from /usr/lib/liblensfun.so.0
#11 0xb3f18250 in lfDatabase::Load(char const*) () from /usr/lib/liblensfun.so.0
#12 0xb3f184cc in lfDatabase::Load() () from /usr/lib/liblensfun.so.0
#13 0xb698d390 in Digikam::LensFunIface::LensFunIface (this=0xcc4af10) at /build/buildd/digikam-1.7.0/libs/dimg/filters/lens/lensfuniface.cpp:61
#14 0xb698416a in Digikam::LensFunCameraSelector::LensFunCameraSelector (this=0xcc4a930, parent=0x0) at /build/buildd/digikam-1.7.0/libs/dimg/filters/lens/lensfuncameraselector.cpp:115
#15 0x083229a5 in Digikam::LensAutoFix::LensAutoFix (this=0xcc53e48, parent=0x8d59188) at /build/buildd/digikam-1.7.0/utilities/queuemanager/basetools/enhance/lensautofix.cpp:76
#16 0x083169a6 in Digikam::BatchToolsManager::BatchToolsManager (this=0x8d59188, parent=0xbe3c7b8) at /build/buildd/digikam-1.7.0/utilities/queuemanager/batchtoolsmanager.cpp:106
#17 0x08301690 in Digikam::QueueMgrWindow::QueueMgrWindow (this=0xbe3c7b8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /build/buildd/digikam-1.7.0/utilities/queuemanager/queuemgrwindow.cpp:137
#18 0x08301b06 in Digikam::QueueMgrWindow::queueManagerWindow () at /build/buildd/digikam-1.7.0/utilities/queuemanager/queuemgrwindow.cpp:106
#19 0x08201e91 in Digikam::DigikamApp::preloadWindows (this=0x8dd32e8) at /build/buildd/digikam-1.7.0/digikam/digikamapp.cpp:2675
#20 0x082110fa in Digikam::DigikamApp::DigikamApp (this=0x8dd32e8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /build/buildd/digikam-1.7.0/digikam/digikamapp.cpp:266
#21 0x082b9dd5 in main (argc=1, argv=0xbfd8c974) at /build/buildd/digikam-1.7.0/digikam/main.cpp:177

Reported using DrKonqi
Comment 1 Andrew Coles 2010-12-27 22:27:51 UTC
Created attachment 55302 [details]
A lensfun lens definition

The lens data file I used to cause the crash.  It was copied to

~/.local/share/lensfun/my-lens.xml
Comment 2 caulier.gilles 2010-12-27 23:06:44 UTC
yes it's a lensfun library crash. Please report this problem to LensFun project :

http://lensfun.berlios.de/

digiKam project do not manage this code...

Gilles Caulier
Comment 3 Andrew Coles 2010-12-28 14:23:23 UTC
Thanks Gilles :).

Link to bug on the LensFun site, in case anyone else finds this bug and looks here first:

https://developer.berlios.de/bugs/?func=detailbug&bug_id=17822&group_id=9034
Comment 4 Andrew Coles 2011-01-08 15:22:45 UTC
Bug now fixed in LensFun SVN.
Comment 5 caulier.gilles 2011-01-08 18:38:10 UTC
SVN commit 1212933 by cgilles:

sync with lensfun trunk repository rev. #130
CCBUGS: 261415


 M  +17 -15    database.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1212933