[sr-dev] seeing segfaults in get_profile_size()

Eugene Oden eugeneoden+list at gmail.com
Wed Oct 27 19:07:21 CEST 2010


one more clue:

767             if(sp_dest->setf(msg, &sp_dest->pvp, (int)EQ_T, &val)<0)
(gdb) p sp_dest->setf
$1 = (pv_setf_t) 0xffffffff


On Wed, Oct 27, 2010 at 11:38 AM, Eugene Oden
<eugeneoden+list at gmail.com<eugeneoden%2Blist at gmail.com>
> wrote:

> hello,
>
> just started using the dialog module with kamailio 3.1.0 and getting
> segfaults whenever get_profile_size() is executed.  here's a stack trace:
>
> Core was generated by `kamailio'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x003c729e in w_get_profile_size (msg=0x834d8b4, profile=0xb60823f8
> "\224$\b\266\t", value=0x831cb40 "\004",
>     result=0x8340900 "\001") at dialog.c:767
> 767             if(sp_dest->setf(msg, &sp_dest->pvp, (int)EQ_T, &val)<0)
> (gdb) bt
> #0  0x003c729e in w_get_profile_size (msg=0x834d8b4, profile=0xb60823f8
> "\224$\b\266\t", value=0x831cb40 "\004",
>     result=0x8340900 "\001") at dialog.c:767
> #1  0x08057770 in do_action (h=0xbff5fcb8, a=0x8328f2c, msg=0x834d8b4) at
> action.c:1105
> #2  0x0805ea3c in run_actions (h=0xbff5fcb8, a=0x8328f2c, msg=0x834d8b4) at
> action.c:1553
> #3  0x080576c0 in do_action (h=0xbff5fcb8, a=0x832c794, msg=0x834d8b4) at
> action.c:711
> #4  0x0805ea3c in run_actions (h=0xbff5fcb8, a=0x832c794, msg=0x834d8b4) at
> action.c:1553
> #5  0x0805ed71 in run_actions_safe (h=0xbff606e8, a=0x832c794,
> msg=0x834d8b4) at action.c:1605
> #6  0x080f5d44 in rval_get_int (h=0xbff606e8, msg=0x0, i=0xbff600d8,
> rv=0xbff5f694, cache=0x0) at rvalue.c:904
> #7  0x080fb4fb in rval_expr_eval_int (h=0xbff606e8, msg=0x834d8b4,
> res=0xbff600d8, rve=0x832c9c4) at rvalue.c:1866
> #8  0x080fb5d0 in rval_expr_eval_int (h=0xbff606e8, msg=0x834d8b4,
> res=0xbff60394, rve=0x832cdac) at rvalue.c:1873
> #9  0x08057511 in do_action (h=0xbff606e8, a=0x832db7c, msg=0x834d8b4) at
> action.c:1069
> #10 0x0805ea3c in run_actions (h=0xbff606e8, a=0x832be40, msg=0x834d8b4) at
> action.c:1553
> #11 0x080576c0 in do_action (h=0xbff606e8, a=0x8313b88, msg=0x834d8b4) at
> action.c:711
> #12 0x0805ea3c in run_actions (h=0xbff606e8, a=0x83003cc, msg=0x834d8b4) at
> action.c:1553
> #13 0x0805ecf4 in run_top_route (a=0x83003cc, msg=0x834d8b4, c=0x0) at
> action.c:1626
> #14 0x080dceab in receive_msg (
>     buf=0x82a7740 "INVITE sip:*98 at pipeline.bbpsphone.netSIP/2.0\r\nCall-ID: 6fb1466b73075c7ad55f278f86ff6b27 at 0:0:0:0:0:0:0:0\r\nCSeq:
> 2 INVITE\r\nFrom: \"Eugene Oden\" <sip:goden.atl1 at pipeline.bbpsphone.net<sip%3Agoden.atl1 at pipeline.bbpsphone.net>>;tag=56dc2460\r\nTo:
> "..., len=1538, rcv_info=0xbff608f8)
>     at receive.c:205
> #15 0x0816eef7 in udp_rcv_loop () at udp_server.c:532
> #16 0x080ad9e1 in main_loop () at main.c:1554
> #17 0x080b1126 in main (argc=1, argv=0xbff60bd4) at main.c:2398
>
> and the relevant bits of configuration - not sure if its correct:
>
> ...
>
> loadmodule "dialog.so"
> modparam("dialog", "dlg_flag", 4);
> modparam("dialog", "profiles_no_value", "voicemail");
>
> ...
>
> route {
>    ...
>
>    if (is_method("INVITE")) {
>       dlg_manage();
>       setflag(4);
>    }
>
>    ...
>
>    if (! route(LIMIT_VOICEMAIL)) {
>       xdbg("   SCRIPT: Voicemail limit exceeded\n");
>       sl_send_reply("503", "Service Unavailable");
>       exit;
>    }
>
>    ...
> }
>
> ...
>
> route[LIMIT_VOICEMAIL] {
>    get_profile_size("voicemail", "$avp(size)");
>    if ($avp(size) >= 1) {
>       return -1;
>    }
>
>    set_dlg_profile("voicemail");
>
>    return 1;
> }
>
>
> any thoughts?
>
> gene
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20101027/677b0b59/attachment-0001.htm>


More information about the sr-dev mailing list