# [SOLVED] Mumble causes libcrypto.so segfault

## fberger

Trying to connect my Mumble client (media-sound/mumble-1.2.6) to a Murmur server (Murmur 1.3.0 static build, OpenSSL 1.0.1m) causes the client to segfault.

dmesg prints

```
[88025.909978] ServerHandler[15143]: segfault at 28 ip b745de4a sp b3de892c error 4 in libcrypto.so.1.0.0[b73b6000+1af000]
```

Client-side OpenSSL is dev-libs/openssl-1.0.2a.

Just checked: seems to happen with every server I try to connect to.

"error 4" does not seem to be completely unheard of:

deluged segfaults within few minutes after start

curl segfaults in libcrypto

However I have not yet found a solution to the problem at hand.

Any idea how to track and fix this?

[UPDATE] Solution:

After upgrading to current OpenSSL (openssl-1.0.2a at time of writing), qtcore must be rebuilt.Last edited by fberger on Fri Apr 10, 2015 10:10 am; edited 1 time in total

----------

## eccerr0r

usually software shouldn't segfault, a lot of these segfaults are caused by bad hardware.

Did you try the stable version of openssl on the client?

Is mumble-1.2.8 any better?

----------

## Hu

What is the output of emerge --info media-sound/mumble dev-libs/openssl ; eix -e media-sound/mumble -o -e dev-libs/openssl?

----------

## fberger

 *eccerr0r wrote:*   

> Did you try the stable version of openssl on the client?

 

Yes, I tried that first, that's where it happened in the first place, so I tried unstable.

 *Quote:*   

> Is mumble-1.2.8 any better?

 

Just tested - nope, it isn't, same error.

 *Hu wrote:*   

> What is the output of emerge --info media-sound/mumble dev-libs/openssl ; eix -e media-sound/mumble -o -e dev-libs/openssl?

 

Here we go:

```
$ LC_ALL="C" emerge --info media-sound/mumble dev-libs/openssl

Portage 2.2.14 (python 2.7.5-final-0, default/linux/x86/13.0, gcc-4.8.3, glibc-2.19-r1, 3.18.0-ck i686)

=================================================================

                         System Settings

=================================================================

System uname: Linux-3.18.0-ck-i686-Intel-R-_Core-TM-_i5_CPU_M_520_@_2.40GHz-with-gentoo-2.2

KiB Mem:     3556908 total,   2325776 free

KiB Swap:    1951860 total,   1946536 free

Timestamp of tree: Wed, 25 Mar 2015 17:45:01 +0000

ld GNU ld (GNU Binutils) 2.23.2

app-shells/bash:          4.2_p37

dev-java/java-config:     2.2.0

dev-lang/perl:            5.12.4-r1

dev-lang/python:          2.6.8-r3, 2.7.5-r4, 3.1.4-r4, 3.3.3

dev-util/cmake:           2.8.12.2-r1

dev-util/pkgconfig:       0.28-r1

sys-apps/baselayout:      2.2

sys-apps/openrc:          0.13.9

sys-apps/sandbox:         2.6-r1

sys-devel/autoconf:       2.13::<unknown repository>, 2.69

sys-devel/automake:       1.4_p6::<unknown repository>, 1.5::<unknown repository>, 1.6.3::<unknown repository>, 1.7.9-r1::<unknown repository>, 1.8.5-r3::<unknown repository>, 1.9.6-r2::<unknown repository>, 1.10.2, 1.11.1, 1.12.6, 1.13.4

sys-devel/binutils:       2.23.2

sys-devel/gcc:            3.4.6-r2, 4.3.2-r3, 4.4.5, 4.6.3, 4.8.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4.4

sys-devel/make:           3.82-r4

sys-kernel/linux-headers: 3.7 (virtual/os-headers)

sys-libs/glibc:           2.19-r1

Repositories: gentoo haskell moonrise bitcoin dberkholz gamerlay sunrise dotnet java proaudio x-portage

ACCEPT_KEYWORDS="x86"

ACCEPT_LICENSE="* -@EULA"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -march=i686 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"

FFLAGS="-O2 -march=i686 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="de_DE.utf8"

LC_ALL="C"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/haskell /var/lib/layman/moonrise /var/lib/layman/bitcoin /var/lib/layman/dberkholz /var/lib/layman/gamerlay /var/lib/layman/sunrise /var/lib/layman/dotnet /var/lib/layman/java /var/lib/layman/pro-audio /usr/local/portage"

SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"

USE="X a52 aac aalib acl alsa apache2 apm berkdb bzip2 cairo cddb cdparanoia cli cracklib crypt cxx dbus dri dssi dvd expat ffmpeg fftw flac fluidsynth fortran gdbm gphoto2 gtk gtk2 hbci iconv ipv6 jack jpeg kqemu ladspa lash lcms libav matroska mmx modules mp3 mpeg mplayer ncurses nls nptl ogg opengl openmp opus osc pam pcre pdf png portaudio python qt3support readline sdl session speex sqlite sse sse2 sse3 ssl ssse3 svg tcpd theora threads tidy tiff unicode unix98 vhosts vorbis win32codecs x86 xcomposite xft xml xv xvid zlib" ABI_X86="32" ALSA_CARDS="indigoio snd_hda_intel" APACHE2_MODULES="authz_host auth_basic authn_file auth_dbm auth_anon auth_digest alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate filter mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 sse3 ssse3 mmxext sse4_1 sse4_2 popcnt aes" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386 m68k ppc ppc64 x86_64" QEMU_USER_TARGETS="i386 m68k ppc ppc64 x86_64" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

USE_PYTHON="2.7 3.3"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================

                        Package Settings

=================================================================

media-sound/mumble-1.2.8 was built with the following:

USE="alsa dbus portaudio -debug -g15 -oss -pch -pulseaudio -speech -zeroconf"

dev-libs/openssl-0.9.8y was built with the following:

USE="sse2 zlib -bindist -gmp -kerberos -test"

CFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-strict-aliasing -Wa,--noexecstack"

CXXFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-strict-aliasing -Wa,--noexecstack"

dev-libs/openssl-1.0.2a was built with the following:

USE="asm tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -static-libs -test -vanilla" CPU_FLAGS_X86="sse2"

CFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-strict-aliasing -Wa,--noexecstack"

CXXFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-strict-aliasing -Wa,--noexecstack"
```

```
$ LC_ALL="C" eix -e media-sound/mumble -o -e dev-libs/openssl

[D] dev-libs/openssl

     Available versions:  

     (0.9.8) 0.9.8y

     (0)    1.0.0j *1.0.1e 1.0.1e-r1 (~)1.0.1e-r2 (~)1.0.1e-r3 1.0.1f

       {bindist gmp kerberos rfc3779 sse2 static-libs test +tls-heartbeat vanilla zlib}

     Installed versions:  0.9.8y(0.9.8)(12:14:08 12/20/13)(sse2 zlib -bindist -gmp -kerberos -test) 1.0.2a^d(21:39:14 03/30/15)(asm tls-heartbeat zlib -bindist -gmp -kerberos -rfc3779 -sctp -static-libs -test -vanilla ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 -64 -x32" CPU_FLAGS_X86="sse2")

     Homepage:            http://www.openssl.org/

     Description:         full-strength general purpose cryptography library (including SSL and TLS)

[D] media-sound/mumble

     Available versions:  1.2.4 {+alsa +dbus debug g15 oss pch portaudio pulseaudio speech zeroconf}

     Installed versions:  1.2.8(09:44:57 04/03/15)(alsa dbus portaudio -debug -g15 -oss -pch -pulseaudio -speech -zeroconf)

     Homepage:            http://mumble.sourceforge.net/

     Description:         Mumble is an open source, low-latency, high quality voice chat software

Found 2 matches.
```

----------

## fberger

I made a debug build of mumble. While I do not have a stack trace yet - I'll have to figure out how that works - I now get an error message on stdout:

```
OpenSSL Support: 1 (OpenSSL 1.0.2a 19 Mar 2015)

No ciphers of at least 128 bit found
```

Doing a web search on that now.

----------

## fberger

There are hints that this might be an Qt issue, and that rebuilding qtcore, which depends on openssl, might fix this.

Gentoo User: Mumble doesn't work anymore

Bug 332245 - media-sound/mumble-1.2.2 doesn't start

----------

## fberger

Rebuilding qtcore fixed it. I get a complaint about the server's self-signed certificate, but after fixing that everything works.

----------

