Discussion:
Segfault after upgrade to Kubuntu BionicBeaver
Berthold Stoeger
2018-05-25 09:01:37 UTC
Permalink
Dear all,

after upgrading to recent Kubuntu (which also destroyed my TeX installation,
which is essential for work), subsurface crashes somewhere in the GoogleMaps
thing.

I removed the build, cmake and googlemaps directories and rebuilt. No change.

Backtrace:

(gdb) run
Starting program: /home/bs/src/subsurface/build/subsurface
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe72da700 (LWP 18778)]
[New Thread 0x7fffe6898700 (LWP 18779)]
[New Thread 0x7fffde338700 (LWP 18780)]
[New Thread 0x7fffc50c7700 (LWP 18781)]

Thread 1 "subsurface" received signal SIGSEGV, Segmentation fault.
0x00007fffbf4ea33c in QGeoTiledMapScene::updateSceneGraph(QSGNode*,
QQuickWindow*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
(gdb) where
#0 0x00007fffbf4ea33c in QGeoTiledMapScene::updateSceneGraph(QSGNode*,
QQuickWindow*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
#1 0x00007fffbf54a63f in
QDeclarativeGeoMapCopyrightNotice::setMapSource(QDeclarativeGeoMap*) () from /
usr/lib/x86_64-linux-gnu/libQt5Location.so.5
#2 0x00007fffbf530fcc in QDeclarativeGeoMap::mappingManagerInitialized() ()
from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
#3 0x00007fffbf531ae1 in QDeclarativeGeoMap::pluginReady() () from /usr/lib/
x86_64-linux-gnu/libQt5Location.so.5
#4 0x00007fffbf531d88 in
QDeclarativeGeoMap::setPlugin(QDeclarativeGeoServiceProvider*) () from /usr/
lib/x86_64-linux-gnu/libQt5Location.so.5
#5 0x00007fffbf584963 in ?? () from /usr/lib/x86_64-linux-gnu/
libQt5Location.so.5
#6 0x00007fffbf5853da in QDeclarativeGeoMap::qt_metacall(QMetaObject::Call,
int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
#7 0x00007ffff48a878e in QQmlVMEMetaObject::metaCall(QObject*,
QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/
libQt5Qml.so.5
#8 0x00007ffff48bf242 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9 0x00007ffff48bc7be in QQmlPropertyPrivate::write(QObject*,
QQmlPropertyData const&, QVariant const&, QQmlContextData*,
QFlags<QQmlPropertyData::WriteFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007ffff48868d9 in
QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*,
QQmlPropertyData*, QV4::Value const&) () from /usr/lib/x86_64-linux-gnu/
libQt5Qml.so.5
#11 0x00007ffff4898c38 in
QV4::Runtime::method_setQmlQObjectProperty(QV4::ExecutionEngine*, QV4::Value
const&, int, QV4::Value const&) ()
from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007fffe4048335 in ?? ()
#13 0x0000000000000000 in ?? ()

Ideas?

Thank you,

Berthold
Lubomir I. Ivanov
2018-05-25 11:52:47 UTC
Permalink
Post by Berthold Stoeger
Dear all,
after upgrading to recent Kubuntu (which also destroyed my TeX installation,
which is essential for work), subsurface crashes somewhere in the GoogleMaps
thing.
I removed the build, cmake and googlemaps directories and rebuilt. No change.
(gdb) run
Starting program: /home/bs/src/subsurface/build/subsurface
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe72da700 (LWP 18778)]
[New Thread 0x7fffe6898700 (LWP 18779)]
[New Thread 0x7fffde338700 (LWP 18780)]
[New Thread 0x7fffc50c7700 (LWP 18781)]
Thread 1 "subsurface" received signal SIGSEGV, Segmentation fault.
0x00007fffbf4ea33c in QGeoTiledMapScene::updateSceneGraph(QSGNode*,
QQuickWindow*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
(gdb) where
#0 0x00007fffbf4ea33c in QGeoTiledMapScene::updateSceneGraph(QSGNode*,
QQuickWindow*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
#1 0x00007fffbf54a63f in
QDeclarativeGeoMapCopyrightNotice::setMapSource(QDeclarativeGeoMap*) () from /
usr/lib/x86_64-linux-gnu/libQt5Location.so.5
which Qt version is used for building the plugin?
better check if you are building everything with the same Qt version.

what is the state of your OpenGL drivers on that setup? can you run
other OpenGL software - tests like glmark2?

looking at the source, QGeoTiledMapScene::updateSceneGraph() is called
very often (on paint events) and is used to add / remove tiles and
textures according to the QQuickWindow of the scene.

lubomir
--
Berthold Stoeger
2018-05-25 13:18:56 UTC
Permalink
Hi Lubomir,
Post by Lubomir I. Ivanov
which Qt version is used for building the plugin?
better check if you are building everything with the same Qt version.
I think there is some problem with the system-supplied qtlocation5 thing.

First I removed the libqt5location5 package and its dependencies. Then cmake
failed, because it couldn't find qtlocation. Then I reinstalled qtlocation5-
dev and deleted the googlemaps and the subsurface/build directories.

Now it compiles and runs, but the map widget doesn't show: "MapWidget.qml
failed to load! The QML modules QtPositioning and QtLocation could be
missing!". That's not ideal, but OK for now.
Post by Lubomir I. Ivanov
what is the state of your OpenGL drivers on that setup? can you run
other OpenGL software - tests like glmark2?
glmark2 runs fine.

Berthold

Loading...