Subsurface 5.0.1 core dumps on startup on linux

75 views
Skip to first unread message

Nico De Ranter

unread,
Jun 9, 2021, 3:19:55 PM6/9/21
to Subsurface Divelog
Hi,

I've been using Subsurface on my Linux Mint laptop for a while.  Due to corona it's been  a while  (~8 months) since my last dive.  When I tried starting subsurface today it immediately core-dumped. 

OS: Linux Mint 20.1  (fully up-to-date and rebooted to ensure the latest kernel is running)
Subsurface version: 5.0.1-1~focal
Dive computer:  Suunto Eon Core (fw 2.0.928) connected via USB

Even when I disconnect the dive computer and moved my .config/Subsurface folder out of the way subsurface still core-dumps immediately after startup.

    :~$ subsurface -v
    using qt5ct plugin
    Subsurface v5.0.1,
    built with libdivecomputer v0.7.0-devel-Subsurface-NG      (81f95d388019d1283f5e0b4dbed108b4ab10946a)
    built with Qt Version 5.12.8, runtime from Qt Version 5.12.8
    built with libgit2 1.0.0
    "validateGL(): created OpenGLContext."
    "validateGL(): obtained QOpenGLFunctions."
    "validateGL(): detected OpenGL version 4.6."
    Segmentation fault (core dumped)

strace didn't make me much wiser

access("/etc/xdg/Subsurface.conf", F_OK) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/etc/xdg/Subsurface.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7fffb3c97d90) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/etc/xdg/Subsurface.conf", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7fffb3c97d30) = -1 ENOENT (No such file or directory)
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/bin", {st_mode=S_IFDIR|0755, st_size=69632, ...}) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x6b0004} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)

Any suggestions what may be wrong?

Any help would be greatly appreciated

Nico

miika....@gmail.com

unread,
Jun 9, 2021, 3:33:01 PM6/9/21
to Subsurface Divelog
Running under gdb and getting backtrace might give us some idea where it crashes. Also try "ldd $(which subsurface)" to see what libraries are linked and if something might be missing.

You could also test with "subsurface --user=dummy" to run without your own dive log to see if the problem might be related to your log.

Nico De Ranter

unread,
Jun 9, 2021, 3:53:04 PM6/9/21
to Subsurface Divelog
user=dummy didn't help.
subsurface --user=dummy
using qt5ct plugin
Segmentation fault (core dumped)

ldd doesn't show anything missing
ldd $(which subsurface)
linux-vdso.so.1 (0x00007ffdbdff9000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f977f14d000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f977f024000)
libxslt.so.1 => /usr/lib/x86_64-linux-gnu/libxslt.so.1 (0x00007f977efe2000)
libzip.so.5 => /usr/lib/x86_64-linux-gnu/libzip.so.5 (0x00007f977efc7000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f977efa4000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f977ef11000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f977ec39000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f977ec0a000)
libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f977ebee000)
libmtp.so.9 => /usr/lib/x86_64-linux-gnu/libmtp.so.9 (0x00007f977eb70000)
libQt5WebKitWidgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5 (0x00007f977eb23000)
libQt5WebKit.so.5 => /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5 (0x00007f977bbc5000)
libQt5Svg.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 (0x00007f977bb67000)
libQt5Positioning.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Positioning.so.5 (0x00007f977bad6000)
libQt5QuickWidgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 (0x00007f977babf000)
libQt5Quick.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 (0x00007f977b5e6000)
libQt5Qml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 (0x00007f977b107000)
libQt5Network.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007f977af46000)
libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007f977aecb000)
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f977a830000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f977a245000)
libQt5Bluetooth.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Bluetooth.so.5 (0x00007f977a136000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f9779bed000)
libbluetooth.so.3 => /usr/lib/x86_64-linux-gnu/libbluetooth.so.3 (0x00007f9779bc8000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9779baa000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f97799c9000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f977987a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f977985f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f977966d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9779667000)
libicuuc.so.66 => /usr/lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007f977947f000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f9779456000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f9779443000)
/lib64/ld-linux-x86-64.so.2 (0x00007f977fbbc000)
libgcrypt.so.20 => /usr/lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f9779325000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f97792f8000)
libQt5WebChannel.so.5 => /usr/lib/x86_64-linux-gnu/libQt5WebChannel.so.5 (0x00007f97792d3000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9779196000)
libicui18n.so.66 => /usr/lib/x86_64-linux-gnu/libicui18n.so.66 (0x00007f9778e97000)
libQt5Sensors.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Sensors.so.5 (0x00007f9778e54000)
libwoff2dec.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libwoff2dec.so.1.0.2 (0x00007f9778e47000)
libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f9778dc2000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f9778d88000)
libwebp.so.6 => /usr/lib/x86_64-linux-gnu/libwebp.so.6 (0x00007f9778d1e000)
libhyphen.so.0 => /usr/lib/x86_64-linux-gnu/libhyphen.so.0 (0x00007f9778d17000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f9778b36000)
libgstapp-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f9778b24000)
libgstbase-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f9778aa6000)
libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f977895d000)
libgstpbutils-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f977891f000)
libgstaudio-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f97788a2000)
libgsttag-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f9778864000)
libgstvideo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f97787b3000)
libgstfft-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstfft-1.0.so.0 (0x00007f97787a6000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9778744000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f977861b000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9778610000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f9778588000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f9778481000)
libQt5DBus.so.5 => /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 (0x00007f97783e5000)
libpcre2-16.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x00007f9778362000)
libdouble-conversion.so.3 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007f977834c000)
libicudata.so.66 => /usr/lib/x86_64-linux-gnu/libicudata.so.66 (0x00007f977688b000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9776868000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f977683c000)
libwoff2common.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libwoff2common.so.1.0.2 (0x00007f9776837000)
libbrotlidec.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f9776829000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9776823000)
libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f97767c3000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9776796000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f977677a000)
liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f97766f7000)
libffi.so.7 => /usr/lib/x86_64-linux-gnu/libffi.so.7 (0x00007f97766eb000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9776678000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f97765be000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f977658a000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f97764cb000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f977649e000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f977644d000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f9776445000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f977643d000)
libbrotlicommon.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f977641a000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f97763c3000)
libpcre2-8.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f9776333000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f9776282000)
libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f9776268000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f9776247000)

I don't have any experience using gdb, is this sufficient? :

gdb subsurface
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 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:
Find the GDB manual and other documentation resources online at:

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from subsurface...
--Type <RET> for more, q to quit, c to continue without paging--
(No debugging symbols found in subsurface)
(gdb) run
Starting program: /usr/bin/subsurface 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeeed5700 (LWP 6671)]
[New Thread 0x7fffee699700 (LWP 6672)]
[New Thread 0x7fffeceb0700 (LWP 6673)]
using qt5ct plugin
[New Thread 0x7fffd879d700 (LWP 6675)]
[New Thread 0x7fffd7f9c700 (LWP 6676)]
[New Thread 0x7fffd779b700 (LWP 6677)]
[New Thread 0x7fffd6f9a700 (LWP 6678)]

--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "subsurface" received signal SIGSEGV, Segmentation fault.
0x00007ffff29ce127 in QString::operator==(QLatin1String) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) backtrace 
#0  0x00007ffff29ce127 in QString::operator==(QLatin1String) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff29ad786 in QLocale::QLocale(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x000055555597893c in initUiLanguage() ()
#3  0x000055555596bd8e in init_qt_late() ()
#4  0x00005555557065f1 in init_ui() ()
#5  0x00005555556fbd66 in main ()
(gdb) 

Am I right thinking this is some kind of incompatibility with the verion of QT5 I have installed?

I'm currently using the official PPA.  I guess switching to the snap version might help in this case?

Nico

Op woensdag 9 juni 2021 om 21:33:01 UTC+2 schreef miika....@gmail.com:

Dirk Hohndel

unread,
Jun 9, 2021, 3:59:28 PM6/9/21
to Subsurface Divelog

On Jun 9, 2021, at 12:53 PM, Nico De Ranter wrote:

I don't have any experience using gdb, is this sufficient? :

Yeah, this is good.

gdb subsurface
(gdb) run
Starting program: /usr/bin/subsurface 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeeed5700 (LWP 6671)]
[New Thread 0x7fffee699700 (LWP 6672)]
[New Thread 0x7fffeceb0700 (LWP 6673)]
using qt5ct plugin
[New Thread 0x7fffd879d700 (LWP 6675)]
[New Thread 0x7fffd7f9c700 (LWP 6676)]
[New Thread 0x7fffd779b700 (LWP 6677)]
[New Thread 0x7fffd6f9a700 (LWP 6678)]

--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "subsurface" received signal SIGSEGV, Segmentation fault.
0x00007ffff29ce127 in QString::operator==(QLatin1String) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) backtrace 
#0  0x00007ffff29ce127 in QString::operator==(QLatin1String) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff29ad786 in QLocale::QLocale(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x000055555597893c in initUiLanguage() ()
#3  0x000055555596bd8e in init_qt_late() ()
#4  0x00005555557065f1 in init_ui() ()
#5  0x00005555556fbd66 in main ()
(gdb) 


This bug looks familiar and I know that I fixed it.
Which version do you have installed? Below you say 5.0.1 and ... hmmm... I can't find my fix in git.
I wonder what happened.

OK, need to go back to the drawing board and figure out why that's not in 5.0.1 - given work right now this might take a few days, we'll figure this out.

Thanks for the stack trace. This really helps.

/D

Nico De Ranter

unread,
Jun 9, 2021, 4:44:10 PM6/9/21
to Subsurface Divelog
Thanks for the very fast response!
Take your time, I'm not going anywhere soon ;-)

Nico

Op woensdag 9 juni 2021 om 21:59:28 UTC+2 schreef Dirk:

Adric Norris

unread,
Jun 10, 2021, 10:00:05 AM6/10/21
to subsurfac...@googlegroups.com
I get a similar segfault when launching Subsurface on Ubuntu 21.04 (hirsute). There's no Subsurface build for hirsute in the PPA, however, so I still have the build for 20.10 installed. It wouldn't surprise me at all if there's some sort of QT conflict involved.

The good news is that the AppImage for Subsurface 5.0.1 is working fine, so you may be able to use it as a workaround.

--
"In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move." -Douglas Adams

Michał Sawicz

unread,
Jun 10, 2021, 10:12:34 AM6/10/21
to subsurfac...@googlegroups.com, Adric Norris
W dniu 10.06.2021 o 15:59, Adric Norris pisze:
> I get a similar segfault when launching Subsurface on Ubuntu 21.04
> (hirsute). There's no Subsurface build for hirsute in the PPA, however,
> so I still have the build for 20.10 installed. It wouldn't surprise me
> at all if there's some sort of QT conflict involved.
>
> The good news is that the AppImage for Subsurface 5.01 is working fine,
> so you may be able to use it as a workaround.

There's also the snap:

$ snap install subsurface

https://snapcraft.io/subsurface

HTH,
--
Saviq

Dirk Hohndel

unread,
Jun 10, 2021, 10:56:55 AM6/10/21
to Subsurface Divelog
There is a Hirsute build for Subsurface-daily.

Would you mind trying that?

/D

Adric Norris

unread,
Jun 11, 2021, 9:07:51 AM6/11/21
to subsurfac...@googlegroups.com
The build from Subsurface-daily starts successfully, and appears (from a relatively brief test) to work normally. I'll spend some more time with it tonight, and try to test a bit more thoroughly.

Thanx!

$ dpkg -l subsurface
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version            Architecture Description
+++-==============-==================-============-=================================
ii  subsurface     5.0.1.93-1~hirsute amd64        Dive log program


--
You received this message because you are subscribed to the Google Groups "Subsurface Divelog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to subsurface-dive...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/0219CEED-4998-440C-9CA9-8F12B60A6F89%40hohndel.org.
Reply all
Reply to author
Forward
0 new messages