[OpenSIPS-Devel] Crash when using drouting module.
Sergio Gutierrez
saguti at gmail.com
Wed Mar 4 18:26:28 CET 2009
Hi Bogdan.
The problem still presists.
This is the backtrace; I modified the code for not calling next_gw after
do_routing, although it looks like it is not executing after do_routing.
#0 0xff198a08 in _ndoprnt () from
/lib/libc.so.1
(gdb)
bt
#0 0xff198a08 in _ndoprnt () from /lib/libc.so.1
#1 0xff19ca28 in vfprintf () from /lib/libc.so.1
#2 0x000265ac in dprint (format=0x1216d0 "params (%p, %lu), called from %s:
%s(%d)\n") at dprint.c:85
#3 0x0009ff30 in qm_malloc (qm=0xfc800000, size=12, file=0x1207c8
"usr_avp.c", func=0xf5858 "add_avp", line=116) at mem/q_malloc.c:362
#4 0x0009b3b8 in add_avp (flags=0, name={n = 1, s = {s = 0x1 <Address 0x1
out of bounds>, len = 0}}, val=
{n = 1, s = {s = 0x1 <Address 0x1 out of bounds>, len = 0}}) at
mem/shm_mem.h:148
#5 0x00052b88 in pv_set_avp (msg=0x16d000, param=0xff400ad0, op=50,
val=0xff400b88) at pvar.c:1735
#6 0x000190ac in do_assign (msg=0x1a8618, a=0x1a1a70) at action.c:234
#7 0x000198f4 in do_action (a=0x1a1a70, msg=0x1a8618) at action.c:1067
#8 0x0001d0fc in run_action_list (a=0x1a1a70, msg=0x1a8618) at action.c:139
#9 0x0001d3d8 in run_top_route (a=0x1a1938, msg=0x1a8618) at action.c:119
#10 0xfebccd38 in do_routing (msg=0x1a8618, drg=0x5e8) at drouting.c:743
#11 0x0001af34 in do_action (a=0x1a1c60, msg=0x1a8618) at action.c:961
#12 0x0001d0fc in run_action_list (a=0x1a1c60, msg=0x1a8618) at action.c:139
#13 0x0001d3d8 in run_top_route (a=0x1a1938, msg=0x1a8618) at action.c:119
Regards.
Sergio
On Wed, Mar 4, 2009 at 12:08 PM, Bogdan-Andrei Iancu <bogdan at voice-system.ro
> wrote:
> Hi Sergio,
>
> Please update and try again.
>
> Regards,
> Bogdan
>
>
> Sergio Gutierrez wrote:
>
>> Hi Bogdan.
>>
>> I will test as you suggest.
>>
>> The error generated a core; the backtrace is as follows.
>>
>> #0 0xff1c6770 in _write () from /lib/libc.so.1
>> #1 0xff1aa828 in _fwrite_unlocked () from /lib/libc.so.1
>> #2 0xff198834 in _dowrite () from /lib/libc.so.1
>> #3 0xff19b2c8 in _ndoprnt () from /lib/libc.so.1
>> #4 0xff19ca28 in vfprintf () from /lib/libc.so.1
>> #5 0x000265ac in dprint (format=0xfebda820 "%s [%d] DBG:drouting:%s: --->
>> fill = %s\n") at dprint.c:85
>> #6 0xfebcff34 in ac_tm_fill (_atp=0x488, _tm=0x6efa) at
>> ../../mem/../mem/../dprint.h:127
>> #7 0xfebcffcc in ac_tm_set_time (_atp=0xff400f38, _t=1236107539) at
>> dr_time.c:147
>> #8 0xfebd3e94 in get_prefix (ptree=0xfc9a1530, prefix=0x15d1f8, rgid=1)
>> at prefix_tree.c:62
>> #9 0xfebcb8a4 in do_routing (msg=0x1a8ef0, drg=0x0) at drouting.c:729
>> #10 0x0001af34 in do_action (a=0x1a1c60, msg=0x1a8ef0) at action.c:961
>> #11 0x0001d0fc in run_action_list (a=0x1a1c60, msg=0x1a8ef0) at
>> action.c:139
>> #12 0x0001d3d8 in run_top_route (a=0x1a1938, msg=0x1a8ef0) at action.c:119
>> #13 0xfebccd78 in do_routing (msg=0x1a8ef0, drg=0x5f4) at drouting.c:743
>> #14 0x0001af34 in do_action (a=0x1a1c60, msg=0x1a8ef0) at action.c:961
>> #15 0x0001d0fc in run_action_list (a=0x1a1c60, msg=0x1a8ef0) at
>> action.c:139
>> #16 0x0001d3d8 in run_top_route (a=0x1a1938, msg=0x1a8ef0) at action.c:119
>>
>> The last 4 lines are repeated a lot of times.
>>
>> Regards.
>>
>> Sergio.
>>
>> On Wed, Mar 4, 2009 at 4:45 AM, Bogdan-Andrei Iancu <
>> bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>>
>> Hi Sergio,
>>
>> First, do you get a core file or some indication about the crash?
>>
>> Secondly, the do_routing() function is already populating the RURI
>> with the first destination, so no need to call use_next_gw() after it.
>>
>> Regards,
>> Bogdan
>>
>> Sergio Gutierrez wrote:
>>
>> Hello to all members.
>>
>> I am facing some problems trying to use drouting module.
>> In my case, OpenSIPS is going to work just as proxy, to
>> forward inbound calls to several IP/PBX which handle blocks of
>> numeration identified by ther DID's
>>
>> My setup is following:
>>
>>
>> Opensips script:
>> ...
>>
>> #Route to handle inbound routes
>> route[1] {
>> # for INVITEs enable some additional helper routes
>> if (is_method("INVITE")) {
>> t_on_branch("2");
>> t_on_reply("2");
>> t_on_failure("1");
>> }
>>
>> $avp(i:1)=1;
>> do_routing("$avp(i:1)");
>> xlog("L_ERR", "Listo drouting\n\n\n\n");
>> if(use_next_gw())
>> {
>> if (!t_relay()) {
>> sl_reply_error();
>> };
>> exit;
>> }
>> else
>> {
>> sl_send_reply("503", "No destination available");
>> exit;
>> };
>> }
>>
>>
>> - Drouting tables:
>> mysql> select * from dr_rules;
>>
>> +--------+---------+--------+-----------------+----------+---------+--------+--------------------+
>> | ruleid | groupid | prefix | timerec | priority |
>> routeid | gwlist | description |
>>
>> +--------+---------+--------+-----------------+----------+---------+--------+--------------------+
>> | 1 | 1 | 403000 | 20090101T000000 | 0 |
>> 1 | 1 | Test Rule |
>>
>> +--------+---------+--------+-----------------+----------+---------+--------+--------------------+
>> 1 row in set (0.00 sec)
>>
>> mysql> select * from dr_gateways;
>>
>> +------+------+----------------+-------+------------+-------+-------------------+
>> | gwid | type | address | strip | pri_prefix | attrs |
>> description |
>>
>> +------+------+----------------+-------+------------+-------+-------------------+
>> | 1 | 10 | 192.168.10.10 | 0 | | NULL |
>> Test GW |
>>
>> +------+------+----------------+-------+------------+-------+-------------------+
>>
>>
>> Now, when I dial a call, I got the following output in log:
>>
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>> Mar 4 00:05:17 [27497] DBG:drouting:do_routing: using dr group 1
>> Mar 4 00:05:17 [27497] DBG:drouting:internal_check_rt: found
>> rgid 1 (rule list fc9a1608)
>> Mar 4 00:05:17 [27497] DBG:drouting:ac_tm_fill: ---> fill =
>> Wed Mar 4 00:05:17 2009
>>
>>
>> This log appears until OpenSIPS crashes.
>>
>> Thanks in advance for all your help.
>>
>> -- Sergio.
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at lists.opensips.org <mailto:Devel at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
>>
>>
>>
>>
>>
>> --
>> Sergio Gutiérrez
>>
>
>
--
Sergio Gutiérrez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/devel/attachments/20090304/2133b0c8/attachment-0001.htm
More information about the Devel
mailing list