OpenSIPS / opensips

OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms.
https://opensips.org
Other
1.28k stars 581 forks source link

[CRASH] Opensips 3.4.1 crash #3207

Closed williamjing1984 closed 1 year ago

williamjing1984 commented 1 year ago

OpenSIPS version you are running

opensips -V
version: opensips 3.4.1 (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: 3a7a2bdfb
main.c compiled on  with gcc 11

Crash Core Dump https://drive.google.com/file/d/1TMC5ev-7Ct8I50bGTxYr869JJ6p2XRHT/view?usp=sharing https://drive.google.com/file/d/1iwmhctG34jE0IKR1V26t1qoxD0NHwcTl/view?usp=sharing

Describe the traffic that generated the bug We tried to upgrade from version 2.4 to 3.4. It's a two nodes cluster with anycast setup. When more and more calls hits opensips, it keeps crashing.

To Reproduce Unknown

Relevant System Logs

/usr/sbin/opensips[85828]: INFO: Registration successful Call-ID=-DW29bT2yUF0v5FcAmRqtQ.. /usr/sbin/opensips[85828]: CRITICAL:core:sig_usr: segfault in process pid: 85828, id: 9 /usr/sbin/opensips[105890]: INFO:dns_cache:put_dnscache_value: putting key [dns_record] with value [#002] ttl = 60 /usr/sbin/opensips[105890]: CRITICAL:core:sig_usr: segfault in process pid: 105890, id: 10 **OS/environment information** - Operating System: Ubuntu 22 - OpenSIPS installation: apt repo
bogdan-iancu commented 1 year ago

Hi @williamjing1984 , the links do not have the right permissions to be accessed by anyone :( . Also be sure you post only the backtrace, not the actual core file.

williamjing1984 commented 1 year ago

Hi

I have updated the link.

Please check again. Thanks.

bogdan-iancu commented 1 year ago

Both backtraces show a crash while trying to do tracing for what seems to be a re-INVITE.

When and how do you trigger tracing in your script ?

williamjing1984 commented 1 year ago

modparam("tracer", "trace_id", "[tid]uri=hep:hep_dst") modparam("proto_hep", "hep_id", "[hep_dst] production-hep-server-url:port-number;transport=udp;version=3")

then basically use below when we want to send the dialog or transaction to our homer7 back-end server in the opensips.cfg trace("tid", "d","sip|xlog" ,""); trace("tid", "t","sip|xlog" ,"");

We did notice there are some warning logs like WARNING:tracer:trace_w: can't trace dialog! Will try to trace transaction

Does it mean we need to use trace("tid", "t","sip|xlog" ,""); instead of "d" for the places where dialog is not available?

And Is below the only change from version 2.4 to 3.4 re the sip_trace module? Because it works in version 2.4. https://www.opensips.org/Documentation/Migration-2-4-0-to-3-0-0#toc23

github-actions[bot] commented 1 year ago

Any updates here? No progress has been made in the last 15 days, marking as stale. Will close this issue if no further updates are made in the next 30 days.

github-actions[bot] commented 1 year ago

Marking as closed due to lack of progress for more than 30 days. If this issue is still relevant, please re-open it with additional details.