subsurface builds, but dumps core at startup :(

Martin Gysel me at bearsh.org
Tue Sep 11 09:59:50 PDT 2018


Am 11.09.18 um 18:21 schrieb Cristian Ionescu-Idbohrn:
> This is on debian unstable, subsurface master.  Seen this happening 
> since a few days back.
> 
> The kernel reports:
> 
> Sep 11 17:36:33 host kernel: [11915775.481135] subsurface[24251]: segfault at 7fea4684ec60 ip 00007fea4684ec60 sp 00007ffd83e6ad38 error 15
> Sep 11 17:36:33 host kernel: [11915775.481145] inlibqtgeoservices_googlemaps.so[7fea4684b000+8000]

did you switch the qt version but did not rebuild the googlemaps
qtlocation plugin? it depends on internal api so a rebuild is needed...

/martin


> 
> This is what happens:
> 
> $ ./subsurface/build/subsurface -vvv
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
> Subsurface v4.8.1-371-g619a52635a7f,
> built with libdivecomputer v0.7.0-devel-Subsurface-NG (a9c582e26fe823bc7981ba5ee0510ad9d6f86017)
> built with Qt Version 5.11.1, runtime from Qt Version 5.11.1
> built with libgit2 0.26.0
> "validateGL(): created OpenGLContext."
> "validateGL(): obtained QOpenGLFunctions."
> "validateGL(): detected OpenGL version 4.6."
> Plugins Directory:  QDir( "./subsurface/build" , nameFilters = { "*" },  QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )
> 
> $ gdb ./subsurface/build/subsurface core
> GNU gdb (Debian 8.1-4+b1) 8.1
> Copyright (C) 2018 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from ./subsurface/build/subsurface...done.
> [New LWP 24251]
> [New LWP 24253]
> [New LWP 24256]
> [New LWP 24254]
> [New LWP 24252]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> Core was generated by `./subsurface/build/subsurface -vvv'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x00007fea4684ec60 in qt_meta_data_QGeoTiledMapGooglemaps ()
>    from ./install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so
> [Current thread is 1 (Thread 0x7fea5c7b6a40 (LWP 24251))]
> (gdb) bt full
> #0  0x00007fea4684ec60 in qt_meta_data_QGeoTiledMapGooglemaps ()
>    from ./install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so
> No symbol table info available.
> #1  0x00007fea670575b4 in QDeclarativeGeoMapCopyrightNotice::setMapSource(QDeclarativeGeoMap*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #2  0x00007fea6703e1f3 in QDeclarativeGeoMap::mappingManagerInitialized() ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #3  0x00007fea6703edc1 in QDeclarativeGeoMap::pluginReady() ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #4  0x00007fea6703efc6 in QDeclarativeGeoMap::setPlugin(QDeclarativeGeoServiceProvider*) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #5  0x00007fea670a29d1 in ?? ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #6  0x00007fea670a3673 in QDeclarativeGeoMap::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Location.so.5
> No symbol table info available.
> #7  0x00007fea65ccdb27 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #8  0x00007fea65ce4092 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #9  0x00007fea65ce132a in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyData::WriteFlag>)
>     () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #10 0x00007fea65c97f7d in QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, QV4::Value const&) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #11 0x00007fea65c9893e in QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, QV4::Value const&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #12 0x00007fea65c98a34 in QV4::QObjectWrapper::put(QV4::Managed*, QV4::String*, QV4::Value const&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #13 0x00007fea65cab9dc in QV4::Runtime::method_storeProperty(QV4::ExecutionEngine*, QV4::Value const&, int, QV4::Value const&) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #14 0x00007fea65ca4434 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #15 0x00007fea65d5c2df in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #16 0x00007fea65cee867 in QQmlBoundSignalExpression::evaluate(void**) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #17 0x00007fea65cef9fb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #18 0x00007fea65d390f3 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #19 0x00007fea65cd1eaa in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #20 0x00007fea655c70ef in QMetaObject::activate(QObject*, int, int, void**) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> No symbol table info available.
> #21 0x00007fea65d6f3c8 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #22 0x00007fea65ce5411 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #23 0x00007fea65ce5537 in QQmlComponentPrivate::completeCreate() ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #24 0x00007fea65ce5310 in QQmlComponent::create(QQmlContext*) ()
>    from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
> No symbol table info available.
> #25 0x00007fea68673c2b in QQuickWidget::continueExecute() ()
>    from /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5
> No symbol table info available.
> #26 0x00007fea68674178 in ?? ()
>    from /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #27 0x00005585d81e1fb2 in MapWidget::MapWidget(QWidget*) ()
>     at ./subsurface/desktop-widgets/mapwidget.cpp:30
> No locals.
> #28 0x00005585d81e2347 in MapWidget::instance() ()
>     at ./subsurface/desktop-widgets/mapwidget.cpp:132
> No locals.
> #29 0x00005585d8250112 in MainTab::MainTab(QWidget*) ()
>     at ./subsurface/desktop-widgets/tab-widgets/maintab.cpp:81
>         action = <optimized out>
>         types = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
>                       _q_value = {<std::__atomic_base<int>> = {
>                           static _S_alignment = 4,
>                           _M_i = -1}, <No data fields>}}}, alloc = 0,
>                   begin = 0, end = 0, array = {0x0}}, d = 0xd9cc0000},
>               d = 0xd9cc0000}}, <No data fields>}
>         margins = {m_left = 1701156448, m_top = 32746, m_right = -640858752,
>           m_bottom = 21893}
>         s = <incomplete type>
>         closeKey = <optimized out>
>         action = <optimized out>
>         closeKey = <optimized out>
>         types = <optimized out>
>         margins = <optimized out>
>         s = <optimized out>
>         i = <optimized out>
>         p = <optimized out>
>         _container_ = <optimized out>
>         box = <optimized out>
>         _container_ = <optimized out>
>         label = <optimized out>
>         i = <optimized out>
>         checked = <optimized out>
> #30 0x00005585d81d3656 in MainWindow::MainWindow() ()
>     at ./subsurface/desktop-widgets/mainwindow.cpp:123
>         mainTab = <optimized out>
>         diveListView = <optimized out>
>         profileWidget = <optimized out>
>         disabledList = {d = 0x20002000200020}
>         undoAction = 0x20002000200020
>         mapWidget = <optimized out>
>         plannerSettings = <optimized out>
>         plannerWidget = <optimized out>
>         plannerDetails = <optimized out>
>         profileContainer = <optimized out>
>         profLayout = <optimized out>
>         enabledList = {d = 0x64}
>         enabled = {first = {d = 0xffffffffffffff70}, second = {d = {data = {
>                 c = 40 '(', uc = 40 '(', s = 40, sc = 40 '(', us = 40, i = 40,
>                 u = 40, l = 40, ul = 40, b = 40, d = 1.9762625833649862e-322,
>                 f = 5.60519386e-44, real = 1.9762625833649862e-322, ll = 40,
>                 ull = 40, o = 0x28, ptr = 0x28, shared = 0x28}, type = 161,
>               is_shared = 0, is_null = 0}}}
>         toolBar = <optimized out>
>         disabled = {first = {d = 0x0}, second = {d = {data = {c = 96 '`',
>                 uc = 96 '`', s = 96, sc = 96 '`', us = 96, i = 96, u = 96,
>                 l = 472446402656, ul = 472446402656, b = 96,
>                 d = 2.3341953705361026e-312, f = 1.34524653e-43,
>                 real = 2.3341953705361026e-312, ll = 472446402656,
>                 ull = 472446402656, o = 0x6e00000060, ptr = 0x6e00000060,
>                 shared = 0x6e00000060}, type = 124, is_shared = 0,
>               is_null = 0}}}
>         diveSiteEdit = <optimized out>
>         redoAction = 0x7ffd83e6db10
>         undoRedoActions = {<QListSpecialMethods<QAction*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
>                     _q_value = {<std::__atomic_base<int>> = {
>                         static _S_alignment = 4,
>                         _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0,
>                 end = 0, array = {0x0}}, d = 0x7ffd83e6db10},
>             d = 0x7ffd83e6db10}}
>         geoLookup = <optimized out>
>         tec = <optimized out>
>         pp_gas = <optimized out>
>         mainTab = <optimized out>
>         diveListView = <optimized out>
>         profileWidget = <optimized out>
>         mapWidget = <optimized out>
>         plannerSettings = <optimized out>
>         plannerWidget = <optimized out>
>         plannerDetails = <optimized out>
> ---Type <return> to continue, or q <return> to quit---
>         toolBar = <optimized out>
>         profileContainer = <optimized out>
>         profLayout = <optimized out>
>         diveSiteEdit = <optimized out>
>         enabled = <optimized out>
>         disabled = <optimized out>
>         enabledList = <optimized out>
>         disabledList = <optimized out>
>         undoAction = <optimized out>
>         redoAction = <optimized out>
>         undoRedoActions = <optimized out>
>         geoLookup = <optimized out>
>         tec = <optimized out>
>         pp_gas = <optimized out>
>         _container_ = <optimized out>
>         a = <optimized out>
>         i = <optimized out>
> #31 0x00005585d81c3a31 in init_ui() ()
>     at ./subsurface/subsurface-helper.cpp:43
>         window = <optimized out>
> #32 0x00005585d81bca99 in main ()
>     at ./subsurface/subsurface-desktop-main.cpp:91
>         i = <optimized out>
>         no_filenames = <optimized out>
>         files = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
>                       _q_value = {<std::__atomic_base<int>> = {
>                           static _S_alignment = 4,
>                           _M_i = -1}, <No data fields>}}}, alloc = 0,
>                   begin = 0, end = 0, array = {0x0}},
>                 d = 0x7fea6565b6c0 <QListData::shared_null>},
>               d = 0x7fea6565b6c0 <QListData::shared_null>}}, <No data fields>}
>         importedFiles = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
>                       _q_value = {<std::__atomic_base<int>> = {
>                           static _S_alignment = 4,
>                           _M_i = -1}, <No data fields>}}}, alloc = 0,
>                   begin = 0, end = 0, array = {0x0}},
>                 d = 0x7fea6565b6c0 <QListData::shared_null>},
>               d = 0x7fea6565b6c0 <QListData::shared_null>}}, <No data fields>}
>         arguments = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
>                       _q_value = {<std::__atomic_base<int>> = {
>                           static _S_alignment = 4,
>                           _M_i = -1}, <No data fields>}}}, alloc = 0,
>                   begin = 0, end = 0, array = {0x0}}, d = 0x5585d9950b60},
>               d = 0x5585d9950b60}}, <No data fields>}
>         default_directory = 0x5585d9888610 "$HOME/.subsurface"
>         default_filename = 0x5585d9956f40 "$HOME/.subsurface/user.xml"
>         m = <optimized out>
>         __PRETTY_FUNCTION__ = "int main(int, char**)"
> #33 0x00007fea64a84a87 in __libc_start_main (main=0x5585d81bc6c0 <main>,
>     argc=2, argv=0x7ffd83e6df28, init=<optimized out>, fini=<optimized out>,
>     rtld_fini=<optimized out>, stack_end=0x7ffd83e6df18)
>     at ../csu/libc-start.c:310
>         self = <optimized out>
>         __self = <optimized out>
>         result = <optimized out>
>         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -6340335317083414757,
>                 94033344730288, 140726816399136, 0, 0, -220063013395161317,
>                 -225774508546515173}, mask_was_saved = 0}}, priv = {pad = {
>               0x0, 0x0, 0x7ffd83e6df40, 0x7fea687d7170}, data = {prev = 0x0,
>               cleanup = 0x0, canceltype = -2082021568}}}
>         not_first_call = <optimized out>
> #34 0x00005585d81c14da in _start ()
>     at ./subsurface/subsurface-desktop-main.cpp:200
> No symbol table info available.
> 
> Thoughts?
> 
> 
> Cheers,
> 



More information about the subsurface mailing list