Hi,
I've been trying to get MSRP working with the code in git master. I get a segmentation fault when I send in an MSRP frame. The frame I am using is the example from the module README:
MSRP 6aef SEND To-Path: msrps://a.example.org:9000/kjfjan;tcp msrps://b.example.net:9000/aeiug;tcp msrps://bob.example.net:8145/foo;tcp From-Path: msrps://alice.example.org:7965/bar;tcp Success-Report: yes Byte-Range: 1-*/* Message-ID: 87652 Content-Type: text/plain
Hi Bob, I'm about to send you a photo. -------6aef$
I have put this into a text file (with \r\n line endings) and am using nc to feed it into Kamailio. My MSRP event_route[] is also copied directly from the module README.
This is the back-trace from GDB: Program terminated with signal 11, Segmentation fault. #0 0x00007f604f6dfd00 in pv_get_msrp (msg=0x7f604f8e7700, param=0x7f60573cb1f0, res=0x7fffed403b90) at msrp_vars.c:269 269 return pv_get_uintval(msg, param, res, sar->size-1); (gdb) bt #0 0x00007f604f6dfd00 in pv_get_msrp (msg=0x7f604f8e7700, param=0x7f60573cb1f0, res=0x7fffed403b90) at msrp_vars.c:269 #1 0x000000000048a6ca in pv_get_spec_value (msg=0x7f604f8e7700, sp=0x7f60573cb1d8, value=0x7fffed403b90) at pvapi.c:1233 #2 0x00000000004b7bf0 in rval_get_int (h=0x7fffed404a10, msg=<value optimized out>, i=0x7fffed403e5c, rv=<value optimized out>, cache=<value optimized out>) at rvalue.c:974 #3 0x00000000004bc22c in rval_expr_eval_int (h=0x7fffed404a10, msg=0x7f604f8e7700, res=0x7fffed403e5c, rve=0x7f60573cb1c8) at rvalue.c:1914 #4 0x00000000004bc3a9 in rval_expr_eval_int (h=0x7fffed404a10, msg=0x7f604f8e7700, res=0x7fffed4042b8, rve=0x7f60573cbf68) at rvalue.c:1947 #5 0x0000000000415f4c in do_action (h=0x7fffed404a10, a=0x7f60573cd6d8, msg=0x7f604f8e7700) at action.c:1123 #6 0x000000000041c586 in run_actions (h=0x7fffed404a10, a=0x7f60573cd6d8, msg=0x7f604f8e7700) at action.c:1646 #7 0x0000000000415fa3 in do_action (h=0x7fffed404a10, a=0x7f60573d1e88, msg=0x7f604f8e7700) at action.c:1142 #8 0x000000000041c586 in run_actions (h=0x7fffed404a10, a=0x7f60573ba538, msg=0x7f604f8e7700) at action.c:1646 #9 0x000000000041cbc0 in run_top_route (a=0x7f60573ba538, msg=0x7f604f8e7700, c=<value optimized out>) at action.c:1731 #10 0x00007f604f6d769e in msrp_frame_received (data=<value optimized out>) at msrp_mod.c:377 #11 0x0000000000512d49 in msrp_process_msg ( tcpbuf=0x7f6050576a28 "MSRP 6aef SEND\r\nTo-Path: msrps://a.example.org:9000/kjfjan;tcp msrps://b.example.net:9000/aeiug;tcp msrps://bob.example.net:8145/foo;tcp\r\nFrom-Path: msrps://alice.example.org:7965/bar;tcp\r\nSuccess-Rep"..., len=330, rcv_info=0x7f6050576758, con=0x7f6050576740) at tcp_read.c:1010 #12 0x00000000005176df in tcp_read_req (con=0x7f6050576740, bytes_read=0x7fffed404d98, read_flags=0x7fffed404d94) at tcp_read.c:1380 #13 0x0000000000519630 in handle_io (fm=<value optimized out>, events=<value optimized out>, idx=<value optimized out>) at tcp_read.c:1552 #14 0x000000000051bae9 in io_wait_loop_epoll (unix_sock=<value optimized out>) at io_wait.h:1092 #15 tcp_receive_loop (unix_sock=<value optimized out>) at tcp_read.c:1721 #16 0x00000000004ec0eb in tcp_init_children () at tcp_main.c:4953 #17 0x0000000000466789 in main_loop () at main.c:1722 #18 0x000000000046819c in main (argc=<value optimized out>, argv=<value optimized out>) at main.c:2563
Regards,
Peter