Bug 269084

Summary: Crash when editing Geo-Location
Product: [Applications] digikam Reporter: ingo <ingosonder>
Component: Geolocation-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, johannes.schwall, mike
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.8.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description ingo 2011-03-21 21:31:59 UTC
Application: digikam (2.0.0-beta4)
KDE Platform Version: 4.6.1 (4.6.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic x86_64
Distribution: Ubuntu 10.10

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

Digikam crashes when I edit Geo-Locations for the 2nd time.  I reproduced it 3 times. It happens when editing Geo-Locations of single as well as multiple images.

The crash can be reproduced every time.

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

Thread 7 (Thread 0x7fdb922b1700 (LWP 2891)):
#0  0x00007fdba8186203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fdba3848009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fdba38487b5 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x00007fdb9e23e3c4 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x00007fdba386d7e4 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fdb87e39700 (LWP 2892)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fdba91b7e3b in wait (this=<value optimized out>, mutex=0x2468278, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2468278, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x000000000060036b in Digikam::ScanController::run (this=0x2439b60) at /build/buildd/digikam2-2.0.0~beta4+git110307/digikam/database/scancontroller.cpp:602
#4  0x00007fdba91b727e in QThreadPrivate::start (arg=0x2439b60) at thread/qthread_unix.cpp:266
#5  0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fdb87638700 (LWP 2893)):
#0  __pthread_mutex_unlock_usercnt (mutex=0x243a9b8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x243a9b8) at pthread_mutex_unlock.c:290
#2  0x00007fdba3847a05 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#3  0x00007fdba3847e78 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007fdba384845c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007fdba92d71e6 in QEventDispatcherGlib::processEvents (this=0x23be590, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#6  0x00007fdba92a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007fdba92a9dec in QEventLoop::exec (this=0x7fdb87637b70, flags=) at kernel/qeventloop.cpp:201
#8  0x00007fdba91b42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#9  0x00007fdba92895f8 in QInotifyFileSystemWatcherEngine::run (this=0x2445ba0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fdba91b727e in QThreadPrivate::start (arg=0x2445ba0) at thread/qthread_unix.cpp:266
#11 0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#12 0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fdb86e37700 (LWP 2895)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fdba91b7e3b in wait (this=<value optimized out>, mutex=0x24be778, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x24be778, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fdbadba8b42 in Digikam::ParkingThread::run (this=0x24be760) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/threads/threadmanager.cpp:119
#4  0x00007fdba91b727e in QThreadPrivate::start (arg=0x24be760) at thread/qthread_unix.cpp:266
#5  0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fdb73e56700 (LWP 2902)):
#0  0x00007fdba8186203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fdba3848009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fdba384845c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fdba92d71e6 in QEventDispatcherGlib::processEvents (this=0x3a30700, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007fdba92a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fdba92a9dec in QEventLoop::exec (this=0x7fdb73e55b70, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fdba91b42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007fdba92895f8 in QInotifyFileSystemWatcherEngine::run (this=0x2ef5dd0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fdba91b727e in QThreadPrivate::start (arg=0x2ef5dd0) at thread/qthread_unix.cpp:266
#9  0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fdb58f33700 (LWP 3025)):
#0  0x00007fdba8186203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fdba3848009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fdba384845c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fdba92d71e6 in QEventDispatcherGlib::processEvents (this=0x7fdb19448bb0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007fdba92a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fdba92a9dec in QEventLoop::exec (this=0x7fdb58f32b70, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fdba91b42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007fdba92895f8 in QInotifyFileSystemWatcherEngine::run (this=0x6f8f4e0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fdba91b727e in QThreadPrivate::start (arg=0x6f8f4e0) at thread/qthread_unix.cpp:266
#9  0x00007fdba4eab971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007fdba819292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fdbb11189a0 (LWP 2890)):
[KCrash Handler]
#6  0x0000000002edcf50 in ?? ()
#7  0x00007fdba92c0d13 in QObject::connect (sender=0x70c2960, signal=0x7fdbaf5d0af8 "2signalJavaScriptReady()", receiver=0x15c06f40, method=0x7fdbaf5d0ae1 "1slotHTMLInitialized()", type=Qt::AutoConnection) at kernel/qobject.cpp:2491
#8  0x00007fdbaf5c7406 in ?? () from /usr/lib/libkmap.so.1
#9  0x00007fdbaf5adaae in KMap::KMapWidget::setBackend(QString const&) () from /usr/lib/libkmap.so.1
#10 0x00007fdbaf5adc06 in KMap::KMapWidget::slotChangeBackend(QAction*) () from /usr/lib/libkmap.so.1
#11 0x00007fdbaf5b11a5 in KMap::KMapWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkmap.so.1
#12 0x00007fdba92c2b27 in QMetaObject::activate (sender=0x2730ff0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fdba936c707) at kernel/qobject.cpp:3280
#13 0x00007fdba9ee674f in QActionGroup::triggered (this=0x70c2960, _t1=0x811d230) at .moc/release-shared/moc_qactiongroup.cpp:146
#14 0x00007fdba9ee6b37 in QActionGroupPrivate::_q_actionTriggered (this=<value optimized out>) at kernel/qactiongroup.cpp:93
#15 0x00007fdba9ee6e71 in QActionGroup::qt_metacall (this=0x2730ff0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff9c9b5180) at .moc/release-shared/moc_qactiongroup.cpp:101
#16 0x00007fdba92c2b27 in QMetaObject::activate (sender=0x811d230, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fdba936c707) at kernel/qobject.cpp:3280
#17 0x00007fdba9ee1852 in QAction::triggered (this=0x70c2960, _t1=true) at .moc/release-shared/moc_qaction.cpp:263
#18 0x00007fdba9ee2f5b in QAction::activate (this=0x811d230, event=<value optimized out>) at kernel/qaction.cpp:1256
#19 0x00007fdbaa349dc1 in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x811d230, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#20 0x00007fdbaa34f782 in QMenuPrivate::activateAction (this=0x817ef30, action=0x811d230, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1085
#21 0x00007fdba9f3f04e in QWidget::event (this=0x56208c0, event=0x7fff9c9b5c30) at kernel/qwidget.cpp:8187
#22 0x00007fdbaa35190b in QMenu::event (this=0x56208c0, e=0x7fff9c9b5c30) at widgets/qmenu.cpp:2410
#23 0x00007fdba9ee8fdc in QApplicationPrivate::notify_helper (this=0x23179e0, receiver=0x56208c0, e=0x7fff9c9b5c30) at kernel/qapplication.cpp:4396
#24 0x00007fdba9eef30e in QApplication::notify (this=0x7fff9c9b83a0, receiver=0x56208c0, e=0x7fff9c9b5c30) at kernel/qapplication.cpp:3959
#25 0x00007fdbaac792c6 in KApplication::notify (this=0x7fff9c9b83a0, receiver=0x56208c0, event=0x7fff9c9b5c30) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x00007fdba92aacdc in QCoreApplication::notifyInternal (this=0x7fff9c9b83a0, receiver=0x56208c0, event=0x7fff9c9b5c30) at kernel/qcoreapplication.cpp:732
#27 0x00007fdba9eeddbe in sendEvent (receiver=0x56208c0, event=0x7fff9c9b5c30, alienWidget=0x0, nativeWidget=0x56208c0, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#28 QApplicationPrivate::sendMouseEvent (receiver=0x56208c0, event=0x7fff9c9b5c30, alienWidget=0x0, nativeWidget=0x56208c0, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058
#29 0x00007fdba9f717bd in QETWidget::translateMouseEvent (this=0x56208c0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4337
#30 0x00007fdba9f6fc5c in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff9c9b6550) at kernel/qapplication_x11.cpp:3536
#31 0x00007fdba9f9c0e2 in x11EventSourceDispatch (s=0x231b690, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#32 0x00007fdba3844342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#33 0x00007fdba38482a8 in ?? () from /lib/libglib-2.0.so.0
#34 0x00007fdba384845c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#35 0x00007fdba92d7193 in QEventDispatcherGlib::processEvents (this=0x23179a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#36 0x00007fdba9f9ba4e in QGuiEventDispatcherGlib::processEvents (this=0x70c2960, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#37 0x00007fdba92a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#38 0x00007fdba92a9dec in QEventLoop::exec (this=0x7fff9c9b6880, flags=) at kernel/qeventloop.cpp:201
#39 0x00007fdbaa34cec5 in QMenu::exec (this=0x56208c0, p=<value optimized out>, action=0x0) at widgets/qmenu.cpp:2054
#40 0x00007fdbaa393fe3 in QToolButtonPrivate::popupTimerDone (this=0x7ca02d0) at widgets/qtoolbutton.cpp:955
#41 0x00007fdbaa3948a1 in QToolButton::qt_metacall (this=0x6f81d70, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff9c9b6b90) at .moc/release-shared/moc_qtoolbutton.cpp:114
#42 0x00007fdba92c2b27 in QMetaObject::activate (sender=0x6f81d70, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fdba936c707) at kernel/qobject.cpp:3280
#43 0x00007fdbaa2c0ade in QAbstractButtonPrivate::emitPressed (this=0x7ca02d0) at widgets/qabstractbutton.cpp:560
#44 0x00007fdbaa2c0cbc in QAbstractButton::mousePressEvent (this=0x6f81d70, e=0x7fff9c9b75b0) at widgets/qabstractbutton.cpp:1096
#45 0x00007fdbaa39512a in QToolButton::mousePressEvent (this=0x6f81d70, e=0x7fff9c9b75b0) at widgets/qtoolbutton.cpp:712
#46 0x00007fdba9f3f035 in QWidget::event (this=0x6f81d70, event=0x7fff9c9b75b0) at kernel/qwidget.cpp:8183
#47 0x00007fdba9ee8fdc in QApplicationPrivate::notify_helper (this=0x23179e0, receiver=0x6f81d70, e=0x7fff9c9b75b0) at kernel/qapplication.cpp:4396
#48 0x00007fdba9eef30e in QApplication::notify (this=0x7fff9c9b83a0, receiver=0x6f81d70, e=0x7fff9c9b75b0) at kernel/qapplication.cpp:3959
#49 0x00007fdbaac792c6 in KApplication::notify (this=0x7fff9c9b83a0, receiver=0x6f81d70, event=0x7fff9c9b75b0) at ../../kdeui/kernel/kapplication.cpp:311
#50 0x00007fdba92aacdc in QCoreApplication::notifyInternal (this=0x7fff9c9b83a0, receiver=0x6f81d70, event=0x7fff9c9b75b0) at kernel/qcoreapplication.cpp:732
#51 0x00007fdba9eeddbe in sendEvent (receiver=0x6f81d70, event=0x7fff9c9b75b0, alienWidget=0x6f81d70, nativeWidget=0xf367810, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#52 QApplicationPrivate::sendMouseEvent (receiver=0x6f81d70, event=0x7fff9c9b75b0, alienWidget=0x6f81d70, nativeWidget=0xf367810, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058
#53 0x00007fdba9f71345 in QETWidget::translateMouseEvent (this=0xf367810, event=<value optimized out>) at kernel/qapplication_x11.cpp:4403
#54 0x00007fdba9f6fc5c in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff9c9b7ed0) at kernel/qapplication_x11.cpp:3536
#55 0x00007fdba9f9c0e2 in x11EventSourceDispatch (s=0x231b690, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#56 0x00007fdba3844342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#57 0x00007fdba38482a8 in ?? () from /lib/libglib-2.0.so.0
#58 0x00007fdba384845c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#59 0x00007fdba92d7193 in QEventDispatcherGlib::processEvents (this=0x23179a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#60 0x00007fdba9f9ba4e in QGuiEventDispatcherGlib::processEvents (this=0x70c2960, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#61 0x00007fdba92a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#62 0x00007fdba92a9dec in QEventLoop::exec (this=0x7fff9c9b8200, flags=) at kernel/qeventloop.cpp:201
#63 0x00007fdba92adebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#64 0x00000000006ec18d in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/digikam2-2.0.0~beta4+git110307/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Johannes Schwall 2011-04-17 01:53:59 UTC
Created attachment 59057 [details]
New crash information added by DrKonqi

digikam (2.0.0-beta4) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.0

- What I was doing when the application crashed:

selected a bunch of images and started geolocation; the crash happend (as stated in another report) on the second start of geolocation; in the first I had switched first to OSM view and then to Google Maps and back to OSM; this second time OSM was set on start of the geolocation window and the crash happend when switching to Google Maps

-- Backtrace (Reduced):
#8  0x00007f56d9f36aae in KMap::KMapWidget::setBackend(QString const&) () from /usr/lib/libkmap.so.1
#9  0x00007f56d9f36c06 in KMap::KMapWidget::slotChangeBackend(QAction*) () from /usr/lib/libkmap.so.1
#10 0x00007f56d9f3a1a5 in KMap::KMapWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkmap.so.1
[...]
#12 0x00007f56d486a74f in QActionGroup::triggered (this=0x7f56d2daee40, _t1=0x3b3afc0) at .moc/release-shared/moc_qactiongroup.cpp:146
#13 0x00007f56d486ab37 in QActionGroupPrivate::_q_actionTriggered (this=<value optimized out>) at kernel/qactiongroup.cpp:93
Comment 2 caulier.gilles 2011-07-02 10:02:11 UTC
digiKam 2.0.0 RC is out. Please check if crash is reproducible with this version.

Thanks in advance

Gilles Caulier
Comment 3 Johannes Schwall 2011-07-03 17:08:28 UTC
It seems to work now. (Although I'm not able to set geotags for NEF files (Nikon Raw Data).)
Comment 4 caulier.gilles 2011-07-03 18:35:22 UTC
patch metadata of NEF is relevant of Exiv2 lib and digiKam metadata setup, where where to RAW files option must be turned on (but it's experimental)

It's better to use XMP side car support, which is implemented in 2.0.0

Gilles Caulier
Comment 5 Michael G. Hansen 2011-07-25 20:22:57 UTC
Git commit 58b7e860cd262da1a57cd3b48e7cec8948393d8e by Michael Georg Hansen.
Committed on 25/07/2011 at 22:21.
Pushed by mghansen into branch 'master'.

Unregister widgets from the global cache before deleting them.

Please try whether the crash reported in bug 269084 still appears on your system.

CCBUG: 269084

M  +9    -1    libkgeomap/backend_map_googlemaps.cpp

http://commits.kde.org/libkgeomap/58b7e860cd262da1a57cd3b48e7cec8948393d8e
Comment 6 caulier.gilles 2017-12-16 10:18:59 UTC
This crash is not reproducible use current 5.8.0 pre-release bundle available here :

https://files.kde.org/digikam/

I close this file now. Re-open it if necessary.

Gilles Caulier