[OpenSIPS-Users] crash / coredump with dispatcher module

Bogdan-Andrei Iancu bogdan at opensips.org
Tue Mar 13 18:14:22 CET 2012


Ok, that's the info I was looking for :)..

Looking at that group, should I understand you have only one destination 
in there, while having the  "use_default" on ? This makes a bit of none 
sense - the group has only the default destination (to be used in case 
of failure), but no regular destination ??

Anyhow, there is a bug there, but I want to understand your setting, to 
be sure that the fix will be the right one ;)

Thanks and regards,
Bogdan

On 03/13/2012 04:51 PM, Samuel Muller wrote:
> oups, sorry ...
>
> (gdb) p *idx
> $1 = {id = 1, nr = 1, last = 0, weight_sum = 0, dlist = 
> 0x7f867d60b458, next = 0x0}
>
> ;)
>
> .Sam.
>
> Samuel MULLER
>
>
> On Tue, Mar 13, 2012 at 3:40 PM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>     Hi Samuel,
>
>     Print please "*idx" and not only "idx" - I need its content ;)
>
>     Regards,
>     Bogdan
>
>
>     On 03/13/2012 04:35 PM, Samuel Muller wrote:
>>     Hello Bogdan,
>>
>>     nice to see you again !
>>
>>     here the stuff :
>>
>>     [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  0x00007f26f086c513 in ds_select_dst (msg=0x80ebe8,
>>     set=<optimized out>, alg=0, mode=<optimized out>,
>>         max_results=<optimized out>) at dispatch.c:1235
>>     1235                i = (i+1)%(idx->nr-1);
>>
>>     (gdb) p i
>>     $1 = 0
>>
>>     (gdb) p idx
>>     $2 = (ds_set_p) 0x7f26dee90350
>>
>>     (gdb) l
>>     1230
>>     1231        i=ds_id;
>>     1232        while (
>>     idx->dlist[i].flags&(DS_INACTIVE_DST|DS_PROBING_DST) )
>>     1233        {
>>     1234            if(ds_use_default!=0)
>>     1235                i = (i+1)%(idx->nr-1);
>>     1236            else
>>     1237                i = (i+1)%idx->nr;
>>     1238            if(i==ds_id)
>>     1239            {
>>
>>
>>     I re-tested with a few modifications, like changing IPs in the
>>     dispatcher list file, or into the routing logic ("do it simple
>>     like in the docs examples"), the same problems still happens :/
>>
>>     here's the corefile if needed :
>>     http://public.l33.fr/corefile.opensips.tar.gz
>>
>>
>>     Best regards,
>>
>>     Samuel MULLER
>>
>>
>>
>>     On Tue, Mar 13, 2012 at 2:51 PM, Bogdan-Andrei Iancu
>>     <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>>
>>         Hello Samuel,
>>
>>         In gdb, could you please print the '*idx' and 'i' variables ?
>>
>>         Thanks and regards,
>>         Bogdan
>>
>>
>>
>>
>>         On 03/07/2012 03:34 PM, Samuel Muller wrote:
>>
>>             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
>>             <mailto:sip%3Aedge 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 <http://1.2.3.4:5060>
>>             2 sip:1.2.3.5:5060 <http://1.2.3.5:5060>
>>             3 sip:1.2.3.6:5060 <http://1.2.3.6:5060>
>>             4 sip:1.2.3.5:5060 <http://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
>>
>>             _______________________________________________
>>             Users mailing list
>>             Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>             http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>>         -- 
>>         Bogdan-Andrei Iancu
>>         OpenSIPS Founder and Developer
>>         http://www.opensips-solutions.com
>>
>>
>
>
>     -- 
>     Bogdan-Andrei Iancu
>     OpenSIPS Founder and Developer
>     http://www.opensips-solutions.com
>
>


-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120313/28cd50a0/attachment-0001.htm>


More information about the Users mailing list