[OpenSIPS-Users] crash / coredump with dispatcher module

Samuel Muller sml at l33.fr
Wed Mar 7 14:34:36 CET 2012


Hey all,

I got this crash when testing proxies availability with the dispatcher module :

$ gdb  /opt/opensips/sbin/opensips core

GNU gdb (GDB) 7.3-debian
This GDB was configured as "x86_64-linux-gnu".
Reading symbols from /opt/opensips/sbin/opensips...done.
[New LWP 11580]

[Thread debugging using libthread_db enabled]
Core was generated by `/opt/opensips/sbin/opensips -P
/opt/opensips/var/run/opensips.pid -m 256 -u sam'.
Program terminated with signal 8, Arithmetic exception.
#0  0x00007f87b9b54513 in ds_select_dst (msg=0x80f988, set=<optimized
out>, alg=0,
    mode=<optimized out>, max_results=<optimized out>) at dispatch.c:1235
1235                i = (i+1)%(idx->nr-1);


in the opensips.cfg :

modparam("dispatcher","list_file","/opt/opensips/etc/opensips/dispatcher.list")
modparam("dispatcher","use_default",1)
modparam("dispatcher","dst_avp","$avp(dp_dst)")
modparam("dispatcher","attrs_avp","$avp(dp_attrs)")
modparam("dispatcher","grp_avp","$avp(dp_grp)")
modparam("dispatcher","cnt_avp","$avp(dp_cnt)")
modparam("dispatcher","hash_pvar","$avp(dp_hash)")
modparam("dispatcher","setid_pvar","$avp(dp_setid)")
modparam("dispatcher","ds_ping_from","sip:edge at lab.com")
modparam("dispatcher","ds_ping_interval",30)
modparam("dispatcher","ds_probing_mode",1)

route {
...
    if (!is_method("REGISTER|MESSAGE")) {
        record_route(";rr=edge");
    }
   if (is_method("REGISTER")) {
        if (!ds_select_dst("1", "0")) {
            ds_mark_dst("p");
            ds_select_dst("2", "0");
        }
    }
    if (is_method("INVITE")) {
        if (!ds_select_dst("3", "0")) {
            ds_mark_dst("p");
            ds_select_dst("4", "0");
        }
    }
    route(RELAY);
    exit;
}


in the dispatcher.list :

1 sip:1.2.3.4:5060
2 sip:1.2.3.5:5060
3 sip:1.2.3.6:5060
4 sip:1.2.3.5:5060

all is running under Debian last stable release + backports.

I would like to know if it's my dispatcher configuration routine
that's not correct, or if it's a module problem ?

thank you,


Samuel MULLER



More information about the Users mailing list