Bug 298118 - Crash when open Geo-location dialog
Summary: Crash when open Geo-location dialog
Status: CLOSED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Generic-GeolocationEdit (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-14 13:33 UTC by Kristian Karl
Modified: 2016-07-18 04:39 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kristian Karl 2012-04-14 13:33:13 UTC
Application: digikam (2.6.0-rc)
KDE Platform Version: 4.8.1 (4.8.1)
Qt Version: 4.8.0
Operating System: Linux 3.3.1-5.fc16.x86_64 x86_64
Distribution: "Fedora release 16 (Verne)"

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

1) Selected 3 images
2) Selected from the menu Image -> Geo-location
3) Digikam crashed

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f7dba8d6a40 (LWP 526))]

Thread 7 (Thread 0x7f7daff58700 (LWP 527)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x000000316c67c07b in wait (time=18446744073709551615, this=0x280d850) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x280d748, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005d4220 in Digikam::ScanController::run (this=0x2841010) at /home/krikar/dev/digikam/core/digikam/database/scancontroller.cpp:647
#4  0x000000316c67bb6b in QThreadPrivate::start (arg=0x2841010) at thread/qthread_unix.cpp:298
#5  0x0000003fa2a07d90 in start_thread (arg=0x7f7daff58700) at pthread_create.c:309
#6  0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f7daf757700 (LWP 528)):
#0  0x0000003fa2a09de5 in __pthread_mutex_lock (mutex=0x7f7da00009a8) at pthread_mutex_lock.c:65
#1  0x0000003fa4244f9f in g_main_context_poll (n_fds=1, fds=0x7f7da0002250, priority=<optimized out>, timeout=-1, context=0x7f7da00009a0) at gmain.c:3397
#2  g_main_context_iterate (context=0x7f7da00009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x0000003fa424549c in g_main_context_iteration (context=0x7f7da00009a0, may_block=1) at gmain.c:3152
#4  0x000000316c7a7dc6 in QEventDispatcherGlib::processEvents (this=0x7f7da00008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x000000316c778182 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x000000316c7783d7 in QEventLoop::exec (this=0x7f7daf756b10, flags=...) at kernel/qeventloop.cpp:204
#7  0x000000316c678b27 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000316c757e7f in QInotifyFileSystemWatcherEngine::run (this=0x2866f10) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x000000316c67bb6b in QThreadPrivate::start (arg=0x2866f10) at thread/qthread_unix.cpp:298
#10 0x0000003fa2a07d90 in start_thread (arg=0x7f7daf757700) at pthread_create.c:309
#11 0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f7daef56700 (LWP 688)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x000000316c67c07b in wait (time=18446744073709551615, this=0x2823da0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2801658, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f7dbb88be09 in Digikam::ParkingThread::run (this=0x2801640) at /home/krikar/dev/digikam/core/libs/threads/threadmanager.cpp:119
#4  0x000000316c67bb6b in QThreadPrivate::start (arg=0x2801640) at thread/qthread_unix.cpp:298
#5  0x0000003fa2a07d90 in start_thread (arg=0x7f7daef56700) at pthread_create.c:309
#6  0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f7d99cdb700 (LWP 715)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x000000316c67bfdf in wait (time=30000, this=0x29721b0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x29733f8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x000000316c66f5af in QThreadPoolThread::run (this=0x5d452e0) at concurrent/qthreadpool.cpp:141
#4  0x000000316c67bb6b in QThreadPrivate::start (arg=0x5d452e0) at thread/qthread_unix.cpp:298
#5  0x0000003fa2a07d90 in start_thread (arg=0x7f7d99cdb700) at pthread_create.c:309
#6  0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f7d8c688700 (LWP 716)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x000000316c67bfdf in wait (time=30000, this=0x29721b0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x29733f8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x000000316c66f5af in QThreadPoolThread::run (this=0x5d3fe20) at concurrent/qthreadpool.cpp:141
#4  0x000000316c67bb6b in QThreadPrivate::start (arg=0x5d3fe20) at thread/qthread_unix.cpp:298
#5  0x0000003fa2a07d90 in start_thread (arg=0x7f7d8c688700) at pthread_create.c:309
#6  0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f7d8be87700 (LWP 717)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x000000316c67bfdf in wait (time=30000, this=0x29721b0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x29733f8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x000000316c66f5af in QThreadPoolThread::run (this=0x28f3db0) at concurrent/qthreadpool.cpp:141
#4  0x000000316c67bb6b in QThreadPrivate::start (arg=0x28f3db0) at thread/qthread_unix.cpp:298
#5  0x0000003fa2a07d90 in start_thread (arg=0x7f7d8be87700) at pthread_create.c:309
#6  0x0000003fa26f0f5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f7dba8d6a40 (LWP 526)):
[KCrash Handler]
#6  data (this=0x8) at ../../src/corelib/tools/qscopedpointer.h:135
#7  qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at ../../src/corelib/global/qglobal.h:2428
#8  d_func (this=0x0) at ../../src/gui/widgets/qpushbutton.h:117
#9  QPushButton::setMenu (this=0x0, menu=0x64880e0) at widgets/qpushbutton.cpp:531
#10 0x00007f7d9395c938 in KIPIPlugins::KPDialogPrivate::setAboutData (this=0x5d42860, data=<optimized out>) at /home/krikar/dev/digikam/extra/kipi-plugins/common/libkipiplugins/dialogs/kpdialogprivate.cpp:67
#11 0x00007f7d8f9525e8 in KIPIGPSSyncPlugin::GPSSyncDialog::GPSSyncDialog (this=0x28e8100, interface=<optimized out>, parent=<optimized out>) at /home/krikar/dev/digikam/extra/kipi-plugins/gpssync/gpssyncdialog.cpp:420
#12 0x00007f7d8f958539 in KIPIGPSSyncPlugin::Plugin_GPSSync::slotGPSSync (this=0x3df7dc0) at /home/krikar/dev/digikam/extra/kipi-plugins/gpssync/plugin_gpssync.cpp:102
#13 0x000000316c78cce1 in QMetaObject::activate (sender=0x4a25890, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffbd4b4f80) at kernel/qobject.cpp:3547
#14 0x000000316e5c37b2 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#15 0x000000316e5c399f in QAction::activate (this=0x4a25890, event=<optimized out>) at kernel/qaction.cpp:1257
#16 0x000000316ea0c859 in QMenuPrivate::activateCausedStack (this=0x2951db0, causedStack=..., action=0x4a25890, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1028
#17 0x000000316ea12952 in QMenuPrivate::activateAction (this=0x2951db0, action=0x4a25890, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1120
#18 0x0000003c68912b50 in KMenu::mouseReleaseEvent (this=0x418ac60, e=0x7fffbd4b5b50) at /usr/src/debug/kdelibs-4.8.1/kdeui/widgets/kmenu.cpp:464
#19 0x000000316e61a02a in QWidget::event (this=0x418ac60, event=0x7fffbd4b5b50) at kernel/qwidget.cpp:8361
#20 0x000000316ea13eeb in QMenu::event (this=0x418ac60, e=0x7fffbd4b5b50) at widgets/qmenu.cpp:2460
#21 0x000000316e5c9994 in notify_helper (e=0x7fffbd4b5b50, receiver=0x418ac60, this=0x26b6920) at kernel/qapplication.cpp:4550
#22 QApplicationPrivate::notify_helper (this=0x26b6920, receiver=0x418ac60, e=0x7fffbd4b5b50) at kernel/qapplication.cpp:4522
#23 0x000000316e5cf0e3 in QApplication::notify (this=<optimized out>, receiver=0x418ac60, e=0x7fffbd4b5b50) at kernel/qapplication.cpp:4093
#24 0x0000003c68851d56 in KApplication::notify (this=0x7fffbd4b6960, receiver=0x418ac60, event=0x7fffbd4b5b50) at /usr/src/debug/kdelibs-4.8.1/kdeui/kernel/kapplication.cpp:311
#25 0x000000316c77904c in QCoreApplication::notifyInternal (this=0x7fffbd4b6960, receiver=0x418ac60, event=0x7fffbd4b5b50) at kernel/qcoreapplication.cpp:876
#26 0x000000316e5ca962 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#27 QApplicationPrivate::sendMouseEvent (receiver=0x418ac60, event=0x7fffbd4b5b50, alienWidget=0x0, nativeWidget=0x418ac60, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3161
#28 0x000000316e6469b1 in QETWidget::translateMouseEvent (this=0x418ac60, event=<optimized out>) at kernel/qapplication_x11.cpp:4454
#29 0x000000316e6451aa in QApplication::x11ProcessEvent (this=0x7fffbd4b6960, event=0x7fffbd4b6410) at kernel/qapplication_x11.cpp:3641
#30 0x000000316e66c97c in x11EventSourceDispatch (s=0x26bac90, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#31 0x0000003fa4244acd in g_main_dispatch (context=0x26b9f00) at gmain.c:2441
#32 g_main_context_dispatch (context=0x26b9f00) at gmain.c:3011
#33 0x0000003fa42452c8 in g_main_context_iterate (context=0x26b9f00, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#34 0x0000003fa424549c in g_main_context_iteration (context=0x26b9f00, may_block=1) at gmain.c:3152
#35 0x000000316c7a7d5f in QEventDispatcherGlib::processEvents (this=0x264ed20, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#36 0x000000316e66c66e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:207
#37 0x000000316c778182 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#38 0x000000316c7783d7 in QEventLoop::exec (this=0x7fffbd4b67e0, flags=...) at kernel/qeventloop.cpp:204
#39 0x000000316c77cdd5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#40 0x000000000048f3cb in main (argc=5, argv=<optimized out>) at /home/krikar/dev/digikam/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Kristian Karl 2012-04-14 13:37:17 UTC
Digikam was built from latest in master
Comment 2 Smit Mehta 2012-04-14 13:38:47 UTC
I confirm. I can reproduce it.
Comment 3 caulier.gilles 2012-04-14 16:23:07 UTC
Git commit 4f3903d31ca5040ecc7d3ac066c5dfc553f5f9d2 by Gilles Caulier.
Committed on 14/04/2012 at 18:21.
Pushed by cgilles into branch 'master'.

better check if Help button exist in main dialog

M  +4    -1    common/libkipiplugins/dialogs/kpdialogprivate.cpp

http://commits.kde.org/kipi-plugins/4f3903d31ca5040ecc7d3ac066c5dfc553f5f9d2
Comment 4 caulier.gilles 2012-04-14 16:49:15 UTC
Git commit 12354216280c17fa458dc91929bd0b74b7302616 by Gilles Caulier.
Committed on 14/04/2012 at 18:48.
Pushed by cgilles into branch 'master'.

use right Help button to assign kipi menu on GPSSync dialog

M  +2    -2    common/libkipiplugins/dialogs/kpdialogprivate.cpp
M  +3    -1    common/libkipiplugins/dialogs/kpdialogprivate.h
M  +6    -6    common/libkipiplugins/dialogs/kptooldialog.cpp
M  +3    -3    common/libkipiplugins/dialogs/kptooldialog.h
M  +29   -30   gpssync/gpssyncdialog.cpp
M  +8    -7    gpssync/gpssyncdialog.h

http://commits.kde.org/kipi-plugins/12354216280c17fa458dc91929bd0b74b7302616
Comment 5 Kristian Karl 2012-04-15 09:04:33 UTC
Yes, works just fine now.