Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
media-sound/mumble-1.4.230-r1 segmentation fault
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Irets
Apprentice
Apprentice


Joined: 17 Dec 2019
Posts: 222

PostPosted: Tue May 17, 2022 8:01 pm    Post subject: media-sound/mumble-1.4.230-r1 segmentation fault Reply with quote

I updated Mumble to 1.4.230-r1 and have met three segmentation faults today so far.

I did not have a debugger running when they occured and I don't know of a sure way to reproduce it, but I had opened the application from a terminal emulator during my latest segfault:
Code:
<D>2022-05-17 22:35:28.196 PulseAudio 15.0.0 from libpulse.so
<D>2022-05-17 22:35:28.206 libopus 1.3.1 from libopus.so.0
<W>2022-05-17 22:35:28.206 CELT bitstream 8000000b from /usr/lib64/mumble/libcelt0.so.0.7.0
<W>2022-05-17 22:35:28.206 Theme: "Mumble"
<W>2022-05-17 22:35:28.206 Style: "Dark"
<W>2022-05-17 22:35:28.206 --> qss: ":themes/Mumble/Dark.qss"
<W>2022-05-17 22:35:28.207 Locale is "en_US" (System: "en_US")
<W>2022-05-17 22:35:28.219 Database SQLite: "3.38.2"
<W>2022-05-17 22:35:28.231 Updating application palette
<W>2022-05-17 22:35:28.240 GlobalShortcutX: Using XI2 2.4
<W>2022-05-17 22:35:28.256 QMetaObject::connectSlotsByName: No matching signal for on_qtvUsers_customContextMenuRequested(QPoint,bool)
<W>2022-05-17 22:35:28.289 SocketRPC: Removing old socket on "/run/user/1000/MumbleSocket"
<W>2022-05-17 22:35:28.291 AudioInput: Opus encoder set for high quality speech
<W>2022-05-17 22:35:28.291 AudioInput: 40000 bits/s, 48000 hz, 480 sample
<W>2022-05-17 22:35:28.291 PulseAudio: Starting input alsa_input.pci-0000_00_1b.0.analog-stereo
<W>2022-05-17 22:35:28.291 PulseAudio: Starting echo: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
<W>2022-05-17 22:35:28.291 PulseAudio: Starting output: alsa_output.pci-0000_00_1b.0.analog-stereo
<W>2022-05-17 22:35:28.292 AudioOutput: Initialized 2 channel 48000 hz mixer
<W>2022-05-17 22:35:28.297 AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz echo
<W>2022-05-17 22:35:28.303 AudioInput: Using RNNoise as noise canceller
warning: The VAD has been replaced by a hack pending a complete rewrite
<W>2022-05-17 22:35:28.303 Unhandled client message:  "_NET_WM_NAME"
<W>2022-05-17 22:35:28.304 Unhandled client message:  "_NET_WM_NAME"
<W>2022-05-17 22:35:28.304 Unhandled client message:  "_NET_WM_NAME"
<W>2022-05-17 22:35:28.304 Unhandled client message:  "_NET_WM_NAME"
<W>2022-05-17 22:35:28.312 AudioInput: Initialized mixer for 1 channel 48000 hz mic and 1 channel 48000 hz echo
<W>2022-05-17 22:35:28.332 AudioInput: Using RNNoise as noise canceller
warning: The VAD has been replaced by a hack pending a complete rewrite
<W>2022-05-17 22:35:28.332 AudioInput: ECHO CANCELLER ACTIVE
<W>2022-05-17 22:35:29.358 Database SQLite: "3.38.2"
<W>2022-05-17 22:35:29.358 OpenSSL Support: 1 (OpenSSL 1.1.1n  15 Mar 2022)
<W>2022-05-17 22:35:29.377 ServerHandler: TLS cipher preference is "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-SHA:AES128-SHA"
Segmentation fault


Here's what I can see in dmesg:
Code:
[92070.526736] ServerHandler[23648]: segfault at 4 ip 00007fb7800ca5c3 sp 00007fb744c025c0 error 4 in libcrypto.so.1.1[7fb77ffe4000+18c000]
[92070.526745] Code: fd 53 44 89 c3 41 89 df 48 83 ec 18 e8 f6 22 00 00 85 c0 74 11 89 d8 44 8d 7b 0e 83 c0 07 44 0f 49 f8 41 c1 ff 03 4c 8b 45 00 <45> 8b 48 04 85 db 78 60 74 43 41 f6 40 12 10 74 7c 41 83 f9 01 0f
[93943.808597] threaded-ml[7484]: segfault at 4 ip 00007fb56c50be83 sp 00007fb568c49608 error 4 in libcrypto.so.1.1[7fb56c424000+18c000]
[93943.808609] Code: 8d 35 c3 e0 0c 00 48 8d 3d d2 e0 0c 00 e8 55 1b f8 ff 0f 1f 44 00 00 8b 47 04 c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 48 8b 07 <8b> 40 04 c3 66 0f 1f 84 00 00 00 00 00 8b 47 30 c3 66 66 2e 0f 1f
[93966.172371] threaded-ml[28933]: segfault at 560f132fe000 ip 00007f73d3cc2505 sp 00007f73c3ffd608 error 4 in libcrypto.so.1.1[7f73d3cb7000+18c000]
[93966.172380] Code: 40 0f 11 7e 50 44 0f 11 46 60 e9 ca 03 00 00 66 0f 1f 44 00 00 0f 10 01 0f 10 49 10 48 8d 49 20 0f 57 d0 66 0f 38 dc d1 ff c8 <0f> 10 09 48 8d 49 10 75 f0 66 0f 38 dd d1 0f 11 16 e9 99 03 00 00


Seems like a bug.

EDIT: It doesn't crash if I'm alone in a server, but if people join and we start talking, it'll crash some time after.
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1678

PostPosted: Wed May 18, 2022 9:36 pm    Post subject: Reply with quote

Please try to either get a coredump (can use coredumpctl on systemd or e.g. sys-process/minicoredumper on OpenRC) or run it directly in gdb: gdb --args mumble ... (then type 'r', then type 'bt' when it crashes).

You will likely need to enable debugging symbols for glibc, mumble, and openssl. See the wiki for how to do that.

Do not directly upload the core file if you go for the first approach. But it is safe to share the backtrace ('bt') output from gdb.
Back to top
View user's profile Send private message
Irets
Apprentice
Apprentice


Joined: 17 Dec 2019
Posts: 222

PostPosted: Fri May 20, 2022 4:39 pm    Post subject: Reply with quote

Hi sam_!

It took me a while to respond, as work has taken much of my free time.

Does this backtrace make sense to you?
Code:
Thread 12 "ServerHandler" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffb74c0640 (LWP 26809)]
EVP_CipherInit_ex (ctx=0x7fffac004350, cipher=0x7ffff6f83080 <aesni_128_ecb>, impl=<optimized out>, key=0x7fffac008039 "o\vB\246.\364\254KP\203U\375\210\332>E\226\242\267\330J\025\242\333$\331g\374\ajKEm\032eY\275\373\341\333\320-\243\006y\201PH", '\032' <repeats 109 times>, '\031' <repeats 43 times>..., iv=0x0, enc=<optimized out>) at crypto/evp/evp_enc.c:141
141     crypto/evp/evp_enc.c: No such file or directory.
(gdb) bt
#0  EVP_CipherInit_ex (ctx=0x7fffac004350, cipher=0x7ffff6f83080 <aesni_128_ecb>, impl=<optimized out>,
    key=0x7fffac008039 "o\vB\246.\364\254KP\203U\375\210\332>E\226\242\267\330J\025\242\333$\331g\374\ajKEm\032eY\275\373\341\333\320-\243\006y\201PH", '\032' <repeats 109 times>, '\031' <repeats 43 times>..., iv=0x0,
    enc=<optimized out>) at crypto/evp/evp_enc.c:141
#1  0x00005555558411cd in CryptStateOCB2::ocb_decrypt (this=this@entry=0x7fffac008000,
    encrypted=encrypted@entry=0x7fffb74be7f4 "\255J\222+\264m\223\347\256\341+\022\322O\275\001\065\264\006\067\201\246\367\256\071\202\277X\243u\373a\177P\017F\225\324\033\032\213\362\071\372\354\314\f3\320\063N\037g\016L\240q\025\022\310B!\362<\365\\l\177M\323 q\v\310b1\301B\027\366\a\325k\314]",
    plain=0x7fffb74beff0 "\200\030\210\200dx\215\356\033\301Z\023\300\222P\217\236V\274\372$\033\243\027\224#e:\225'\032\f\325xȑ\026\a\230\363\377\266r\005^co\030C\346\226ZJ\bGS\251f\354j\271\325\357VXKx\334\\\256\260!\340\365\302\330\r\034\232ŝ\226\265ȥ\265T\360D\337\\*3\340f\266\314\001\205\340\360\316\321\305\017\366\377\177", len=105,
    nonce=nonce@entry=0x7fffac008059 "m\032eY\275\373\341\333\320-\243\006y\201PH", '\032' <repeats 109 times>, '\031' <repeats 75 times>..., tag=tag@entry=0x7fffb74be6f0 "")
    at /var/tmp/portage/media-sound/mumble-1.4.230-r1/work/mumble-1.4.230.src/src/crypto/CryptStateOCB2.cpp:354
#2  0x00005555558417ae in CryptStateOCB2::decrypt (crypted_length=<optimized out>, dst=<optimized out>,
    source=0x7fffb74be7f0 "m=VH\255J\222+\264m\223\347\256\341+\022\322O\275\001\065\264\006\067\201\246\367\256\071\202\277X\243u\373a\177P\017F\225\324\033\032\213\362\071\372\354\314\f3\320\063N\037g\016L\240q\025\022\310B!\362<\365\\l\177M\323 q\v\310b1\301B\027\366\a\325k\314]", this=0x7fffac008000) at /var/tmp/portage/media-sound/mumble-1.4.230-r1/work/mumble-1.4.230.src/src/crypto/CryptStateOCB2.cpp:196
#3  CryptStateOCB2::decrypt (this=0x7fffac008000,
    source=0x7fffb74be7f0 "m=VH\255J\222+\264m\223\347\256\341+\022\322O\275\001\065\264\006\067\201\246\367\256\071\202\277X\243u\373a\177P\017F\225\324\033\032\213\362\071\372\354\314\f3\320\063N\037g\016L\240q\025\022\310B!\362<\365\\l\177M\323 q\v\310b1\301B\027\366\a\325k\314]", dst=<optimized out>, crypted_length=<optimized out>) at /var/tmp/portage/media-sound/mumble-1.4.230-r1/work/mumble-1.4.230.src/src/crypto/CryptStateOCB2.cpp:123
#4  0x000055555575f66c in ServerHandler::udpReady (this=0x5555567b8580) at /var/tmp/portage/media-sound/mumble-1.4.230-r1/work/mumble-1.4.230.src/src/mumble/ServerHandler.cpp:229
#5  0x00007ffff612594e in ?? () from /usr/lib64/libQt5Core.so.5
#6  0x00007ffff6c360af in ?? () from /usr/lib64/libQt5Network.so.5
#7  0x00007ffff6c48b81 in ?? () from /usr/lib64/libQt5Network.so.5
#8  0x00007ffff78fa64f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#9  0x00007ffff60f35f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#10 0x00007ffff614414e in ?? () from /usr/lib64/libQt5Core.so.5
#11 0x00007ffff52b589b in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#12 0x00007ffff52b5b48 in ?? () from /usr/lib64/libglib-2.0.so.0
#13 0x00007ffff52b5bff in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#14 0x00007ffff6143708 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#15 0x00007ffff60f2083 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#16 0x00007ffff5f49e6a in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#17 0x000055555575f05b in ServerHandler::run (this=0x5555567b8580) at /var/tmp/portage/media-sound/mumble-1.4.230-r1/work/mumble-1.4.230.src/src/mumble/ServerHandler.cpp:453
#18 0x00007ffff5f4aff9 in ?? () from /usr/lib64/libQt5Core.so.5
#19 0x00007ffff5a10247 in start_thread (arg=<optimized out>) at pthread_create.c:435
#20 0x00007ffff5a91e0c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81


Here's how I set it up:
Code:
$ cat /etc/portage/env/debugsyms
CFLAGS="${CFLAGS} -ggdb3"
CXXFLAGS="${CXXFLAGS} -ggdb3"
FEATURES="${FEATURES} splitdebug compressdebug -nostrip"


Code:
$ cat /etc/portage/package.env
sys-libs/glibc debugsyms
media-sound/mumble debugsyms
dev-libs/openssl debugsyms


and then --oneshot glibc, openssl & mumble.
I did not make changes to make.conf.
Back to top
View user's profile Send private message
Irets
Apprentice
Apprentice


Joined: 17 Dec 2019
Posts: 222

PostPosted: Tue May 24, 2022 6:18 am    Post subject: Reply with quote

I'm going to downgrade Mumble and start using 1.3.4 for now, as that version doesn't have the issue.
The two downsides are that 1.4.* had better microphone audio detection and I can get spied on by people using the newer client, as they have access to the "Listen" feature on servers that run on 1.4.*.

If it starts to bug me too much, I'll compile 1.4.* from Github and remove the one from ::gentoo.

If someone wants to debug this further, ask here and I'll reinstall the ::gentoo 1.4.230-r1.
Back to top
View user's profile Send private message
Irets
Apprentice
Apprentice


Joined: 17 Dec 2019
Posts: 222

PostPosted: Thu May 26, 2022 8:45 pm    Post subject: Reply with quote

I found an old ebuild for the 1.4.230 release on ::gentoo and I'm going to stick to it, until the issue with newer releases gets fixed.

The ebuild has been edited to remove mumble-overlay and added a missing dependency dev-qt/qtconcurrent:5
Code:
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit cmake xdg

DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software"
HOMEPAGE="https://wiki.mumble.info"
if [[ "${PV}" == 9999 ]] ; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git"
        EGIT_SUBMODULES=( '-*' celt-0.7.0-src celt-0.11.0-src themes/Mumble 3rdparty/rnnoise-src 3rdparty/FindPythonInterpreter )
else
        if [[ "${PV}" == *_pre* ]] ; then
                SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${P}.tar.xz"
        else
                MY_PV="${PV/_/-}"
                MY_P="${PN}-${MY_PV}"
                SRC_URI="https://github.com/mumble-voip/mumble/releases/download/v${MY_PV}/${MY_P}.tar.gz"
                S="${WORKDIR}/${P/_*}.src"
        fi
        KEYWORDS="~amd64 ~x86"
fi

LICENSE="BSD MIT"
SLOT="0"
IUSE="+alsa +dbus debug g15 jack pipewire portaudio pulseaudio multilib nls +rnnoise speech test zeroconf"
RESTRICT="!test? ( test )"

RDEPEND="
        dev-qt/qtcore:5
        dev-qt/qtgui:5
        dev-qt/qtconcurrent:5
        dev-qt/qtnetwork:5[ssl]
        dev-qt/qtsql:5[sqlite]
        dev-qt/qtsvg:5
        dev-qt/qtwidgets:5
        dev-qt/qtxml:5
        dev-libs/poco
        >=dev-libs/protobuf-2.2.0:=
        >=media-libs/libsndfile-1.0.20[-minimal]
        >=media-libs/opus-1.3.1
        >=media-libs/speex-1.2.0
        media-libs/speexdsp
        sys-apps/lsb-release
        x11-libs/libX11
        x11-libs/libXi
        alsa? ( media-libs/alsa-lib )
        dbus? ( dev-qt/qtdbus:5 )
        g15? ( app-misc/g15daemon )
        jack? ( virtual/jack )
        >=dev-libs/openssl-1.0.0b:0=
        portaudio? ( media-libs/portaudio )
        pulseaudio? ( media-sound/pulseaudio )
        pipewire? ( media-video/pipewire )
        speech? ( >=app-accessibility/speech-dispatcher-0.8.0 )
        zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
"
DEPEND="${RDEPEND}
        >=dev-libs/boost-1.41.0
        x11-base/xorg-proto
"
BDEPEND="
        dev-qt/linguist-tools:5
        virtual/pkgconfig
"

src_prepare() {
        # required because of xdg.eclass also providing src_prepare
        cmake_src_prepare
}

src_configure() {

        local mycmakeargs=(
                -Dalsa="$(usex alsa)"
                -Dtests="$(usex test)"
                -Dbundled-celt="ON"
                -Dbundled-opus="OFF"
                -Dbundled-speex="OFF"
                -Ddbus="$(usex dbus)"
                -Dg15="$(usex g15)"
                -Djackaudio="$(usex jack)"
                -Doverlay="OFF"
                -Dportaudio="$(usex portaudio)"
                -Dpipewire="$(usex pipewire)"
                -Dpulseaudio="$(usex pulseaudio)"
                -Drnnoise="$(usex rnnoise)"
                -Dserver="OFF"
                -Dspeechd="$(usex speech)"
                -Dtranslations="$(usex nls)"
                -Dupdate="OFF"
                -Dzeroconf="$(usex zeroconf)"
        )

        cmake_src_configure
}

src_install() {
        cmake_src_install

}

pkg_postinst() {
        xdg_pkg_postinst
        echo
        elog "Visit https://wiki.mumble.info/ for futher configuration instructions."
        echo
}

It works fine for the time being and I'm not missing any crucial features from newer versions.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21635

PostPosted: Fri May 27, 2022 3:31 pm    Post subject: Reply with quote

Assuming you are using openssl-1.1.1o, that line number would be the code:
https://github.com/openssl/openssl/blob/OpenSSL_1_1_1o/crypto/evp/evp_enc.c#L141:
 if (ctx->cipher->flags & EVP_CIPH_CTRL_INIT) {
Your stacktrace says that ctx is not NULL, so ctx->cipher would need to be invalid. Have you reported this crash anywhere other than this thread? If so, where?
Back to top
View user's profile Send private message
Irets
Apprentice
Apprentice


Joined: 17 Dec 2019
Posts: 222

PostPosted: Fri May 27, 2022 5:18 pm    Post subject: Reply with quote

Code:
$ openssl version
OpenSSL 1.1.1o  3 May 2022

Hu wrote:
Have you reported this crash anywhere other than this thread? If so, where?

I haven't. I don't know where else to report it. I thought this was the correct place, as it's ::gentoo software.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum