[OpenSIPS-Users] segfault in dialog.so

Vlad Patrascu vladp at opensips.org
Fri Nov 8 04:35:04 EST 2019


Hello,

Can you open a ticket on Github and also extract a full backtrace of the 
crash?

Regards,

Vlad Patrascu
OpenSIPS Developer
http://www.opensips-solutions.com

On 11/7/19 10:19 AM, Антон Ершов wrote:
> Hello friends,
> I already wrote about this problem and there was no answer.
> http://lists.opensips.org/pipermail/users/2019-October/041771.html
> I still want to process call profiles in event_route, but opensips 
> falls into error at the same time.
>
> opensips -V
> version: opensips 3.0.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: 3d2bd5318
> main.c compiled on 02:53:35 Nov  7 2019 with gcc 4.8.5
>
> my event_route
>
> event_route[E_DLG_STATE_CHANGED] {
>     xlog("L_INFO", "[$param(callid)] - new state dialog changed 
> $param(new_state) old state $param(old_state) \n");
>
>     cache_raw_query("redis:group3", "HGET callid 
> $param(callid)","$avp(reknum)");
>     if ($avp(reknum) != NULL) {
>         xlog("L_INFO", "[$param(callid)] - get reknum $avp(reknum) \n");
>
> if ( get_dialogs_by_profile("reknumber", $avp(reknum), 
> $avp(dlg_jsons), $avp(callcount)) ) {
>    xlog("L_INFO", "[$param(callid)] - advertising number  $avp(reknum) 
> has $avp(callcount) other calls \n");
> } else {
>    xlog("L_INFO", "[$param(callid)] - this profile does not have 
> active dialogs \n");
>    $avp(callcount) = 0;
> }
>
> switch($param(new_state)) {
>    case 4:
> xlog("L_INFO", "[$param(callid)] - write in REDIS \"callcount 
> $avp(reknum) $avp(callcount) \n");
> if ($avp(reknum) != "" && $avp(callcount) != "") {
>    cache_raw_query("redis:group3","HSET callcount $avp(reknum) 
> $avp(callcount)");
>    cache_raw_query("redis:group3","EXPIRE callconut 360");
>    xlog("L_INFO", "[$param(callid)] - call established. Now on number 
> $avp(reknum) $avp(callcount) calls \n");
> }
> break;
>    case 5:
> xlog("L_INFO", "[$param(callid)] - write in REDIS \"callcount 
> $avp(reknum) $avp(callcount) \n");
> if ($avp(reknum) != "" && $avp(callcount) != "") {
>    cache_raw_query("redis:group3","HSET callcount $avp(reknum) 
> $avp(callcount)");
>    cache_raw_query("redis:group3","EXPIRE callcount 360");
>    xlog("L_INFO", "[$param(callid)] - call end. Now on number 
> $avp(reknum) $avp(callcount) calls \n");
>    cache_raw_query("redis:group3","HDEL callid $param(callid)");
> }
> break;
> }
>     } else {
>         xlog("L_INFO", "[$param(callid)] - reknum vareable is NULL");
>         exit;
>     }
> }
>
> when we try to get a profile of an already dead dialog opensips falls.
> please tell me is it possible to implement what I want or is it worth 
> looking for another solution?
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20191108/667690f8/attachment.html>


More information about the Users mailing list