[sr-dev] [kamailio/kamailio] Kamailio segfault in append_branch if q is missing (Issue #3113)

Mathias Schneuwly notifications at github.com
Tue May 17 10:14:41 CEST 2022


<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.

If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:

  * http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:

  * http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.

If there is no content to be filled in a section, the entire section can be removed.

You can delete the comments from the template sections when filling.

You can delete next line and everything above before submitting (it is a comment).
-->

### Description

<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
We are using kamailio with a python_handler. If a call is parallel forked, kamailio segfaults in append_branch (get_str_fparam) because the q parameter is not set. Since the q parameter is optional, we didn't set it. If I set something for q (eg "1"), the forking seems to work fine.

I tested the issue with Kamailio 5.2.[238] and 5.5.4. The behavior is equal in all versions.

We are using yocto dunfell as OS with compiler option "O2". Interestingly, if I disable the optimization, the forking works even without q parameter.

### Troubleshooting

#### Reproduction

<!--
If the issue can be reproduced, describe how it can be done.
-->
The problem is reproducible. As soon as a call is forked to at least two callees, kamailio crashes.

#### Debugging Data

<!--
If you got a core dump, use gdb to extract troubleshooting data - full backtrace,
local variables and the list of the code at the issue location.

  gdb /path/to/kamailio /path/to/corefile
  bt full
  info locals
  list

If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->

```
(gdb) list
1612	/** Get the function parameter value as string.
1613	 *  @return  0 - Success
1614	 *          -1 - Cannot get value
1615	 */
1616	int get_str_fparam(str* dst, struct sip_msg* msg, fparam_t* param)
1617	{
1618		int_str val;
1619		int ret;
1620		avp_t* avp;
1621		pv_value_t pv_val;
(gdb) print(param)
$1 = (fparam_t *) 0x478a90343ce2286
(gdb) print param->type
Cannot access memory at address 0x478a90343ce228e


(gdb) bt full
#0  0x00005608e9016c0a in get_str_fparam (dst=dst at entry=0x7fffcf4c9a60, msg=msg at entry=0x7fb95740d408, param=param at entry=0x478a90343ce2286) at core/sr_module.c:1617
        val = {n = 1451801216, s = {
            s = 0x7fb95688ba80 "\307\356\370\377\243\356\370\377\226\356\370\377\v\356\370\377\354\356\370\377\027%\371\377\t%\371\377\373$\371\377\355$\371\377d&\371\377j%\371\377\341\355\370\377\341\355\370\377\202\356\370\377\367\355\370\377", len = 1371188816}, re = 0x7fb95688ba80}
        ret = <optimized out>
        avp = <optimized out>
        pv_val = {rs = {
            s = 0x7fb95688ba80 "\307\356\370\377\243\356\370\377\226\356\370\377\v\356\370\377\354\356\370\377\027%\371\377\t%\371\377\373$\371\377\355$\371\377d&\371\377j%\371\377\341\355\370\377\341\355\370\377\202\356\370\377\367\355\370\377", len = 1371188816}, ri = 1371188816, flags = 32697}
        __func__ = "get_str_fparam"
#1  0x00007fb95708ffca in w_corex_append_branch (msg=0x7fb95740d408, pu=<optimized out>, pq=0x478a90343ce2286) at corex_lib.c:94
        uri = {s = 0x7fb951202dc4 "sips:100105 at ttel.node-1.ersaimfs.ch", len = 35}
        qv = {s = 0x0, len = 0}
        __func__ = "w_corex_append_branch"
#2  0x00007fb957088299 in w_append_branch (msg=<optimized out>, su=<optimized out>, sq=<optimized out>) at corex_mod.c:257
No locals.
#3  0x00005608e8f5dca6 in do_action (h=h at entry=0x7fffcf4ca060, a=a at entry=0x7fb957322490, msg=0x7fb95740d408) at core/action.c:1079
        ret = <optimized out>
        v = <optimized out>
        dst = {send_sock = 0x7fb9573224f0, to = {s = {sa_family = 1, sa_data = "\000\000\000\000\000\000\200\376.W\271\177\000"}, sin = {sin_family = 1, sin_port = 0, sin_addr = {s_addr = 0}, 
              sin_zero = "\200\376.W\271\177\000"}, sin6 = {sin6_family = 1, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = "\200\376.W\271\177\000\000@\237\003\353\bV\000", 
                  __u6_addr16 = {65152, 22318, 32697, 0, 40768, 60163, 22024, 0}, __u6_addr32 = {1462697600, 32697, 3942883136, 22024}}}, sin6_scope_id = 1375836400}, sas = {ss_family = 1, 
              __ss_padding = "\000\000\000\000\000\000\200\376.W\271\177\000\000@\237\003\353\bV\000\000\360\230\001R\271\177\000\000\030i\001\351\bV\000\000P\322\036R\271\177\000\000P\322\036R\271\177\000\000\360$2W\271\177\000\000\345\331\v\351\bV\000\000M\315\020R\271\177\000\000\271\350\225V\271\177\000\000\t\000\000\000\000\000\000\000\200\376.W\271\177\000\000\003\000\000\000\000\000\000\000\002\000\000\000\000\000\000", __ss_align = 140433907209136}}, id = 1377751632, send_flags = {f = 32697, blst_imask = 0}, proto = -16 '\360', proto_pad0 = 90 'Z', proto_pad1 = 20783}
        tmp = <optimized out>
        new_uri = <optimized out>
        end = <optimized out>
        crt = <optimized out>
        cmd = <optimized out>
        len = <optimized out>
        user = <optimized out>
        uri = {user = {s = 0x5608eb72eb58 "\220%'Q\271\177", len = 1451402473}, passwd = {s = 0x7fb951abefd0 "p\350\253Q\271\177", len = -817062640}, host = {s = 0x7fb956969d3a ":LM_DBG", len = 0}, port = {
            s = 0x7fffcf4c9d08 "\021\234\nW\271\177", len = -817062664}, params = {s = 0x2 <error: Cannot access memory at address 0x2>, len = 1451355409}, sip_params = {s = 0x5608eb039f40 "", 
            len = 1494317568}, headers = {s = 0x7fb952248aa0 "\001", len = -817062640}, port_no = 40336, proto = 53068, type = 32767, flags = (unknown: 1494317568), transport = {s = 0x0, len = 1451402473}, 
          ttl = {s = 0x7fffcf4c9d90 "p\230%R\271\177", len = -817062512}, user_param = {s = 0x7fb95696a0ea "s:call_function", len = 0}, maddr = {s = 0x7fffcf4c9d88 "", len = -817062536}, method = {
            s = 0x7fffcf4c9d08 "\021\234\nW\271\177", len = 1376090576}, lr = {s = 0x0, len = 1494317568}, r2 = {s = 0x7fffcf4c9d10 "", len = -817062512}, gr = {s = 0x7fffcf4c9e10 "#", len = 1460313105}, 
          transport_val = {s = 0x800000 <error: Cannot access memory at address 0x800000>, len = 6509480}, ttl_val = {s = 0x140b88 <error: Cannot access memory at address 0x140b88>, len = 1879128}, 
          user_param_val = {s = 0x1caed0 <error: Cannot access memory at address 0x1caed0>, len = 8}, maddr_val = {s = 0x9 <error: Cannot access memory at address 0x9>, len = 1494317568}, method_val = {
            s = 0x0, len = -384625558}, lr_val = {s = 0x0, len = 1}, r2_val = {s = 0x7fff00000001 <error: Cannot access memory at address 0x7fff00000001>, len = 139}, gr_val = {s = 0x7fb951be3750 "\001", 
            len = 0}}
        next_hop = {user = {s = 0x7fb952259870 "\003", len = 1362141712}, passwd = {s = 0x7fb9520579d0 "", len = 2}, host = {s = 0x7fffcf4c9e39 "Tc", len = 1460313105}, port = {
            s = 0x800000 <error: Cannot access memory at address 0x800000>, len = 6509616}, params = {s = 0x140b68 <error: Cannot access memory at address 0x140b68>, len = 1878992}, sip_params = {
            s = 0x1caed0 <error: Cannot access memory at address 0x1caed0>, len = 8}, headers = {s = 0x9 <error: Cannot access memory at address 0x9>, len = 1494317568}, port_no = 0, proto = 0, 
          type = ERROR_URI_T, flags = (URI_SIP_USER_PHONE | unknown: 3910341736), transport = {s = 0x23 <error: Cannot access memory at address 0x23>, len = 1}, ttl = {
            s = 0x1 <error: Cannot access memory at address 0x1>, len = 159}, user_param = {s = 0x800000 <error: Cannot access memory at address 0x800000>, len = 6509616}, maddr = {
            s = 0x140b68 <error: Cannot access memory at address 0x140b68>, len = 1878992}, method = {s = 0x1caed0 <error: Cannot access memory at address 0x1caed0>, len = 1460313105}, lr = {
            s = 0x800000 <error: Cannot access memory at address 0x800000>, len = 6509776}, r2 = {s = 0x140b30 <error: Cannot access memory at address 0x140b30>, len = 1878832}, gr = {
            s = 0x1caed0 <error: Cannot access memory at address 0x1caed0>, len = 1494317568}, transport_val = {s = 0x9 <error: Cannot access memory at address 0x9>, len = 32}, ttl_val = {
            s = 0x7fb9573224f0 "\340%2W\271\177", len = 1462904048}, user_param_val = {s = 0x7fb9572efe80 "\263^\tW\271\177", len = -352084160}, maddr_val = {s = 0x7fb9520198f0 "\t", len = -385793122}, 
          method_val = {s = 0x7fb9573225a8 "8", len = 1494317568}, lr_val = {s = 0x7fb951202dc4 "sips:100105 at ttel.node-1.ersaimfs.ch", len = 35}, r2_val = {
            s = 0x1a <error: Cannot access memory at address 0x1a>, len = 2}, gr_val = {s = 0x7fb9572efe80 "\263^\tW\271\177", len = 1494317568}}
        u = <optimized out>
        port = <optimized out>
        dst_host = <optimized out>
        i = <optimized out>
        flags = 22024
        avp = <optimized out>
        st = {flags = 1378195568, id = 32697, name = {n = 1362141712, s = {s = 0x7fb95130a210 "", len = 1376090576}, re = 0x7fb95130a210}, avp = 0x2}
        sct = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging-- 
        sjt = <optimized out>
        rve = <optimized out>
        mct = <optimized out>
        rv = 0x7fb951272590
        rv1 = <optimized out>
        c1 = {cache_type = RV_CACHE_PVAR, val_type = RV_NONE, c = {avp_val = {n = 0, s = {s = 0x0, len = -383795196}, re = 0x0}, pval = {rs = {s = 0x0, len = -383795196}, ri = 1361063364, flags = 32697}}, 
          i2s = "\200\376.W\271\177\000\000\000z\021Y\372\017\223\221\360\230\001R\271\177"}
        s = {s = 0x7fb952238720 "\n", len = 0}
        srevp = {0x7fb9520198f0, 0x91930ffa59117a00}
        evp = {data = 0x0, obuf = {s = 0x0, len = 0}, rcv = 0x0, dst = 0x0, req = 0x0, rpl = 0x0, rplcode = 0, mode = 0}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, 
                len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {
              number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, 
              select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {
                s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __func__ = "do_action"
#4  0x00007fb956960a1f in msg_call_function (self=0x7fb9521ed250, args=<optimized out>) at python_msgobj.c:269
        i = <optimized out>
        rval = <optimized out>
        fname = 0x7fb952122214 "append_branch"
        arg1 = 0x7fb951202dc4 "sips:100105 at ttel.node-1.ersaimfs.ch"
        arg2 = 0x478a90343ce2286 <error: Cannot access memory at address 0x478a90343ce2286>
        fexport = 0x7fb9572efe80
        act = 0x7fb957322490
        ra_ctx = {rec_lev = 0, run_flags = 0, last_retcode = 0, jmp_env = {{__jmpbuf = {0, 140433996622556, 94596309864320, 140433997811136, 140433922573152, 140432545677312, 140433921520564, 140433921513712}, 
              __mask_was_saved = 1377229072, __saved_mask = {__val = {2, 140433997743136, 140433996765928, 140433921518400, 140433921518400, 140433921519984, 140433996477510, 140433921513712, 
                  10489745524986575360, 140433921519984, 140433998468960, 140433921513712, 140433996646484, 94596309864736, 10489745524986575360, 94596309864728}}}}}
        __func__ = "msg_call_function"
#5  0x00007fb95681df1c in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#6  0x00007fb95681f05f in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#7  0x00007fb9567a797b in ?? () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#8  0x00007fb95677f073 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#9  0x00007fb956790852 in ?? () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#10 0x00007fb95677f073 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#11 0x00007fb956817908 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.7.so.1.0
No symbol table info available.
#12 0x00007fb95695cd43 in apy_exec (_msg=_msg at entry=0x7fb95740d408, fname=0x7fb9573407d0 "group_lookup", fparam=0x7fb9572ae430 "1234", emode=emode at entry=1) at python_exec.c:145
        pFunc = 0x7fb95161f550
        pArgs = 0x7fb951b8a460
        pValue = <optimized out>
        pResult = <optimized out>
        pmsg = 0x7fb9521ed250
        rval = -1
        bmsg = 0x0
        mpid = <optimized out>
        locked = 1
        gstate = PyGILState_LOCKED
        gstate_init = 1
        __func__ = "apy_exec"
#13 0x00007fb95695e3f1 in python_exec2 (_msg=0x7fb95740d408, method_name=<optimized out>, mystr=0x7fb957340958 "\350\b4W\271\177") at python_exec.c:202
        method = {s = 0x7fb9573407d0 "group_lookup", len = 12}
        param = {s = 0x7fb9572ae430 "1234", len = 4}
        __func__ = "python_exec2"
#14 0x00005608e8f5dca6 in do_action (h=h at entry=0x7fffcf4cbe10, a=a at entry=0x7fb9573457b0, msg=msg at entry=0x7fb95740d408) at core/action.c:1079
--Type <RET> for more, q to quit, c to continue without paging--
        ret = <optimized out>
        v = <optimized out>
        dst = {send_sock = 0x7fb95740d408, to = {s = {sa_family = 48656, sa_data = "L\317\377\177\000\000\320\257L\317\377\177\000"}, sin = {sin_family = 48656, sin_port = 53068, sin_addr = {s_addr = 32767}, 
              sin_zero = "\320\257L\317\377\177\000"}, sin6 = {sin6_family = 48656, sin6_port = 53068, sin6_flowinfo = 32767, sin6_addr = {__in6_u = {
                  __u6_addr8 = "\320\257L\317\377\177\000\000\063\206#\351\bV\000", __u6_addr16 = {45008, 53068, 32767, 0, 34355, 59683, 22024, 0}, __u6_addr32 = {3477909456, 32767, 3911419443, 22024}}}, 
              sin6_scope_id = 1314372251}, sas = {ss_family = 48656, 
              __ss_padding = "L\317\377\177\000\000\320\257L\317\377\177\000\000\063\206#\351\bV\000\000\233\272WN\277\263|\315\233\272I\271\315\374\222\236\000\000\000\000\271\177\000\000\000z\021Y\372\017\223\221p\351\001R\271\177\000\000\060!5W\271\177\000\000\b\324 at W\271\177\000\000\b\324 at W\271\177\000\000\020\276L\317\377\177\000\000T\256L\317\377\177\000\000\063\206#\351\bV\000\000\a\361\363\350\bV\000", 
              __ss_align = 32767}}, id = 1375842960, send_flags = {f = 32697, blst_imask = 0}, proto = 112 'p', proto_pad0 = -23 '\351', proto_pad1 = 20993}
        tmp = <optimized out>
        new_uri = <optimized out>
        end = <optimized out>
        crt = <optimized out>
        cmd = <optimized out>
        len = <optimized out>
        user = <optimized out>
        uri = {user = {s = 0x0, len = -352084160}, passwd = {
            s = 0x5608eb7f8e80 "77616cfd2e52a8b7b3a76ed9925fc2b46d9d90dcf8c61a357cc8ca71f2bdaae89edf4a3866d9fb4fa72836a6372d479e9159d77e296be22c9f77316b6b9ea82bbcc4a5390665f1b4c96e79cb029865e58\",\"_rev\":\"1-a7e301322dfc4a87e92331a8cdc"..., len = 1361025360}, host = {s = 0x0, len = 1376876464}, port = {s = 0x5608eb039f40 "", len = 1450939766}, params = {s = 0x5608eb4f6e80 "", len = -347115408}, sip_params = {
            s = 0x5608eb4f70a0 "8O\006\353\bV", len = -347115904}, headers = {s = 0x5608eb4f7098 "", len = 1450860348}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = (unknown: 3947851768), transport = {
            s = 0x0, len = 1377179552}, ttl = {s = 0x2 <error: Cannot access memory at address 0x2>, len = 1451355409}, user_param = {s = 0x5608eb039f40 "", len = -347115528}, maddr = {
            s = 0x5608eb064f38 "\312\001", len = 3}, method = {s = 0x0, len = 1494317568}, lr = {s = 0x0, len = 1463866376}, r2 = {s = 0x7fffcf4cac50 "", len = 1463041960}, gr = {s = 0x5608e92086c7 "corefunc", 
            len = -382461728}, transport_val = {s = 0x5608e9238633 "", len = -386544358}, ttl_val = {s = 0x7fffcf4cac50 "", len = 1463041960}, user_param_val = {s = 0x7fb95740d408 "\003", len = 1450867067}, 
          maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, lr_val = {s = 0x0, len = 1369901328}, r2_val = {s = 0x100000000 <error: Cannot access memory at address 0x100000000>, 
            len = -817058640}, gr_val = {s = 0x7fb957c10520 <_nl_C_LC_CTYPE> "v\373\275W\271\177", len = 1494317568}}
        next_hop = {user = {s = 0x7fb957c10520 <_nl_C_LC_CTYPE> "v\373\275W\271\177", len = 1452408776}, passwd = {s = 0x7fb9512be6d0 "\001", len = 1450866928}, host = {s = 0x7fb951a70910 "\001", 
            len = 1494317568}, port = {s = 0x7fb952019950 "\004", len = -817054192}, params = {s = 0x0, len = 1463866376}, sip_params = {s = 0x7fffcf4cbe10 "\003", len = -817058220}, headers = {
            s = 0x5608e9238633 "", len = -386485865}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = (URI_USER_NORMALIZE | URI_SIP_USER_PHONE | unknown: 4294967292), transport = {s = 0x0, len = 0}, ttl = {
            s = 0x0, len = 0}, user_param = {s = 0x7fffcf4cae54 "", len = -383547853}, maddr = {s = 0xcd7cb3bf4bd7ba9b <error: Cannot access memory at address 0xcd7cb3bf4bd7ba9b>, len = -1186350437}, method = {
            s = 0x7fb900000000 <error: Cannot access memory at address 0x7fb900000000>, len = 0}, lr = {s = 0x0, len = 0}, r2 = {s = 0x7fb95740d408 "\003", len = 1}, gr = {s = 0x0, len = 0}, transport_val = {
            s = 0x0, len = 0}, ttl_val = {s = 0x0, len = 0}, user_param_val = {s = 0x0, len = 1494317568}, maddr_val = {s = 0x7fb95740d408 "\003", len = 1462860840}, method_val = {s = 0x7fb95740d408 "\003", 
            len = 1494317568}, lr_val = {s = 0x7fb957317c40 "", len = 1463099704}, r2_val = {s = 0x7fffcf4cae54 "", len = 1494317568}, gr_val = {s = 0x7fffcf4cbe10 "\003", len = -817054192}}
        u = <optimized out>
        port = <optimized out>
        dst_host = <optimized out>
        i = <optimized out>
        flags = 22024
        avp = <optimized out>
        st = {flags = 1472267552, id = 32697, name = {n = 1452408776, s = {s = 0x7fb95691ffc8 <_PyThreadState_Current> "@\237\003\353\bV", len = 1361831632}, re = 0x7fb95691ffc8 <_PyThreadState_Current>}, 
          avp = 0x7fb9567a78f0}
        sct = <optimized out>
        sjt = <optimized out>
        rve = <optimized out>
        mct = <optimized out>
        rv = 0x7fb95688ba80
        rv1 = <optimized out>
        c1 = {cache_type = 3477913104, val_type = 32767, c = {avp_val = {n = -817057840, s = {s = 0x7fffcf4cafd0 "\001", len = -383547853}, re = 0x7fffcf4cafd0}, pval = {rs = {s = 0x7fffcf4cafd0 "\001", 
                len = -383547853}, ri = -386485865, flags = 22024}}, i2s = "\000\000\000\000\000\000\000\000\001\000\000\000\271\177\000\000\020\276L\317\377\177"}
        s = {s = 0x7fb9511e7910 "\002", len = 1360951568}
        srevp = {0x0, 0x7fb95740d408}
        evp = {data = 0x0, obuf = {s = 0x0, len = 0}, rcv = 0x0, dst = 0x0, req = 0x0, rpl = 0x0, rplcode = 0, mode = 0}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, 
                len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {
              number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, 
              select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {
                s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __func__ = "do_action"
#15 0x00005608e8f5cd1a in run_actions (h=h at entry=0x7fffcf4cbe10, a=0x7fb957345578, msg=msg at entry=0x7fb95740d408) at core/action.c:1584
        t = 0x7fb9573457b0
        ret = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        tvb = {tv_sec = 0, tv_usec = 0}
        tve = {tv_sec = 0, tv_usec = 0}
        tz = {tz_minuteswest = 0, tz_dsttime = 0}
        tdiff = <optimized out>
        __func__ = "run_actions"
#16 0x00005608e8f5f560 in do_action (h=h at entry=0x7fffcf4cbe10, a=a at entry=0x7fb95734c3a0, msg=msg at entry=0x7fb95740d408) at core/action.c:1074
        ret = <optimized out>
        v = <optimized out>
        dst = {send_sock = 0x7fb95740d408, to = {s = {sa_family = 48656, sa_data = "L\317\377\177\000\000 \267L\317\377\177\000"}, sin = {sin_family = 48656, sin_port = 53068, sin_addr = {s_addr = 32767}, 
              sin_zero = " \267L\317\377\177\000"}, sin6 = {sin6_family = 48656, sin6_port = 53068, sin6_flowinfo = 32767, sin6_addr = {__in6_u = {__u6_addr8 = " \267L\317\377\177\000\000\063\206#\351\bV\000", 
                  __u6_addr16 = {46880, 53068, 32767, 0, 34355, 59683, 22024, 0}, __u6_addr32 = {3477911328, 32767, 3911419443, 22024}}}, sin6_scope_id = 2033695387}, sas = {ss_family = 48656, 
              __ss_padding = "L\317\377\177\000\000 \267L\317\377\177\000\000\063\206#\351\bV\000\000\233\272\067y\277\263|\315\233\272I\271\315\374\222\236\000\000\000\000\bV\000\000\234\000\000\000\000\000\000\000\b\324 at W\271\177\000\000x\332\061W\271\177\000\000\b\324 at W\271\177\000\000\000\000\000\000\000\000\000\000\020\276L\317\377\177\000\000\300\265L\317\377\177\000\000\300\264L\317\377\177\000\000\000z\021Y\372\017\223\221", __ss_align = 30064771075}}, id = 9, send_flags = {f = 17, blst_imask = 0}, proto = 4 '\004', proto_pad0 = 0 '\000', proto_pad1 = 0}
        tmp = <optimized out>
        new_uri = <optimized out>
        end = <optimized out>
        crt = <optimized out>
        cmd = <optimized out>
        len = <optimized out>
        user = <optimized out>
        uri = {user = {s = 0x0, len = 1451028260}, passwd = {s = 0x0, len = 1375450128}, host = {
            s = 0x7fb9567bdfd0 <PyCFunction_Call> "AUATUSH\211\373H\203\354\bH\213G\020L\213o\030L\213`\b\213@\020\203\340\217\203\370\bw4H\211\327H\211\365H\215\025\377A\v", len = -817057520}, port = {
            s = 0x5608eb0374a8 "", len = 0}, params = {s = 0x5608eb0374a7 "3", len = 1}, sip_params = {s = 0x7fb957bdf490 "%hu%n:%hu%n:%hu%n", len = -352095065}, headers = {s = 0x5608eb0374a7 "3", len = 0}, 
          port_no = 45328, proto = 53068, type = 32767, flags = (URI_USER_NORMALIZE | URI_SIP_USER_PHONE | unknown: 1470841432), transport = {s = 0x7fffcf4cb120 "\250t\003\353\bV", len = 16}, ttl = {
            s = 0x7fffcf4cb2d0 "\340\071\301W\271\177", len = -817057280}, user_param = {s = 0x7ffffbad8001 <error: Cannot access memory at address 0x7ffffbad8001>, len = -352095064}, maddr = {
            s = 0x5608eb0374a8 "", len = -352095065}, method = {s = 0x5608eb0374a7 "3", len = 1494317568}, lr = {s = 0x5608eb0374a7 "3", len = 1463866376}, r2 = {s = 0x7fffcf4cb3a0 "", len = 1462899544}, gr = {
            s = 0x5608e92086c7 "corefunc", len = -382461728}, transport_val = {s = 0x5608e9238633 "", len = -386544358}, ttl_val = {s = 0x7fffcf4cb3a0 "", len = 1462899544}, user_param_val = {
            s = 0x7fb95740d408 "\003", len = 8180}, maddr_val = {s = 0x7fffcf4cb440 "\003", len = 1472269024}, method_val = {s = 0x7fffcf4cb3bf "2\b\324 at W\271\177", len = -352104480}, lr_val = {
            s = 0x900000000 <error: Cannot access memory at address 0x900000000>, len = 1}, r2_val = {s = 0x1 <error: Cannot access memory at address 0x1>, len = 1494317568}, gr_val = {
            s = 0x7fb9ffffffff <error: Cannot access memory at address 0x7fb9ffffffff>, len = 1472287680}}
        next_hop = {user = {s = 0x0, len = 1472287680}, passwd = {s = 0x330000000000 <error: Cannot access memory at address 0x330000000000>, len = 1494317568}, host = {s = 0x7fffcf4cb2e2 "", 
            len = -817057048}, port = {s = 0x7fffcf4cb2e4 "", len = -817057048}, params = {s = 0x7fb957c16cc0 <tz_rules+64> "", len = -817057048}, sip_params = {s = 0x7fffcf4cb4c8 "0", len = 1460313105}, 
          headers = {s = 0x800000 <error: Cannot access memory at address 0x800000>, len = 15}, port_no = 2060, proto = 60285, type = 22024, flags = (unknown: 3950839820), transport = {s = 0x0, len = 0}, 
          ttl = {s = 0x0, len = 0}, user_param = {s = 0x7fb957c127c0 <_nl_C_locobj> " \005\301W\271\177", len = 1471268632}, maddr = {
            s = 0x3132373230303228 <error: Cannot access memory at address 0x3132373230303228>, len = 8187}, method = {s = 0x7fffcf4cb440 "\003", len = 177}, lr = {s = 0x5608eb7d07f0 "", len = 176}, r2 = {
            s = 0x7fb957c139e0 <main_arena> "", len = -344119296}, gr = {s = 0x0, len = 1471040194}, transport_val = {s = 0x62834997 <error: Cannot access memory at address 0x62834997>, len = 24}, ttl_val = {
            s = 0x7fffcf4cb3d0 " \267L\317\377\177", len = 1472281056}, user_param_val = {s = 0x5608eb7d0800 "", len = 157}, maddr_val = {s = 0x7fffcf4cb4c8 "0", len = -344127504}, method_val = {
            s = 0x2010 <error: Cannot access memory at address 0x2010>, len = 1471044278}, lr_val = {s = 0x7fb957c139e0 <main_arena> "", len = -817056856}, r2_val = {
            s = 0x12 <error: Cannot access memory at address 0x12>, len = 1494317568}, gr_val = {s = 0x5608eb35cf20 "\220\002\066\353\bV", len = -817054192}}
        u = <optimized out>
        port = <optimized out>
        dst_host = <optimized out>
        i = <optimized out>
        flags = 32697
        avp = <optimized out>
        st = {flags = 0, id = 0, name = {n = 1472287680, s = {s = 0x7fb957c153c0 <_IO_str_jumps> "", len = 0}, re = 0x7fb957c153c0 <_IO_str_jumps>}, avp = 0x91930ffa59117a00}
        sct = <optimized out>
        sjt = <optimized out>
        rve = <optimized out>
        mct = <optimized out>
        rv = 0x7fb951fbb410
        rv1 = <optimized out>
        c1 = {cache_type = 3477913104, val_type = 32767, c = {avp_val = {n = -817055968, s = {s = 0x7fffcf4cb720 "\001", len = -383547853}, re = 0x7fffcf4cb720}, pval = {rs = {s = 0x7fffcf4cb720 "\001", 
                len = -383547853}, ri = -386485865, flags = 22024}}, i2s = "\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\020\276L\317\377\177"}
        s = {s = 0x7fb9567bdfd0 <PyCFunction_Call> "AUATUSH\211\373H\203\354\bH\213G\020L\213o\030L\213`\b\213@\020\203\340\217\203\370\bw4H\211\327H\211\365H\215\025\377A\v", len = 1376090576}
        srevp = {0x0, 0x7fb95740d408}
        evp = {data = 0x0, obuf = {s = 0x0, len = 0}, rcv = 0x0, dst = 0x0, req = 0x0, rpl = 0x0, rplcode = 0, mode = 0}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, 
                len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {
--Type <RET> for more, q to quit, c to continue without paging--
              number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, 
              select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {
                s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __func__ = "do_action"
#17 0x00005608e8f5cd1a in run_actions (h=h at entry=0x7fffcf4cbe10, a=0x7fb95734c3a0, msg=msg at entry=0x7fb95740d408) at core/action.c:1584
        t = 0x7fb95734c3a0
        ret = <optimized out>
        tvb = {tv_sec = 0, tv_usec = 0}
        tve = {tv_sec = 0, tv_usec = 0}
        tz = {tz_minuteswest = 1462850328, tz_dsttime = 32697}
        tdiff = <optimized out>
        __func__ = "run_actions"
#18 0x00005608e8f5e1c5 in do_action (h=h at entry=0x7fffcf4cbe10, a=a at entry=0x7fb957323c38, msg=msg at entry=0x7fb95740d408) at core/action.c:703
        ret = <optimized out>
        v = <optimized out>
        dst = {send_sock = 0x10, to = {s = {sa_family = 31232, sa_data = "\021Y\372\017\223\221Y\001\000\000\000\000\000"}, sin = {sin_family = 31232, sin_port = 22801, sin_addr = {s_addr = 2442334202}, 
              sin_zero = "Y\001\000\000\000\000\000"}, sin6 = {sin6_family = 31232, sin6_port = 22801, sin6_flowinfo = 2442334202, sin6_addr = {__in6_u = {
                  __u6_addr8 = "Y\001\000\000\000\000\000\000l\006\023\351\bV\000", __u6_addr16 = {345, 0, 0, 0, 1644, 59667, 22024, 0}, __u6_addr32 = {345, 0, 3910338156, 22024}}}, sin6_scope_id = 16}, sas = {
              ss_family = 31232, 
              __ss_padding = "\021Y\372\017\223\221Y\001\000\000\000\000\000\000l\006\023\351\bV\000\000\020\000\000\000\000\000\000\000\004\300\037\351\bV\000\000\320z7W\271\177\000\000\250\000\000\000\000\000\000\000(z7W\271\177\000\000\001\000\000\000\bV\000\000\001\000\000\000\000\000\000\000\276", '\000' <repeats 11 times>, "\267\002", '\000' <repeats 19 times>, "z\021Y\372\017\223\221", __ss_align = 0}}, 
          id = 6, send_flags = {f = 0, blst_imask = 0}, proto = 0 '\000', proto_pad0 = 0 '\000', proto_pad1 = 0}
        tmp = <optimized out>
        new_uri = <optimized out>
        end = <optimized out>
        crt = <optimized out>
        cmd = <optimized out>
        len = <optimized out>
        user = <optimized out>
        uri = {user = {s = 0x0, len = 1463255000}, passwd = {s = 0x7fb957375bc8 "", len = 0}, host = {s = 0x0, len = 0}, port = {s = 0x7fb957375c70 "\021", len = 0}, params = {s = 0x7fb957375dc0 "\v", 
            len = 0}, sip_params = {s = 0x0, len = 0}, headers = {s = 0x0, len = 1463244928}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = (unknown: 0), transport = {s = 0x0, len = 0}, ttl = {s = 0x0, 
            len = 0}, user_param = {s = 0x0, len = 0}, maddr = {s = 0x0, len = 0}, method = {s = 0x0, len = 0}, lr = {s = 0x0, len = 1463245264}, r2 = {s = 0x0, len = 1463245096}, gr = {s = 0x0, len = 0}, 
          transport_val = {
            s = 0x5608eb7aa741 "  695\r\nTH: dih\r\n\r\nv=0\r\no=100101 8000 8000 IN IP4 10.0.1.129\r\ns=SIP Call\r\nc=IN IP4 10.0.1.129\r\nt=0 0\r\nm=audio 50040 RTP/SAVP 0 8 9 101\r\na=sendrecv\r\na=rtcp:50041 IN IP4 10.0.1.129\r\na=rtpmap:0 PCMU/8000\r"..., len = -344283327}, ttl_val = {s = 0x0, len = 0}, user_param_val = {s = 0x0, len = 0}, maddr_val = {s = 0x0, len = 0}, method_val = {s = 0x0, len = 0}, 
          lr_val = {s = 0x0, len = 0}, r2_val = {s = 0x0, len = 0}, gr_val = {s = 0x0, len = 0}}
        next_hop = {user = {s = 0x0, len = 0}, passwd = {s = 0x0, len = 0}, host = {s = 0x0, len = 0}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, sip_params = {s = 0x0, len = 0}, headers = {
            s = 0x5608eb7aa330 "INVITE sips:1234 at 10.0.1.1:5061 SIP/2.0\r\nVia: SIP/2.0/TLS 10.0.1.129:5060;TH=div;branch=z9hG4bK350560282;rport;alias\r\nFrom: \"Node1 Number1\" <sips:100101 at 10.0.1.1:5061>;tag=1456723635\r\nTo: <sips:1234 at 10"..., len = 1738}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = (unknown: 0), transport = {s = 0x0, len = 0}, ttl = {s = 0x0, len = 0}, user_param = {s = 0x0, len = 0}, 
          maddr = {s = 0x0, len = 0}, method = {s = 0x0, len = 0}, lr = {s = 0x0, len = 0}, r2 = {s = 0x0, len = 0}, gr = {s = 0x0, len = 0}, transport_val = {s = 0x0, len = 0}, ttl_val = {s = 0x0, len = 0}, 
          user_param_val = {s = 0x0, len = 1494317568}, maddr_val = {s = 0x0, len = -384366071}, method_val = {s = 0x0, len = 84}, lr_val = {s = 0x2 <error: Cannot access memory at address 0x2>, len = 0}, 
          r2_val = {s = 0x0, len = 0}, gr_val = {s = 0x0, len = 1460313105}}
        u = <optimized out>
        port = <optimized out>
        dst_host = <optimized out>
        i = <optimized out>
        flags = 0
        avp = <optimized out>
        st = {flags = 0, id = 0, name = {n = 0, s = {s = 0x0, len = 0}, re = 0x0}, avp = 0x0}
        sct = <optimized out>
        sjt = <optimized out>
        rve = <optimized out>
        mct = <optimized out>
        rv = 0x1
        rv1 = <optimized out>
        c1 = {cache_type = 1307040, val_type = RV_NONE, c = {avp_val = {n = 1460313105, s = {s = 0x7fb9570a9c11 <pkg_proc_update_stats+65> "Hc\003H\213T$\bH\215\004 at H\301\340\004H\003\005", len = 8388608}, 
              re = 0x7fb9570a9c11 <pkg_proc_update_stats+65>}, pval = {rs = {s = 0x7fb9570a9c11 <pkg_proc_update_stats+65> "Hc\003H\213T$\bH\215\004 at H\301\340\004H\003\005", len = 8388608}, ri = 6519368, 
              flags = 0}}, i2s = "\320\370\023\000\000\000\000\000\270\205\034\000\000\000\000\000\020\245\034\000\000"}
        s = {s = 0x7fb9573d3670 "\001", len = 0}
        srevp = {0x800000, 0x6388c8}
--Type <RET> for more, q to quit, c to continue without paging--
        evp = {data = 0x0, obuf = {s = 0x0, len = 0}, rcv = 0x0, dst = 0x0, req = 0x0, rpl = 0x0, rplcode = 0, mode = 0}
        mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, 
                len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {
              number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, 
              select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {
                s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}}
        __func__ = "do_action"
#19 0x00005608e8f5cd1a in run_actions (h=h at entry=0x7fffcf4cbe10, a=a at entry=0x7fb957310788, msg=msg at entry=0x7fb95740d408) at core/action.c:1584
        t = 0x7fb957323c38
        ret = <optimized out>
        tvb = {tv_sec = 0, tv_usec = 0}
        tve = {tv_sec = 0, tv_usec = 0}
        tz = {tz_minuteswest = 0, tz_dsttime = 0}
        tdiff = <optimized out>
        __func__ = "run_actions"
#20 0x00005608e8f6b235 in run_top_route (a=0x7fb957310788, msg=msg at entry=0x7fb95740d408, c=c at entry=0x0) at core/action.c:1669
        ctx = {rec_lev = 3, run_flags = 0, last_retcode = 1, jmp_env = {{__jmpbuf = {0, -3639836764189246821, 0, 140434008508296, 140434009543688, 0, -3639836764059223397, -7020270908610069861}, 
              __mask_was_saved = 0, __saved_mask = {__val = {140434005384309, 0, 94596268823528, 0, 0, 0, 0, 0, 10489745524986575360, 140434008930744, 10489745524986575360, 94596272765568, 140433931052912, 
                  140434009543688, 10489745524986575360, 0}}}}}
        p = 0x7fffcf4cbe10
        ret = <optimized out>
        sfbk = 0
#21 0x00005608e904e89c in receive_msg (buf=<optimized out>, len=<optimized out>, rcv_info=<optimized out>) at core/receive.c:501
        msg = 0x7fb95740d408
        ctx = {rec_lev = 0, run_flags = 0, last_retcode = 1472281056, jmp_env = {{__jmpbuf = {65536, 4097, 65552, -80, 4095, 140434016714912, 1, 140434017958464}, __mask_was_saved = 0, __saved_mask = {__val = {
                  7, 94596301910030, 65536, 140432545677433, 94596301934600, 65584, 1024, 4604204945409, 2, 16, 10489745524986575360, 519691042940, 140433931053816, 140433931052888, 140736671302564, 
                  140736671302564}}}}}
        bctx = 0x0
        ret = <optimized out>
        tvb = {tv_sec = 0, tv_usec = 0}
        tve = {tv_sec = 0, tv_usec = 0}
        diff = 0
        inb = {
          s = 0x5608eb7aa330 "INVITE sips:1234 at 10.0.1.1:5061 SIP/2.0\r\nVia: SIP/2.0/TLS 10.0.1.129:5060;TH=div;branch=z9hG4bK350560282;rport;alias\r\nFrom: \"Node1 Number1\" <sips:100101 at 10.0.1.1:5061>;tag=1456723635\r\nTo: <sips:1234 at 10"..., len = 1754}
        netinfo = {data = {s = 0x0, len = 0}, rcv = 0x0, dst = 0x0}
        keng = 0x0
        evp = {data = 0x7fffcf4cbf70, obuf = {s = 0x0, len = 0}, rcv = 0x7fb952932770, dst = 0x0, req = 0x0, rpl = 0x0, rplcode = 0, mode = 0}
        cidlockidx = 0
        cidlockset = 0
        errsipmsg = 0
        exectime = 0
        __func__ = "receive_msg"
#22 0x00005608e90ecf62 in receive_tcp_msg (
    tcpbuf=0x7fb952932af8 "INVITE sips:1234 at 10.0.1.1:5061 SIP/2.0\r\nVia: SIP/2.0/TLS 10.0.1.129:5060;branch=z9hG4bK350560282;rport;alias\r\nFrom: \"Node1 Number1\" <sips:100101 at 10.0.1.1:5061>;tag=1456723635\r\nTo: <sips:1234 at 10.0.1.1:"..., len=1738, rcv_info=0x7fb952932770, con=con at entry=0x7fb952932758) at core/tcp_read.c:1424
        buf = 0x5608eb7aa330 "INVITE sips:1234 at 10.0.1.1:5061 SIP/2.0\r\nVia: SIP/2.0/TLS 10.0.1.129:5060;TH=div;branch=z9hG4bK350560282;rport;alias\r\nFrom: \"Node1 Number1\" <sips:100101 at 10.0.1.1:5061>;tag=1456723635\r\nTo: <sips:1234 at 10"...
        bsize = 65535
        blen = <optimized out>
        __func__ = "receive_tcp_msg"
#23 0x00005608e90ed3db in tcp_read_req (con=0x7fb952932758, bytes_read=bytes_read at entry=0x7fffcf4cc39c, read_flags=read_flags at entry=0x7fffcf4cc3a4) at core/tcp_read.c:1607
        bytes = <optimized out>
        total_bytes = 1738
        resp = 1
        size = <optimized out>
        req = 0x7fb952932880
        dst = {send_sock = 0x7fffcf4cc2d0, to = {s = {sa_family = 32855, sa_data = "\017\351\bV\000\000\340\302L\317\377\177\000"}, sin = {sin_family = 32855, sin_port = 59663, sin_addr = {s_addr = 22024}, 
              sin_zero = "\340\302L\317\377\177\000"}, sin6 = {sin6_family = 32855, sin6_port = 59663, sin6_flowinfo = 22024, sin6_addr = {__in6_u = {
                  __u6_addr8 = "\340\302L\317\377\177\000\000\030\000\000\000\000\000\000", __u6_addr16 = {49888, 53068, 32767, 0, 24, 0, 0, 0}, __u6_addr32 = {3477914336, 32767, 24, 0}}}, sin6_scope_id = 0}, 
--Type <RET> for more, q to quit, c to continue without paging--
            sas = {ss_family = 32855, 
              __ss_padding = "\017\351\bV\000\000\340\302L\317\377\177\000\000\030", '\000' <repeats 15 times>, "\220$l\353\bV\000\000\000\000\000\000\002\000\000\000\002", '\000' <repeats 11 times>, "\001 \000\000\320VAW\271\177\000\000\000\000\000\000\000\000\000\000\021\234\nW\271\177\000\000\000\000\200\000\000\000\000\000h\225c\000\000\000\000\000\250\303L\317\377\177\000\000\b\000\000\000\000\000\000", 
              __ss_align = 20}}, id = 1, send_flags = {f = 1, blst_imask = 0}, proto = 17 '\021', proto_pad0 = 0 '\000', proto_pad1 = 0}
        c = 0 '\000'
        ret = <optimized out>
        __func__ = "tcp_read_req"
#24 0x00005608e90f26ab in handle_io (fm=<optimized out>, events=<optimized out>, idx=-1) at core/tcp_read.c:1857
        ret = 327
        n = 1541
        read_flags = RD_CONN_SHORT_READ
        con = 0x7fb952932758
        s = 17
        resp = <optimized out>
        t = <optimized out>
        ee = 0x0
        __func__ = "handle_io"
#25 0x00005608e90f6fee in io_wait_loop_epoll (repeat=repeat at entry=0, t=2, h=0x5608e940a120 <io_w>) at core/io_wait.h:1069
        n = 1
        r = 0
        fm = 0x7fb9574156d0
        revents = 1
        __func__ = "io_wait_loop_epoll"
#26 0x00005608e90fa6ef in tcp_receive_loop (unix_sock=<optimized out>) at core/tcp_read.c:1978
        __func__ = "tcp_receive_loop"
#27 0x00005608e8fdbe9a in tcp_init_children (woneinit=0x7fffcf4cc88c) at core/tcp_main.c:5153
        r = <optimized out>
        i = <optimized out>
        reader_fd_1 = 52
        pid = <optimized out>
        si_desc = "tcp receiver (generic)\000\000\001", '\000' <repeats 15 times>, "\034\061\001\351\bV\000\000(\023 at W\271\177\000\000\001", '\000' <repeats 15 times>, "\354Y\v\351\bV\000\000\000\000&R\271\177\000\000\004\000\000\000\000\000\000\000$\300\037\351\bV\000\000\250\000 \351\bV\000\000\004\300\037\351\bV\000\000\rI\023\351\bV\000"
        si = <optimized out>
        __func__ = "tcp_init_children"
#28 0x00005608e8f28203 in main_loop () at main.c:1857
        i = <optimized out>
        pid = <optimized out>
        si = <optimized out>
        si_desc = "udp receiver child=7 sock=10.0.1.1:5060\000\000\000\000\000\bV\000\000\277\350`V\271\177\000\000\022\000\000\000\377\177\000\000\000\000\000\000\000\000\000\000\361\064\001\351\bV\000\000\200\313\245W\271\177\000\000\000z\021Y\372\017\223\221\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000HdA\351\bV\000\000 at dA\351\bV\000"
        nrprocs = <optimized out>
        woneinit = 1
        __func__ = "main_loop"
#29 0x00005608e8f1ea04 in main (argc=<optimized out>, argv=<optimized out>) at main.c:3053
        cfg_stream = <optimized out>
        c = <optimized out>
        r = <optimized out>
        tmp = 0x7fffcf4cee2c ""
        tmp_len = 1473862992
        port = 32697
        proto = 0
        ahost = 0x0
        aport = 0
        options = 0x5608e91fea78 ":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:Y:"
        ret = -1
        seed = 2003480732
        rfd = <optimized out>
        debug_save = <optimized out>
        debug_flag = <optimized out>
        dont_fork_cnt = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        n_lst = <optimized out>
        p = <optimized out>
        st = {st_dev = 24, st_ino = 23868433, st_nlink = 2, st_mode = 16832, st_uid = 999, st_gid = 999, __pad0 = 0, st_rdev = 0, st_size = 40, st_blksize = 4096, st_blocks = 0, st_atim = {tv_sec = 1652771183, 
            tv_nsec = 782356937}, st_mtim = {tv_sec = 1652771193, tv_nsec = 677508981}, st_ctim = {tv_sec = 1652771193, tv_nsec = 677508981}, __glibc_reserved = {0, 0, 0}}
        tbuf = "\000\000\000\000\000\000\000\000PQ\333W\271\177\000\000\370\377\377\377\377\377\377\377\b\025\332W\271\177\000\000`\315L\317\377\177\000\000E\345\330W\271\177", '\000' <repeats 26 times>, "\001\000\000\000\000\000\000\000\000W\333W\271\177\000\000\200\313\245W\271\177\000\000 \314L\317\377\177\000\000\001\314L\317\377\177\000\000\260I\333W\271\177", '\000' <repeats 42 times>, "\030\202V\317\377\177", '\000' <repeats 14 times>, " ", '\000' <repeats 27 times>...
        option_index = 0
        long_options = {{name = 0x5608e91fd259 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x5608e92007a9 "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x5608e92317c2 "alias", has_arg = 1, 
            flag = 0x0, val = 1024}, {name = 0x5608e91fd25e "subst", has_arg = 1, flag = 0x0, val = 1025}, {name = 0x5608e91fd264 "substdef", has_arg = 1, flag = 0x0, val = 1026}, {
            name = 0x5608e91fd26d "substdefs", has_arg = 1, flag = 0x0, val = 1027}, {name = 0x5608e91fd277 "server-id", has_arg = 1, flag = 0x0, val = 1028}, {name = 0x5608e91fd281 "loadmodule", has_arg = 1, 
            flag = 0x0, val = 1029}, {name = 0x5608e91fd28c "modparam", has_arg = 1, flag = 0x0, val = 1030}, {name = 0x5608e91fd295 "log-engine", has_arg = 1, flag = 0x0, val = 1031}, {
            name = 0x5608e92008b9 "debug", has_arg = 1, flag = 0x0, val = 1032}, {name = 0x5608e91fd2a0 "cfg-print", has_arg = 0, flag = 0x0, val = 1033}, {name = 0x5608e91fd2aa "atexit", has_arg = 1, 
            flag = 0x0, val = 1034}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        __func__ = "main"

(gdb) info locals
val = {n = 1451801216, s = {
    s = 0x7fb95688ba80 "\307\356\370\377\243\356\370\377\226\356\370\377\v\356\370\377\354\356\370\377\027%\371\377\t%\371\377\373$\371\377\355$\371\377d&\371\377j%\371\377\341\355\370\377\341\355\370\377\202\356\370\377\367\355\370\377", len = 1371188816}, re = 0x7fb95688ba80}
ret = <optimized out>
avp = <optimized out>
pv_val = {rs = {
    s = 0x7fb95688ba80 "\307\356\370\377\243\356\370\377\226\356\370\377\v\356\370\377\354\356\370\377\027%\371\377\t%\371\377\373$\371\377\355$\371\377d&\371\377j%\371\377\341\355\370\377\341\355\370\377\202\356\370\377\367\355\370\377", len = 1371188816}, ri = 1371188816, flags = 32697}
__func__ = "get_str_fparam"

```

#### Log Messages

<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->

```
May 17 09:07:06 ttel /usr/sbin/kamailio[2002728]: CRITICAL: <core> [core/pass_fd.c:277]: receive_fd(): EOF on 48
May 17 09:07:06 ttel /usr/sbin/kamailio[2002683]: ALERT: <core> [main.c:788]: handle_sigs(): child process 2002721 exited by a signal 11
May 17 09:07:06 ttel /usr/sbin/kamailio[2002683]: ALERT: <core> [main.c:791]: handle_sigs(): core was generated
May 17 09:07:06 ttel /usr/sbin/kamailio[2002683]: INFO: <core> [main.c:813]: handle_sigs(): terminating due to SIGCHLD
```

### Possible Solutions

<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->

If I set a value for the optional parameter q, the forking works as expected `msg.call_function('append_branch', ruri, "1")`. Without the q parameter, it segfaults.

### Additional Information

  * **Kamailio Version** - output of `kamailio -v`

```
kamailio -v
version: kamailio 5.5.4 (x86_64/linux) 54c9df
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 54c9df 
compiled on 10:01:05 Feb 17 2022 with x86_64-poky-linux-gcc 9.3.0
```

* **Operating System**:

<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `lsb_release -a` and `uname -a`)
-->

```
Linux ttel 5.4.172-yocto-standard #1 SMP PREEMPT Mon Jan 17 19:47:33 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
```


-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3113
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3113 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20220517/23c8825f/attachment-0001.htm>


More information about the sr-dev mailing list