[OpenSIPS-Devel] drouting crash

Антон Загорский a.zagorskiy at oyster-telecom.ru
Thu Mar 31 13:40:00 CEST 2011


Hi.

I'm getting drouting module's crash during do_routing call on openSIPS from
svn opensips_1_6 branch revision 7849 (latest)

Cfg snippet:

xlog("*** route[invite]: call do_routing() with RURI [$ru]");
if (!do_routing("1"))
{
	xlog("*** !!! route[invite]: No rules found for do_routing().
STOP");
	send_reply("503", "Drouting");
	exit;
 };

 xlog("*** rout[invite]: do_routing() passed");



Log output:

[20803]: *** route[invite]: call do_routing() with RURI
[sip:999889112599077 at org1.tel.oyster.su]
[20803]: DBG:drouting:do_routing: using dr group 1
[20803]: DBG:drouting:internal_check_rt: found rgid 1 (rule list 0xb6163f80)
[20786]: INFO:core:handle_sigs: child process 20803 exited by a signal 11
[20786]: INFO:core:handle_sigs: core was generated
[20786]: INFO:core:handle_sigs: terminating due to SIGCHLD
[20809]: INFO:core:sig_usr: signal 15 received
[20801]: INFO:core:sig_usr: signal 15 received
[20808]: INFO:core:sig_usr: signal 15 received
[20800]: INFO:core:sig_usr: signal 15 received
[20798]: INFO:core:sig_usr: signal 15 received
[20795]: INFO:core:sig_usr: signal 15 received
[20806]: INFO:core:sig_usr: signal 15 received
[20799]: INFO:core:sig_usr: signal 15 received
[20796]: INFO:core:sig_usr: signal 15 received


Drouting tables:

1. dr_groups:
mysql> select * from dr_groups;
Empty set (0.00 sec)

2. 
mysql> select * from dr_rules;
+--------+---------+--------+---------+----------+---------+--------+-------
+--------------+
| ruleid | groupid | prefix | timerec | priority | routeid | gwlist | attrs
| description  |
+--------+---------+--------+---------+----------+---------+--------+-------
+--------------+
|      1 | 1       | 9998   |         |        1 |         | 7      |
| SPS          |
|      3 | 1       | 9997   |         |        1 |         | 7      |
| LINEA1       |
|      4 | 1       | 9996   |         |        1 |         | 1      |
| SPB          |
|      5 | 1       | 9995   |         |        1 |         | 1      |
| SPB-Services |
+--------+---------+--------+---------+----------+---------+--------+-------
+--------------+
4 rows in set (0.00 sec)



If I add a new rule with id=2, prefix=9999, groupid=1, then :
1. do_routing with RURI 'sip:999889112599077 at org1.tel.oyster.su' passed
2. do_routing with RURI 'sip:999989112599077 at org1.tel.oyster.su' fails
exactly that way.

As I see from debug the problem is dereferencing invalid pointer
(rt_info->pgwl[0].pgw is 0x1)

GDB backtrace and some debug please see at http://pastebin.com/smTbka3E

WBR, Anton Zagorskiy
VoIP Developer, Oyster Telecom
Phone.: +7 812 601-0666
Fax: +7 812 601-0593
a.zagorskiy at oyster-telecom.ru
www.oyster-telecom.ru






More information about the Devel mailing list