Bug 393773 - showfoto crashes when geotagging
Summary: showfoto crashes when geotagging
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Showfoto-Plugins (show other bugs)
Version: 5.9.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-05-02 16:26 UTC by Richard Lucking
Modified: 2022-02-05 04:28 UTC (History)
3 users (show)

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


Attachments
New crash information added by DrKonqi (14.65 KB, text/plain)
2018-05-03 09:50 UTC, Richard Lucking
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Lucking 2018-05-02 16:26:34 UTC
Application: showfoto (5.9.0)

Qt Version: 5.10.0
Frameworks Version: 5.45.0
Operating System: Linux 4.4.126-48-default x86_64
Distribution: "openSUSE Leap 42.3"

-- Information about the crash:
attempting to "geotag" a jpeg. Every time, either clicking on the little "globe" icon, or pressing ctrl-shift-g and it crashes

The crash can be reproduced every time.

-- Backtrace:
Application: Showfoto (showfoto), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0759de7a00 (LWP 12715))]

Thread 13 (Thread 0x7f06f9016700 (LWP 12736)):
#0  0x00007f074ad198b4 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f074acd7950 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f074acd8230 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f074acd842c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f0756585fbb in QEventDispatcherGlib::processEvents (this=0x7f06d40008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f0756531a4b in QEventLoop::exec (this=this@entry=0x7f06f9015bc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f075636f14a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522
#7  0x00007f0756373e0f in QThreadPrivate::start (arg=0x1b952b0) at thread/qthread_unix.cpp:376
#8  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 12 (Thread 0x7f06f981f700 (LWP 12735)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374e8b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x19cd290) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=<optimized out>, readWriteLock=0x194aa38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:239
#3  0x00007f075181744b in QtAV::BlockingQueue<QRunnable*, QQueue>::take() () from /usr/lib64/libQtAV.so.1
#4  0x00007f07518870cb in QtAV::ExtractThread::run() () from /usr/lib64/libQtAV.so.1
#5  0x00007f0756373e0f in QThreadPrivate::start (arg=0x194aa00) at thread/qthread_unix.cpp:376
#6  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7f06fa0b5700 (LWP 12729)):
#0  0x00007f07555194a8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374bc8 in QWaitConditionPrivate::wait_relative (time=30000, this=0x193b5f0) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=30000, this=0x193b5f0) at thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0x1929610, mutex=mutex@entry=0x136d010, time=30000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007f07563713ae in QThreadPoolThread::run (this=0x1929600) at thread/qthreadpool.cpp:146
#5  0x00007f0756373e0f in QThreadPrivate::start (arg=0x1929600) at thread/qthread_unix.cpp:376
#6  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7f06fa8b6700 (LWP 12728)):
#0  0x00007f07555194a8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374bc8 in QWaitConditionPrivate::wait_relative (time=30000, this=0x1939bd0) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=30000, this=0x1939bd0) at thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0x1929050, mutex=mutex@entry=0x136d010, time=30000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007f07563713ae in QThreadPoolThread::run (this=0x1929040) at thread/qthreadpool.cpp:146
#5  0x00007f0756373e0f in QThreadPrivate::start (arg=0x1929040) at thread/qthread_unix.cpp:376
#6  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7f06fb7fe700 (LWP 12725)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374e8b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x11a9240) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=<optimized out>, readWriteLock=0x11aad38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:239
#3  0x00007f075181744b in QtAV::BlockingQueue<QRunnable*, QQueue>::take() () from /usr/lib64/libQtAV.so.1
#4  0x00007f07518870cb in QtAV::ExtractThread::run() () from /usr/lib64/libQtAV.so.1
#5  0x00007f0756373e0f in QThreadPrivate::start (arg=0x11aad00) at thread/qthread_unix.cpp:376
#6  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f06fbfff700 (LWP 12724)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374e8b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x12e31a0) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=<optimized out>, readWriteLock=0x1394998, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:239
#3  0x00007f075181744b in QtAV::BlockingQueue<QRunnable*, QQueue>::take() () from /usr/lib64/libQtAV.so.1
#4  0x00007f07518870cb in QtAV::ExtractThread::run() () from /usr/lib64/libQtAV.so.1
#5  0x00007f0756373e0f in QThreadPrivate::start (arg=0x1394960) at thread/qthread_unix.cpp:376
#6  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f0704829700 (LWP 12723)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0756374c7b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x122aa50) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=this@entry=0x1080280, mutex=mutex@entry=0x1080278, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f0759041a29 in Digikam::ParkingThread::run (this=0x1080260) at /usr/src/debug/digikam-5.9.0/core/libs/threads/threadmanager.cpp:115
#4  0x00007f0756373e0f in QThreadPrivate::start (arg=0x1080260) at thread/qthread_unix.cpp:376
#5  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f070d663700 (LWP 12721)):
#0  0x00007f0755a5a30d in poll () from /lib64/libc.so.6
#1  0x00007f074acd8314 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f074acd842c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f0756585fbb in QEventDispatcherGlib::processEvents (this=0x7f07000008e0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f0756531a4b in QEventLoop::exec (this=this@entry=0x7f070d662b90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f075636f14a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522
#6  0x00007f0757ba87b5 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f0756373e0f in QThreadPrivate::start (arg=0x7f0757e12d40) at thread/qthread_unix.cpp:376
#8  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f0729e09700 (LWP 12719)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0755fee8fc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib64/libstdc++.so.6
#2  0x00007f0749f9a877 in ?? () from /usr/lib64/libQt5WebKit.so.5
#3  0x00007f0749f9a9b9 in ?? () from /usr/lib64/libQt5WebKit.so.5
#4  0x00007f0755ff468f in ?? () from /usr/lib64/libstdc++.so.6
#5  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f072a60a700 (LWP 12718)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f073c7337ab in ?? () from /usr/lib64/libopenblas_pthreads.so.0
#2  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f072ae0b700 (LWP 12717)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f073c7337ab in ?? () from /usr/lib64/libopenblas_pthreads.so.0
#2  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f072b60c700 (LWP 12716)):
#0  0x00007f07555190ff in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f073c7337ab in ?? () from /usr/lib64/libopenblas_pthreads.so.0
#2  0x00007f0755514724 in start_thread () from /lib64/libpthread.so.0
#3  0x00007f0755a62e8d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f0759de7a00 (LWP 12715)):
[KCrash Handler]
#6  0x00007f075403abb5 in Marble::GeoSceneLayer::backend() const () from /usr/lib64/libmarblewidget-qt5.so.27
#7  0x00007f0754039396 in Marble::GeoSceneMap::hasTextureLayers() const () from /usr/lib64/libmarblewidget-qt5.so.27
#8  0x00007f07540c53db in Marble::MarbleModel::addDownloadPolicies(Marble::GeoSceneDocument const*) () from /usr/lib64/libmarblewidget-qt5.so.27
#9  0x00007f07540c7d78 in Marble::MarbleModel::setMapTheme(Marble::GeoSceneDocument*) () from /usr/lib64/libmarblewidget-qt5.so.27
#10 0x00007f07540c9a0b in Marble::MarbleModel::setMapThemeId(QString const&) () from /usr/lib64/libmarblewidget-qt5.so.27
#11 0x00007f07594318ef in Digikam::BackendMarble::setMapTheme (this=this@entry=0x19f3a60, newMapTheme=...) at /usr/src/debug/digikam-5.9.0/core/utilities/geolocation/geoiface/backends/backendmarble.cpp:445
#12 0x00007f0759432127 in Digikam::BackendMarble::applyCacheToWidget (this=this@entry=0x19f3a60) at /usr/src/debug/digikam-5.9.0/core/utilities/geolocation/geoiface/backends/backendmarble.cpp:1864
#13 0x00007f0759433bfa in Digikam::BackendMarble::mapWidget (this=0x19f3a60) at /usr/src/debug/digikam-5.9.0/core/utilities/geolocation/geoiface/backends/backendmarble.cpp:234
#14 0x00007f075946bfa3 in Digikam::MapWidget::setActive (this=0x19eaaa0, state=<optimized out>) at /usr/src/debug/digikam-5.9.0/core/utilities/geolocation/geoiface/widgets/mapwidget.cpp:2090
#15 0x00007f07594c50c0 in Digikam::GeolocationEdit::GeolocationEdit (this=0x1944400, externTagModel=0x0, iface=<optimized out>, parent=<optimized out>) at /usr/src/debug/digikam-5.9.0/core/utilities/geolocation/editor/dialog/geolocationedit.cpp:500
#16 0x000000000045f41f in ShowFoto::ShowFoto::slotEditGeolocation (this=0xfdc340) at /usr/src/debug/digikam-5.9.0/core/showfoto/main/showfoto.cpp:1384
#17 0x0000000000464289 in ShowFoto::ShowFoto::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/digikam-5.9.0/build/core/showfoto/moc_showfoto.cpp:275
#18 0x00007f075655d5ef in QMetaObject::activate (sender=sender@entry=0x15d75e0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe1b5c92c0) at kernel/qobject.cpp:3766
#19 0x00007f075655e1e7 in QMetaObject::activate (sender=sender@entry=0x15d75e0, m=m@entry=0x7f0757903f60 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe1b5c92c0) at kernel/qobject.cpp:3628
#20 0x00007f075724c2d2 in QAction::triggered (this=this@entry=0x15d75e0, _t1=false) at .moc/moc_qaction.cpp:376
#21 0x00007f075724ea9d in QAction::activate (this=0x15d75e0, event=<optimized out>) at kernel/qaction.cpp:1167
#22 0x00007f075724ec64 in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1093
#23 0x00007f07572527fc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x15d75e0, e=0x7ffe1b5c9580) at kernel/qapplication.cpp:3733
#24 0x00007f07572595e0 in QApplication::notify (this=0x7ffe1b5c9ad0, receiver=0x15d75e0, e=0x7ffe1b5c9580) at kernel/qapplication.cpp:3492
#25 0x00007f0756533325 in QCoreApplication::notifyInternal2 (receiver=0x15d75e0, event=event@entry=0x7ffe1b5c9580) at kernel/qcoreapplication.cpp:1044
#26 0x00007f0756ad43ff in QCoreApplication::sendEvent (event=0x7ffe1b5c9580, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:234
#27 QShortcutMap::dispatchEvent (this=this@entry=0xeeb880, e=e@entry=0x7ffe1b5c9650) at kernel/qshortcutmap.cpp:674
#28 0x00007f0756ad44c4 in QShortcutMap::tryShortcut (this=this@entry=0xeeb880, e=e@entry=0x7ffe1b5c9650) at kernel/qshortcutmap.cpp:351
#29 0x00007f0756a8c0a8 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, window@entry=0xf66c00, timestamp=442127278, keyCode=71, modifiers=..., nativeScanCode=42, nativeVirtualKey=71, nativeModifiers=21, text=..., autorepeat=false, count=1) at kernel/qwindowsysteminterface.cpp:405
#30 0x00007f0756aa5c77 in QGuiApplicationPrivate::processKeyEvent (e=0x19cfd30) at kernel/qguiapplication.cpp:2064
#31 0x00007f0756aaa6a5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x19cfd30) at kernel/qguiapplication.cpp:1747
#32 0x00007f0756a8871b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:976
#33 0x00007f0728e3747b in QPAEventDispatcherGlib::processEvents (this=0xf42e00, flags=...) at qeventdispatcher_glib.cpp:70
#34 0x00007f0756531a4b in QEventLoop::exec (this=this@entry=0x7ffe1b5c9880, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#35 0x00007f075653a104 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1332
#36 0x00007f0756aa0e5c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1687
#37 0x00007f0757252755 in QApplication::exec () at kernel/qapplication.cpp:2918
#38 0x000000000043353a in main (argc=1, argv=<optimized out>) at /usr/src/debug/digikam-5.9.0/core/showfoto/main/main.cpp:123

Reported using DrKonqi
Comment 1 Richard Lucking 2018-05-03 09:50:39 UTC
Created attachment 112385 [details]
New crash information added by DrKonqi

showfoto (5.9.0) using Qt 5.10.0

This is the same crash, after updating showfoto to version 5.9.0 (from showfoto-5.9.0-188.13.x86_64), and also installing digikam-debuginfo in case that helps

-- Backtrace (Reduced):
#6  0x00007f66f7256bb5 in Marble::GeoSceneLayer::backend() const () from /usr/lib64/libmarblewidget-qt5.so.27
#7  0x00007f66f7255396 in Marble::GeoSceneMap::hasTextureLayers() const () from /usr/lib64/libmarblewidget-qt5.so.27
#8  0x00007f66f72e13db in Marble::MarbleModel::addDownloadPolicies(Marble::GeoSceneDocument const*) () from /usr/lib64/libmarblewidget-qt5.so.27
#9  0x00007f66f72e3d78 in Marble::MarbleModel::setMapTheme(Marble::GeoSceneDocument*) () from /usr/lib64/libmarblewidget-qt5.so.27
#10 0x00007f66f72e5a0b in Marble::MarbleModel::setMapThemeId(QString const&) () from /usr/lib64/libmarblewidget-qt5.so.27
Comment 2 Maik Qualmann 2018-05-03 10:40:19 UTC
It crashes in Marble, not in digiKam. Can you start the Marble program without any problems? I have a laptop on work with openSUSE-42.3 and I'll see if I can reproduce it.

Maik
Comment 3 Richard Lucking 2018-05-03 11:03:51 UTC
I can open marble and use that with no problem - from the "about":

Marble Virtual Globe
Version 2.2.20 (2.3 development version)
Comment 4 Richard Lucking 2018-05-03 11:27:39 UTC
and installed packages:

# rpm -qa|grep marble|sort
libmarblewidget-qt5-27-17.04.2-3.1.x86_64
libmarblewidget-qt5-28-18.04.0-1.7.x86_64
libmarblewidget-qt5-28-debuginfo-18.04.0-1.7.x86_64
libmarblewidget22-15.08.3-6.1.x86_64
marble-18.04.0-1.7.x86_64
marble-data-18.04.0-1.7.noarch
marble-debuginfo-18.04.0-1.7.x86_64
marble-doc-18.04.0-1.7.noarch
marble-kde-18.04.0-1.7.x86_64
marble-kde-debuginfo-18.04.0-1.7.x86_64
marble-lang-18.04.0-1.7.noarch
Comment 5 Maik Qualmann 2018-05-03 11:34:53 UTC
Showfoto runs here under openSUSE-42.3 without problems. You are using a developer version of Marble. The official of openSUSE-42.3 is Marble-2.2.1. I think you mixed different repositories.

Maik
Comment 6 Maik Qualmann 2018-05-03 11:39:02 UTC
You have 2 Marble versions installed. But Marble data only from the newer, so the older version probably will not work.

Maik
Comment 7 Richard Lucking 2018-05-03 11:45:30 UTC
Thanks - i'd just noticed that, Digikam and showfoto depend on the older "widget" (27). I might try uninstalling all the "marble" related packages and let it reinstall the ones required.
Comment 8 Richard Lucking 2018-05-03 12:23:58 UTC
Progress! I did the following:

Deleting digikam-lang
Deleting libkgeomap-lang
Deleting libmarblewidget-qt5-28-debuginfo
Deleting libmarblewidget22
Deleting marble-debuginfo
Deleting marble-doc
Deleting marble-kde-debuginfo
Deleting marble-lang
Deleting libkgeomap
Deleting showfoto
Deleting digikam
Deleting marble
Deleting libKF5KGeoMap10_0_0
Deleting libdigikamcore5
Deleting marble-data
Deleting libmarblewidget-qt5-27
Deleting marble-kde
Deleting libastro1
Deleting libmarblewidget-qt5-28

then went to reinstall just showfoto. Still needed two versions of libmarblewidget as:
libastro1 depends on v28
libdigikamcore5 depends on v27

Installing libastro1-18.04.0-1.7.x86_64.rpm (installed size 262.5 KiB)
Installing libmarblewidget-qt5-28-18.04.0-1.7.x86_64.rpm (installed size 6.05 MiB)
Installing libmarblewidget-qt5-27-17.04.2-3.1.x86_64.rpm (installed size 6.08 MiB)
Installing libdigikamcore5-5.9.0-188.13.x86_64.rpm (installed size 25.63 MiB)
Installing showfoto-5.9.0-188.13.x86_64.rpm (installed size 1.15 MiB)

now I can open a photo, and click the globe - it doesn't crash, but displays with a completely black "map", with all controls disabled. I'll see if I can work out why!
Comment 9 Maik Qualmann 2018-05-03 14:15:56 UTC
> libastro1 depends on v28
> libdigikamcore5 depends on v27

That will not work, you mix different versions. You probably added an extra repository. Besides, Marble data will probably be missing.

Maik
Comment 10 Maik Qualmann 2018-05-08 11:08:59 UTC
Richard,

could you solve the package problem? Can we close the bug?

Maik
Comment 11 Maik Qualmann 2018-05-10 06:27:26 UTC
The cause was a package problem. I close the bug now, if necessary reopen.

Maik