Hello!
we have kamailio 5.2.3 and openssl 1.1.0f.
wss connections incoming to kamailio and outgoing sip connections, after
some time http request check not getting answer from kamailio. Netstat show
increase recieve tcp buffer on connections of kamailio.
We set up script which after not response of http check, run SIGSEGV of
main process of kamailio.
gdb) bt full
#0 0x00007fb779279450 in futex_wait (private=<optimized out>, expected=1,
futex_word=0x7fb6f78cb964) at ../sysdeps/unix/sysv/linux/futex-internal.h:61
__ret = -512
err = <optimized out>
#1 futex_wait_simple (private=<optimized out>, expected=1,
futex_word=0x7fb6f78cb964) at ../sysdeps/nptl/futex-internal.h:135
No locals.
#2 __pthread_rwlock_wrlock_slow (rwlock=0x7fb6f78cb958) at
pthread_rwlock_wrlock.c:67
waitval = 1
result = 0
futex_shared = <optimized out>
#3 0x00007fb77995eee9 in CRYPTO_THREAD_write_lock () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#4 0x00007fb779907896 in ?? () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#5 0x00007fb77990807e in CRYPTO_free_ex_data () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#6 0x00007fb779c65a09 in SSL_free () from
/usr/lib/x86_64-linux-gnu/libssl.so.1.1
No symbol table info available.
#7 0x00007fb777c022d6 in tls_h_tcpconn_clean (c=0x7fb6fbb73d58) at
tls_server.c:655
extra = 0x7fb6fba1a6d0
__func__ = "tls_h_tcpconn_clean"
#8 0x0000559ddff2966f in _tcpconn_free (c=0x7fb6fbb73d58) at
core/tcp_main.c:1339
__func__ = "_tcpconn_free"
#9 0x0000559ddff3c5f7 in tcpconn_put_destroy (tcpconn=0x7fb6fbb73d58) at
core/tcp_main.c:3017
__func__ = "tcpconn_put_destroy"
#10 0x0000559ddff3e0f2 in send_fd_queue_run (q=0x559de0518bc0
<send2child_q>) at core/tcp_main.c:3210
p = 0x7fb77e19e2c8
t = 0x7fb77e19e2c8
__func__ = "send_fd_queue_run"
#11 0x0000559ddff4f61c in tcp_main_loop () at core/tcp_main.c:4548
si = 0x0
r = 10
__func__ = "tcp_main_loop"
#12 0x0000559ddfe4e85d in main_loop () at main.c:1753
i = 3
pid = 0
si = 0x0
si_desc = "udp receiver child=2 sock=127.0.0.1:5060
(127.0.0.1:5060)\000\065\060\066\060)\000\000\000\000\200\000\000\000\000\000\000\000\002\000\000\000\000\006\000\000\000\000\000\000\000O
\254\177\267\177\000\000p\324\067?\375\177\000\000\060\000\000\000\060\000\000\000\020\325\067?\375\177\000\000\360k\255}\267\177\000"
nrprocs = 3
woneinit = 1
__func__ = "main_loop"
#13 0x0000559ddfe554ce in main (argc=13, argv=0x7ffd3f37d7a8) at main.c:2696
cfg_stream = 0x559de1c10010
c = -1
r = 0
tmp = 0x7ffd3f37deba ""
tmp_len = 32765
port = 1060623840
proto = 32695
options = 0x559de01c2a50
":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:Y:"
ret = -1
seed = 33232859
---Type <return> to continue, or q <return> to quit---
rfd = 4
debug_save = 0
debug_flag = 0
dont_fork_cnt = 0
n_lst = 0x0
p = 0xf0b5ff <error: Cannot access memory at address 0xf0b5ff>
st = {st_dev = 19, st_ino = 13222, st_nlink = 2, st_mode = 16832, st_uid =
108, st_gid = 112, __pad0 = 0, st_rdev = 0, st_size = 40, st_blksize =
4096, st_blocks = 0, st_atim = {
tv_sec = 1560780032, tv_nsec = 539855841}, st_mtim = {tv_sec = 1565076521,
tv_nsec = 998570962}, st_ctim = {tv_sec = 1565076521, tv_nsec = 998570962},
__glibc_reserved = {0, 0, 0}}
__func__ = "main"
Maybe our problem correlate with
https://github.com/kamailio/kamailio/issues/1860