Open telematico opened 2 weeks ago
description updated with two similar bt from 2 different core files
Tested with last 3.4 revision from git and still have a segfault.
version: opensips 3.4.6 (x86_64/linux)
flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: 26e9a75d2
main.c compiled on with gcc 10
This is a new paste with the backtrace, because it seems to break freeing resaources, not in the lock. https://pastebin.com/5Qspb2Kz
#7 rtp_copy_ctx_free (copy_ctx=0x0) at rtp_relay_ctx.c:244
__FUNCTION__ = "\211|$\030D\211t$\020L\215E\004L\211D$\b"
#8 rtp_relay_ctx_free (ctx=0x7f40dc8521c0) at rtp_relay_ctx.c:283
it = 0x20
safe = 0x7f40dcdcb0b8
__FUNCTION__ = "l$@L\211\357\350E&\376\377H\213-F\003\001\000H"
the error seems to be caused in the same situation, after a log message:
WARNING:dialog:log_next_state_dlg: bogus event 8 in state 5 for dlg
OpenSIPS version you are running
Crash Core Dump
https://pastebin.com/kjVFEp7i https://pastebin.com/UUGtPYP2
Describe the traffic that generated the bug I happens after a race condition (200 OK VS CANCEL) when using rtp_relay module
When my B2BUA receives the 200 OK (after sending the cancel, of course) It tries to re-invite the call. The dialog in Opensips was ended (because the cancel) and, of course is a bogus situation. I tried delaying dialog deletion using parameters: modparam("dialog", "delete_delay", 10) modparam("dialog", "race_condition_timeout", 5)
but is still the same.
To Reproduce
You need to produce an event in a dialog that is in state 5, this dialog should have rtp_relay module active (I use it with RTPengine)
Relevant System Logs
OS/environment information
Additional context