Subject: mumble: "QSslSocket: cannot resolve <crypto funcs>", Certificate Expiry, segfault

From: Ivan Vilata i Balaguer <[email-masked]>
Date: Sun, 3 Nov 2019 23:04:05 -0500

Hi!  I'm using Mumble 1.2.19 from Guix commit 7f81cce3 on Debian Sid.  On
start, it logs the following messages:

    QSslSocket: cannot resolve CRYPTO_num_locks
    QSslSocket: cannot resolve CRYPTO_set_id_callback
    QSslSocket: cannot resolve CRYPTO_set_locking_callback
    QSslSocket: cannot resolve sk_free
    QSslSocket: cannot resolve sk_num
    QSslSocket: cannot resolve sk_pop_free
    QSslSocket: cannot resolve sk_value
    QSslSocket: cannot resolve SSL_library_init
    QSslSocket: cannot resolve SSL_load_error_strings
    QSslSocket: cannot resolve SSLv3_client_method
    QSslSocket: cannot resolve SSLv23_client_method
    QSslSocket: cannot resolve SSLv3_server_method
    QSslSocket: cannot resolve SSLv23_server_method
    QSslSocket: cannot resolve X509_STORE_CTX_get_chain
    QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
    QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
    QSslSocket: cannot resolve SSLeay
    QSslSocket: cannot call unresolved function CRYPTO_num_locks
    QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
    QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
    QSslSocket: cannot call unresolved function SSL_library_init
    QSslSocket: cannot call unresolved function SSLv23_client_method
    QSslSocket: cannot call unresolved function sk_num

Then it complains about "Certificate Expiry: Your certificate is about to
expire. You need to renew it, or you will no longer be able to connect to
servers you are registered on.".  If I proceed to connect it goes:

    OpenSSL Support: 1 (OpenSSL 1.1.1d  10 Sep 2019)
    Segmentation fault

and dies.  It is curious that `guix package -s openssl` reports version 1.1.1c
instead of 1.1.1d, which matches the Debian system's version of OpenSSL, so
Mumble may be trying to load system libraries instead of Guix's.

If I revert to a previous profile generation with a build of Mumble linked
against glibc 2.28 instead of 2.29, it doesn't print the errors and works
without issues.

Thank you very much!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/