Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 603368 - dev-erlang/fast_tls:(libressl) : undefined symbol: OPENSSL_cleanup
Summary: dev-erlang/fast_tls:(libressl) : undefined symbol: OPENSSL_cleanup
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Amadeusz Żołnowski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-21 19:31 UTC by Toralf Förster
Modified: 2017-01-04 19:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2016-12-21 19:31:00 UTC
whiks 1.0.3 plays well with dev-libs/libressl-2.5.0, I get with fast_tls-1.0.6 (and .7 too) :

mr-fox jabber # cat error.log 
2016-12-21 20:28:22.142 [error] <0.107.0> failed to load TLS driver: undefined symbol: OPENSSL_cleanup
2016-12-21 20:28:22.142 [error] <0.107.0> CRASH REPORT Process <0.107.0> with 0 neighbours exited with reason: {open_error,-10} in gen_server:init_it/6 line 344
2016-12-21 20:28:22.145 [error] <0.106.0> Supervisor fast_tls_sup had child fast_tls started with fast_tls:start_link() at undefined exit with reason {open_error,-10} in context start_error
2016-12-21 20:28:22.145 [critical] <0.38.0>@ejabberd:exit_or_halt:133 failed to start application 'fast_tls': {error,
                                         {{shutdown,
                                           {failed_to_start_child,fast_tls,
                                            {open_error,-10}}},
                                          {fast_tls_app,start,[normal,[]]}}}
2016-12-21 20:28:22.145 [error] <0.104.0> CRASH REPORT Process <0.104.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,fast_tls,{open_error,-10}}},{fast_tls_app,start,[normal,[]]}} in application_master:init/4 line 134




mr-fox jabber # emerge --info fast_tls
Portage 2.3.0 (python 3.4.5-final-0, hardened/linux/amd64, gcc-4.9.4, glibc-2.22-r4, 4.8.15-hardened x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.8.15-hardened-x86_64-Intel-R-_Core-TM-_i7-3930K_CPU_@_3.20GHz-with-gentoo-2.3
KiB Mem:    65285560 total,   3131776 free
KiB Swap:   67108860 total,  67097560 free
Timestamp of repository gentoo: Wed, 21 Dec 2016 19:03:04 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.22.3_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: 1

local
    location: /usr/local/portage
    masters: gentoo
    priority: 2

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/var/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--verbose-conflicts --keep-going=y --nospinner --tree --quiet-build"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs compress-build-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://mirror.netcologne.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j10"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cxx dnssec dri gdbm hardened iconv ipv6 justify libressl logrotate mbox mmx mmxext mod_irc mod_muc mod_statsdx modules multilib ncurses nls nptl openmp pam pax_kernel pcre pie png pwquality readline scrypt seccomp session sse sse2 sse3 sse4 sse4.1 sse4.2 ssl ssp tcpd threads tor-hardening tracepath traceroute truetype unicode urandom vim-syntax xattr xtpax zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" 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="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="libressl" 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" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

dev-erlang/fast_tls-1.0.7::gentoo was built with the following:
USE="libressl" ABI_X86="64"
Comment 1 Toralf Förster gentoo-dev 2016-12-21 19:32:18 UTC
just a little more log spam :



mr-fox jabber # cat crash.log 
2016-12-21 20:28:22 =ERROR REPORT====
failed to load TLS driver: undefined symbol: OPENSSL_cleanup
2016-12-21 20:28:22 =CRASH REPORT====
  crasher:
    initial call: fast_tls:init/1
    pid: <0.107.0>
    registered_name: []
    exception exit: {{open_error,-10},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,344}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
    ancestors: [fast_tls_sup,<0.105.0>]
    messages: []
    links: [<0.106.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 610
    stack_size: 27
    reductions: 493
  neighbours:
2016-12-21 20:28:22 =SUPERVISOR REPORT====
     Supervisor: {local,fast_tls_sup}
     Context:    start_error
     Reason:     {open_error,-10}
     Offender:   [{pid,undefined},{id,fast_tls},{mfargs,{fast_tls,start_link,[]}},{restart_type,permanent},{shutdown,brutal_kill},{child_type,worker}]

2016-12-21 20:28:22 =CRASH REPORT====
  crasher:
    initial call: application_master:init/4
    pid: <0.104.0>
    registered_name: []
    exception exit: {{{shutdown,{failed_to_start_child,fast_tls,{open_error,-10}}},{fast_tls_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}
    ancestors: [<0.103.0>]
    messages: [{'EXIT',<0.105.0>,normal}]
    links: [<0.103.0>,<0.7.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 376
    stack_size: 27
    reductions: 115
  neighbours:
Comment 2 Toralf Förster gentoo-dev 2016-12-21 19:33:02 UTC
hah . and the test gave :

ERROR: test
ERROR: dev-erlang/fast_tls-1.0.7::gentoo failed (test phase):
  rebar eunit failed
Comment 3 Toralf Förster gentoo-dev 2016-12-22 09:22:03 UTC
Hehe, an "ebuild <foo> test" gives the culprit: implicit function declaration:

>>> Compiling source in /var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6 ...
==> fast_tls-1.0.6 (compile)
Compiled src/fast_tls_app.erl
Compiled src/fast_tls_sup.erl
Compiled src/fast_tls.erl
Compiled src/p1_sha.erl
INFO:  sh info:
        cwd: "/var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6"
        cmd: cc -c -O2 -pipe -march=native -DHAS_ERTS_EXIT -O2 -pipe -march=native -Wall -g -Wall -fPIC -MMD  -I"/usr/lib64/erlang/lib/erl_interface-3.8.2/include" -I"/usr/lib64/erlang/erts-7.3/include"   c_src/fast_tls_drv.c -o c_src/fast_tls_drv.o
Compiling c_src/fast_tls_drv.c
c_src/fast_tls_drv.c: In function ‘tls_drv_finish’:
c_src/fast_tls_drv.c:350:5: warning: implicit declaration of function ‘OPENSSL_cleanup’ [-Wimplicit-function-declaration]
     OPENSSL_cleanup();
     ^
c_src/fast_tls_drv.c: In function ‘setup_dh’:
c_src/fast_tls_drv.c:470:8: warning: implicit declaration of function ‘DH_set0_pqg’ [-Wimplicit-function-declaration]
        DH_set0_pqg(dh, dh_p, NULL, dh_g);
        ^
c_src/fast_tls_drv.c: In function ‘driver_init’:
c_src/fast_tls_drv.c:956:29: warning: passing argument 1 of ‘CRYPTO_set_mem_functions’ from incompatible pointer type
    CRYPTO_set_mem_functions(our_alloc, our_realloc, our_free);
                             ^
In file included from /usr/include/openssl/bio.h:69:0,
                 from /usr/include/openssl/err.h:122,
                 from c_src/fast_tls_drv.c:21:
/usr/include/openssl/crypto.h:412:5: note: expected ‘void * (*)(size_t)’ but argument is of type ‘void * (*)(size_t,  const char *, int)’
 int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *));
     ^
c_src/fast_tls_drv.c:956:40: warning: passing argument 2 of ‘CRYPTO_set_mem_functions’ from incompatible pointer type
    CRYPTO_set_mem_functions(our_alloc, our_realloc, our_free);
                                        ^
In file included from /usr/include/openssl/bio.h:69:0,
                 from /usr/include/openssl/err.h:122,
                 from c_src/fast_tls_drv.c:21:
/usr/include/openssl/crypto.h:412:5: note: expected ‘void * (*)(void *, size_t)’ but argument is of type ‘void * (*)(void *, size_t,  const char *, int)’
 int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *));
     ^
c_src/fast_tls_drv.c:956:53: warning: passing argument 3 of ‘CRYPTO_set_mem_functions’ from incompatible pointer type
    CRYPTO_set_mem_functions(our_alloc, our_realloc, our_free);
                                                     ^
In file included from /usr/include/openssl/bio.h:69:0,
                 from /usr/include/openssl/err.h:122,
                 from c_src/fast_tls_drv.c:21:
/usr/include/openssl/crypto.h:412:5: note: expected ‘void (*)(void *)’ but argument is of type ‘void (*)(void *, const char *, int)’
 int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *));
     ^
INFO:  sh info:
        cwd: "/var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6"
        cmd: cc -c -O2 -pipe -march=native -DHAS_ERTS_EXIT -O2 -pipe -march=native -Wall -g -Wall -fPIC -MMD  -I"/usr/lib64/erlang/lib/erl_interface-3.8.2/include" -I"/usr/lib64/erlang/erts-7.3/include"   c_src/p1_sha.c -o c_src/p1_sha.o
Compiling c_src/p1_sha.c
INFO:  Using specs [{spec,drv,"priv/lib/fast_tls_drv.so",
                          ["c_src/fast_tls_drv.c"],
                          ["c_src/fast_tls_drv.o"],
                          []},
                    {spec,drv,"priv/lib/p1_sha.so",
                          ["c_src/p1_sha.c"],
                          ["c_src/p1_sha.o"],
                          []}]
INFO:  sh info:
        cwd: "/var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6"
        cmd: cc c_src/fast_tls_drv.o -Wl,-O1 -Wl,--as-needed -lssl -lcrypto -Wl,-O1 -Wl,--as-needed -shared  -L"/usr/lib64/erlang/lib/erl_interface-3.8.2/lib" -lerl_interface -lei -o priv/lib/fast_tls_drv.so
INFO:  sh info:
        cwd: "/var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6"
        cmd: cc c_src/p1_sha.o -Wl,-O1 -Wl,--as-needed -lssl -lcrypto -Wl,-O1 -Wl,--as-needed -shared  -L"/usr/lib64/erlang/lib/erl_interface-3.8.2/lib" -lerl_interface -lei -o priv/lib/p1_sha.so
INFO:  No app_vars_file defined.
>>> Source compiled.
>>> Test phase: dev-erlang/fast_tls-1.0.6
==> fast_tls-1.0.6 (eunit)
INFO:  sh info:
        cwd: "/var/tmp/portage/dev-erlang/fast_tls-1.0.6/work/fast_tls-1.0.6"
        cmd: cp -R src/fast_tls.erl src/fast_tls_app.erl src/fast_tls_sup.erl src/p1_sha.erl ".eunit"
Compiled src/fast_tls_app.erl
Comment 4 Toralf Förster gentoo-dev 2016-12-22 14:27:25 UTC
solved upstream in 1.0.9 :

https://github.com/processone/fast_tls/issues/13#issuecomment-268807406
Comment 5 Amadeusz Żołnowski (RETIRED) gentoo-dev 2016-12-30 23:38:43 UTC
fast_tls-1.0.9 is in the tree. Please test.
Comment 6 Toralf Förster gentoo-dev 2016-12-31 09:23:11 UTC
(In reply to Amadeusz Żołnowski from comment #5)
oh, I run it since a week - works fine
Comment 7 Toralf Förster gentoo-dev 2016-12-31 10:18:04 UTC
FWIW I lost time in testing the new modules :

b/c a "ejabberd restart" let ejabber crash with core dumps in /var/log/jabber due to the fact that a previous instance of "epmd" was still running.
IMO restarting ejabberd should restart that thingy too, or ?
Comment 8 Amadeusz Żołnowski (RETIRED) gentoo-dev 2017-01-04 19:59:59 UTC
Well, not necessarily. If it's a restart because of upgrade - then yes, but if it's restart because of configuration change - no. It would make sense to add a message to each dev-erlang package that epmd should be restarted.