[OpenSIPS-Users] 1.6 rev 6147 and dp_translate memory error?

Ron McCarthy ronmccar at gmail.com
Tue Sep 22 17:31:03 CEST 2009


I ran one more test and this is the final results:

Sep 22 08:15:13 sips /usr/local/sbin/opensips[52643]:
ERROR:dialplan:rule_translate: the string 4085557777 matched the match_exp
^([2-9][0-9]{2}[2-9][0-9]{6}) but not the subst_exp
^([2-9][0-9]{2}[2-9][0-9]{6})(.+)!
Sep 22 08:15:13 sips /usr/local/sbin/opensips[52643]:
ERROR:dialplan:translate: could not build the output
Sep 22 08:15:13 sips /usr/local/sbin/opensips[52643]: ERROR:core:do_assign:
no value in right expression
Sep 22 08:15:13 sips /usr/local/sbin/opensips[52643]: ERROR:core:do_assign:
error at line: 432

Line 432 is: $rU = $avp(s:carto_did);

Then we get:

Sep 22 08:17:48 sips /usr/local/sbin/opensips[52643]: ERROR:core:do_assign:
error at line: 299
Sep 22 08:17:48 sips /usr/local/sbin/opensips[52643]:
ERROR:dialplan:dp_get_svalue: no PV or NULL or non-STR val found (error in
scripts)
Sep 22 08:17:48 sips /usr/local/sbin/opensips[52643]:
ERROR:dialplan:dp_translate_f: invalid param 2

Line 299: $avp(s:aninpa)=$(avp(s:newfrom_did){s.substr,0,3});

At this point the switch is still taking on new calls, we get those errors
some more times, then we core dump

Here is the gdb output:
(gdb) print result
$1 = (str *) 0x7fffffffe170
(gdb) print result->len
$2 = 0
(gdb) print result->s
$3 = 0x801fe3f00 "5679990000"
(gdb) print match
$4 = {begin = 0x802f7e0a8 "5679990000", len = -43123475}

Core file is 2GB but you can download via HTTP if that will help.

Thanks and let me know what ever else I can do.




Dialplan rules are:

dpid   pr     match_op     match_exp     match_len     subst_exp
repl_exp
200     40     1     ^([2-9][0-9]{2}[2-9][0-9]{6})     0
^([2-9][0-9]{2}[2-9][0-9]{6})     \1
200     50     1     ^1([2-9][0-9]{2}[2-9][0-9]{6})     0
^1([2-9][0-9]{2}[2-9][0-9]{6})(.+)     \1

On Tue, Sep 22, 2009 at 7:51 AM, Bogdan-Andrei Iancu <bogdan at voice-system.ro
> wrote:

> Hi Ron,
>
> there couple of options:
>    1) we try remove debugging
>    2) give me access to the core file so that I can investigate it
>    3) send the the DB content and the input for the dp_translate() to
> try to reproduce it
>
> so, let's try 1)
>  please print in gdb the following values:  result , result->len,
> result->s, match.
>
> Thanks and regards,
> Bogdan
>
> Ron McCarthy wrote:
> > Hi,
> >
> > Just updated and ran a test and now it's core dumping with no errors
> > in syslog, a backtrace shows:
> >
> > #0  0x0000000801ed9e41 in rule_translate (msg=0x775c88, string={s =
> > 0x8029e4e99 "6025504004", len = 10}, rule=Variable "rule" is not
> > available.
> > ) at dp_repl.c:192
> > #1  0x0000000801edb124 in translate (msg=0x775c88, input={s =
> > 0x8029e4e99 "6025504004", len = 10}, output=0x7fffffffd570,
> > idp=Variable "idp" is not available.
> > ) at dp_repl.c:346
> > #2  0x0000000801ed2472 in dp_translate_f (msg=0x775c88, str1=Variable
> > "str1" is not available.
> > ) at dialplan.c:368
> > #3  0x000000000040dbb1 in do_action (a=0x6dfb90, msg=0x775c88) at
> > action.c:962
> > #4  0x000000000040c6a7 in run_action_list (a=Variable "a" is not
> > available.
> > ) at action.c:139
> > #5  0x000000000040fb8e in do_action (a=0x6e3d10, msg=0x775c88) at
> > action.c:706
> > #6  0x000000000040c6a7 in run_action_list (a=Variable "a" is not
> > available.
> > ) at action.c:139
> > #7  0x000000000040eebe in do_action (a=0x6d4d08, msg=0x775c88) at
> > action.c:119
> > #8  0x000000000040c6a7 in run_action_list (a=Variable "a" is not
> > available.
> > ) at action.c:139
> > #9  0x000000000040fb8e in do_action (a=0x6d4f48, msg=0x775c88) at
> > action.c:706
> > #10 0x000000000040c6a7 in run_action_list (a=Variable "a" is not
> > available.
> > ) at action.c:139
> > #11 0x000000000040fb8e in do_action (a=0x6d6f90, msg=0x775c88) at
> > action.c:706
> > #12 0x000000000040c6a7 in run_action_list (a=Variable "a" is not
> > available.
> > ) at action.c:139
> > #13 0x0000000000410d29 in run_top_route (a=0x6bd588, msg=0x775c88) at
> > action.c:119
> > #14 0x0000000000455d6b in receive_msg (
> >     buf=0x65dd80 "INVITE sip:1234568888 at 192.168.1.100:5060
> > <http://sip:1234568888@192.168.1.100:5060> SIP/2.0\r\nVia: SIP/2.0/UDP
> > 192.168.1.100:5061;branch=z9hG4bK-33820-611-0\r\nFrom: sipp
> > <sip:1234569999 at 192.168.1.100:5060
> > <http://sip:1234569999@192.168.1.100:5060>>;tag=33820SIPpTag00611\r\nTo:
> > sut <sip:12345"..., len=555, rcv_info=0x7fffffffea70) at receive.c:162
> > #15 0x0000000000499f3e in udp_rcv_loop () at udp_server.c:490
> > #16 0x0000000000428a2a in main (argc=7, argv=Variable "argv" is not
> > available.
> > ) at main.c:818
> >
> > That was about 800 calls into it at 10 CPS.
> >
> > What else can I try?
> >
> > Thanks
> >
> >
> > On Tue, Sep 22, 2009 at 5:26 AM, Bogdan-Andrei Iancu
> > <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
> >
> >     Hi Ron,
> >
> >     If you update from SVN trunk, this should be fixed. Please let me
> know
> >     if it works for you or not.
> >
> >     Regards,
> >     Bogdan
> >
> >
> >     Ron McCarthy wrote:
> >     > Hi,
> >     >
> >     >  dp_translate("200", "$avp(s:from_did)/$avp(s:newfrom_did)");
> >     >
> >     > We call that after the INVITE and allow_trusted, etc. It gets
> >     called 4
> >     > times total, twice to normalize the $fU and $fU vars then two more
> >     > times to change the values if needed, (adds a 1, +1, etc).
> >     >
> >     > Thanks
> >     >
> >     >
> >     > On Fri, Sep 18, 2009 at 1:24 AM, Bogdan-Andrei Iancu
> >     > <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>
> >     <mailto:bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>>>
> >     wrote:
> >     >
> >     >     Hi Ron,
> >     >
> >     >     Hoe do you call the dp_translate function from the script?
> >     >
> >     >     Regards,
> >     >     Bogdan
> >     >
> >     >     Ron McCarthy wrote:
> >     >     > Hi list,
> >     >     >
> >     >     > Ive done quite a bit of troubleshooting and ive found the
> >     switch
> >     >     runs
> >     >     > clean with not using dp_translate, but when we do the
> >     errors appear.
> >     >     >
> >     >     > After a few thousand calls we start getting: (no errors
> >     before this)
> >     >     >
> >     >     > Sep 18 00:09:13 sips /usr/local/sbin/opensips[68260]:
> >     >     > ERROR:dialplan:dp_get_svalue: no AVP or SCRIPTVAR found
> (error
> >     >     in scripts)
> >     >     > Sep 18 00:09:13 sips /usr/local/sbin/opensips[68260]:
> >     >     > ERROR:dialplan:dp_translate_f: invalid param 2
> >     >     > Sep 18 00:09:13 sips /usr/local/sbin/opensips[68260]:
> >     >     > ERROR:core:do_assign: no value in right expression
> >     >     > Sep 18 00:09:13 sips /usr/local/sbin/opensips[68260]:
> >     >     > ERROR:core:do_assign: error at line: 298
> >     >     >
> >     >     > Backtrace shows:
> >     >     > #0  0x0000000801ff0211 in rule_translate (msg=0x6fe600,
> >     string={s =
> >     >     > 0x80282a9c3 "1234569999", len = 10}, rule=Variable "rule"
> >     is not
> >     >     > available.
> >     >     > ) at dp_repl.c:192
> >     >     > 192 memcpy(result->s + result->len, match.begin, match.len);
> >     >     > (gdb)
> >     >     >
> >     >     > Were using sipP to test this, im setting the source and
> >     dest number
> >     >     > manually with a AVP var then having dp_translate run on
> >     it, its
> >     >     taking
> >     >     > a 10 digit number and turning it into 11 digits, we have
> >     about 45
> >     >     > rules loaded into the database for the dialplan, with this
> >     >     particular
> >     >     > dialplan ID their is 2 rules total, we call dp_translate a
> >     total
> >     >     of 4
> >     >     > times for each new call.
> >     >     >
> >     >     > vmstat is basically all 0's when dp_translate disabled,
> >     when enabled
> >     >     > it looks like:
> >     >     >
> >     >     > 0 9 0   2891M  2574M  1484   0   0   0  3737   0   0   0
> >     2744 29807
> >     >     > 11711 13 15 72
> >     >     >  1 7 0   2899M  2569M  1493   0   0   0  1983   0   0   0
> >     2678 39221
> >     >     > 11355 13 11 76
> >     >     >  0 8 0   2891M  2568M  1119   0   0   0  2821   0   0   0
> >     2360 28331
> >     >     > 10401 13 15 72
> >     >     >  0 8 0   2901M  2565M  1477   0   0   0  2086   0   0   0
> >     2226 39722
> >     >     > 9430 11 15 74
> >     >     >  1 8 0   2893M  2560M  1250   0   0   0  1993   0   0   0
> >     2912 23983
> >     >     > 12123 11 15 74
> >     >     >  4 6 0   2901M  2551M  1557   0   0   0  2035   0   0   0
> >     3075 38446
> >     >     > 13035 12 18 70
> >     >     >  0 9 0   2893M  2548M  1103   0   0   0  1877   0   0   0
> >     2772 26050
> >     >     > 11474 12 12 76
> >     >     >  0 8 0   2901M  2539M  1434   0   0   0   743   0   0   0
> >     3289 34833
> >     >     > 13759  8 17 75
> >     >     >  0 9 0   2893M  2534M   943   0   0   0  1533   0   0   0
> >     3372 23843
> >     >     > 14379  8 24 68
> >     >     >  2 7 0   2901M  2528M  1252   0   0   0  1207   0   0   0
> >     2762 39615
> >     >     > 11275 12 13 75
> >     >     >  0 8 0   2902M  2521M  1134   0   0   0   703   0   0   0
> >     3364 18464
> >     >     > 14069  6 18 76
> >     >     >  0 8 0   2901M  2514M  1670   0   0   0  1737   0   0   0
> >     3771 17832
> >     >     > 17211  1 16 82
> >     >     >  0 8 0   2902M  2508M  1212   0   0   0   803   0   0   0
> >     3141 5263
> >     >     > 13990  1 14 85
> >     >     >  0 8 0   2901M  2499M  1542   0   0   0  1241   0   0   0
> >     3720 17120
> >     >     > 16641  1 17 82
> >     >     >  0 7 0   2902M  2497M  1260   0   0   0  2027   0   0   0
> >     2561 6328
> >     >     > 11863  1 14 85
> >     >     >  0 7 0   2901M  2499M  1979   0   0   0  3653   0   0   0
> >     2442 19121
> >     >     > 11724  3 13 85
> >     >     >  1 8 0   2902M  2498M  1387   0   0   0  3062   0   0   0
> >     2183 6172
> >     >     > 10662  0 13 87
> >     >     >
> >     >     >
> >     >     > We have ran this at 5CPS and the switch will run fine for
> >     several
> >     >     > thousand calls, then at 60+ CPS and runs for several thousand
> >     >     calls as
> >     >     > well, so it appears to be a memory issue to me as when the
> >     total
> >     >     > number of processed calls goes up is when it dies on us.
> >     >     >
> >     >     > Let me know what else I can do to test/debug on my side to
> >     help
> >     >     with this.
> >     >     >
> >     >     > Thanks
> >     >     >
> >     >
> >
> ------------------------------------------------------------------------
> >     >     >
> >     >     > _______________________________________________
> >     >     > Users mailing list
> >     >     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> >     <mailto:Users at lists.opensips.org <mailto:Users at lists.opensips.org>>
> >     >     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >     >     >
> >     >
> >     >
> >     >     _______________________________________________
> >     >     Users mailing list
> >     >     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> >     <mailto:Users at lists.opensips.org <mailto:Users at lists.opensips.org>>
> >     >     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >     >
> >     >
> >     >
> >
> ------------------------------------------------------------------------
> >     >
> >     > _______________________________________________
> >     > Users mailing list
> >     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> >     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >     >
> >
> >
> >     _______________________________________________
> >     Users mailing list
> >     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> >     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.opensips.org
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >
>
>
> _______________________________________________
> 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/20090922/4d8c298f/attachment-0001.htm 


More information about the Users mailing list