Hi,
Since I am getting errors in from the usrloc module, I am trying another way to parse out the information I need using pv.so. I'm encountering similar segfaults issues. Here are snippets of my configs:
modparam("sipcapture", "db_url", "mysql://xxx:xxx@localhost/test_db") modparam("sipcapture", "capture_on", 1) modparam("sipcapture", "table_name", "sip_capture") modparam("sipcapture", "raw_socket_listen", "127.0.0.1:5060-9000") modparam("sipcapture", "raw_interface", "eth2") modparam("sipcapture", "raw_sock_children", 4) modparam("sipcapture", "raw_moni_capture_on", 1) modparam("sipcapture", "promiscious_on", 1)
route { if (method == "REGISTER") { if (avp_check("$si","eq/10.xxx.xxx.xxx")) { #save("location", "0x04"); # This currently results in segfault and is being addressed by Alexandr sip_capture(); xlog("The received IP is $Ri\n"); # Just to test if I am able to parse the received IP from the Via headers correctly drop; } drop; } }
Feb 17 13:41:02 ubuntu kernel: [251382.760104] kamailio[9414]: segfault at 31 ip 00007fb4ef077611 sp 00007fff0c8a6468 error 4 in pv.so[7fb4ef06a000+39000]
Core was generated by `kamailio -w /home/core'. Program terminated with signal 11, Segmentation fault. #0 pv_get_rcvip (msg=0x7fb4efdd7598, param=0x7fb4efdcef88, res=0x7fff0c8a64b0) at pv_core.c:647 647 || msg->rcv.bind_address->address_str.s==NULL)
(gdb) bt #0 pv_get_rcvip (msg=0x7fb4efdd7598, param=0x7fb4efdcef88, res=0x7fff0c8a64b0) at pv_core.c:647 #1 0x000000000049b5ad in pv_get_spec_value (msg=0x7fb4efdd7598, sp=0x7fb4efdcef70, value=0x7fff0c8a64b0) at pvapi.c:1180 #2 0x000000000049b71d in pv_printf (msg=0x7fb4efdd7598, list=<optimized out>, buf=<optimized out>, len=0x7fff0c8a6558) at pvapi.c:1239 #3 0x00007fb4ed0d442e in xlog_helper (msg=<optimized out>, xm=0x7fb4efdceef0, level=-1, line=0) at xlog.c:168 #4 0x000000000041babb in do_action (h=0x7fff0c8a73b0, a=0x7fb4efdd02a0, msg=0x7fb4efdd7598) at action.c:1122 #5 0x000000000041abe2 in run_actions (h=0x7fff0c8a73b0, a=0x7fb4efdd0080, msg=0x7fb4efdd7598) at action.c:1610 #6 0x000000000041c05b in do_action (h=0x7fff0c8a73b0, a=0x7fb4efdd10d0, msg=0x7fb4efdd7598) at action.c:1107 #7 0x000000000041abe2 in run_actions (h=0x7fff0c8a73b0, a=0x7fb4efdd10d0, msg=0x7fb4efdd7598) at action.c:1610 #8 0x000000000041c05b in do_action (h=0x7fff0c8a73b0, a=0x7fb4efdd1350, msg=0x7fb4efdd7598) at action.c:1107 #9 0x000000000041abe2 in run_actions (h=0x7fff0c8a73b0, a=0x7fb4efdd1350, msg=0x7fb4efdd7598) at action.c:1610 #10 0x0000000000422fa2 in run_top_route (a=0x7fb4efdd1350, msg=0x7fb4efdd7598, c=<optimized out>) at action.c:1683 #11 0x00000000004b061e in receive_msg (buf=<optimized out>, len=<optimized out>, rcv_info=<optimized out>) at receive.c:207 #12 0x00007fb4edb538b0 in raw_capture_rcv_loop (rsock=5, port1=5060, port2=8933, ipip=0) at sipcapture.c:1518 #13 0x00007fb4edb53e1f in init_rawsock_children () at sipcapture.c:572 #14 0x00007fb4edb54033 in child_init (rank=<optimized out>) at sipcapture.c:542 #15 0x0000000000507a0f in init_mod_child (m=0x7fb4efdcb2b0, rank=0) at sr_module.c:886 #16 0x0000000000507974 in init_mod_child (m=0x7fb4efdcb668, rank=0) at sr_module.c:883 #17 0x0000000000507974 in init_mod_child (m=0x7fb4efdcc178, rank=0) at sr_module.c:883 #18 0x0000000000507974 in init_mod_child (m=0x7fb4efdcc4b0, rank=0) at sr_module.c:883 #19 0x0000000000507974 in init_mod_child (m=0x7fb4efdccaf0, rank=0) at sr_module.c:883 #20 0x0000000000507974 in init_mod_child (m=0x7fb4efdcd030, rank=0) at sr_module.c:883 #21 0x0000000000476149 in main_loop () at main.c:1661 #22 0x000000000041a940 in main (argc=<optimized out>, argv=0x7fff0c8a7be8) at main.c:2475
(gdb) p *msg $1 = {id = 82, pid = 9418, fwd_send_flags = {f = 0 '\000', blst_imask = 0 '\000'}, rpl_send_flags = {f = 0 '\000', blst_imask = 0 '\000'}, first_line = { type = 1, len = 43, u = {request = {method = { s = 0x7fb4edd57d2a "REGISTER sip:abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCal"..., len = 8}, uri = { s = 0x7fb4edd57d33 "sip:abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCall-ID: 225"..., len = 24}, version = { s = 0x7fb4edd57d4c "SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCall-ID: 2257e150-b49dfd8d-c8d924b2@1"..., len = 7}, method_value = 32}, reply = {version = { s = 0x7fb4edd57d2a "REGISTER sip:abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCal"..., len = 8}, status = { s = 0x7fb4edd57d33 "sip:abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCall-ID: 225"..., len = 24}, reason = { s = 0x7fb4edd57d4c "SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCall-ID: 2257e150-b49dfd8d-c8d924b2@1"..., len = 7}, statuscode = 32}}}, via1 = 0x7fb4efdd7ef0, via2 = 0x7fb4efdd8218, headers = 0x7fb4efdd7e50, last_header = 0x7fb4efdd87c0, parsed_flag = 18446744073709551615, h_via1 = 0x7fb4efdd80d8, h_via2 = 0x7fb4efdd8178, callid = 0x7fb4efdd19b0, to = 0x7fb4efdd1910, cseq = 0x7fb4efdd7c80, from = 0x7fb4efdd7e50, contact = 0x7fb4efdd84a0, maxforwards = 0x7fb4efdd8680, route = 0x0, record_route = 0x0, content_type = 0x0, content_length = 0x7fb4efdd87c0, authorization = 0x0, expires = 0x7fb4efdd8720, proxy_auth = 0x0, supported = 0x0, require = 0x0, proxy_require = 0x0, unsupported = 0x0, allow = 0x0, event = 0x0, accept = 0x0, accept_language = 0x7fb4efdd85e0, organization = 0x0, priority = 0x0, subject = 0x0, user_agent = 0x7fb4efdd8540, server = 0x0, content_disposition = 0x0, accept_disposition = 0x0, diversion = 0x0, rpid = 0x0, refer_to = 0x0, session_expires = 0x0, min_se = 0x0, sipifmatch = 0x0, subscription_state = 0x0, date = 0x0, identity = 0x0, identity_info = 0x0, pai = 0x0, ppi = 0x0, path = 0x0, privacy = 0x0, body = 0x0, eoh = 0x7fb4edd58036 "12963462", realm="proxyApp", nonce="proxyAppXgyrmj82aTujp3sdBW", uri="sip:abc.def.com", response="039891b3f5999b90a645d3e808c2147c", algorithm=MD5, cnonce="l7/u88HtGJCOAmM", qop=auth, nc="..., unparsed = 0x7fb4edd58036 "12963462", realm="proxyApp", nonce="proxyAppXgyrmj82aTujp3sdBW", uri="sip:abc.def.com", response="039891b3f5999b90a645d3e808c2147c", algorithm=MD5, cnonce="l7/u88HtGJCOAmM", qop=auth, nc="..., rcv = {src_ip = {af = 2, len = 4, u = {addrl = {140411255757578, 4294967291}, addr32 = {184916746, 32692, 4294967291, 0}, addr16 = {39690, 2821, 32692, 0, 65531, 65535, 0, 0}, addr = "\n\233\005\v\264\177\000\000\373\377\377\377\000\000\000"}}, dst_ip = {af = 2, len = 4, u = {addrl = {140414021193994, 5273972}, addr32 = { 2950353162, 32692, 5273972, 0}, addr16 = {53514, 45018, 32692, 0, 31092, 80, 0, 0}, addr = "\n\321Ú¯\264\177\000\000tyP\000\000\000\000"}}, src_port = 5060, dst_port = 5060, proto_reserved1 = 32692, proto_reserved2 = -266587208, src_su = {s = {sa_family = 2, sa_data = "\023\304\n\233\005\v\000\000\000\000\000\000\000"}, sin = {sin_family = 2, sin_port = 50195, sin_addr = {s_addr = 184916746}, sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 2, sin6_port = 50195, sin6_flowinfo = 184916746, sin6_addr = {__in6_u = { __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}, bind_address = 0x1, proto = 1 '\001'}, buf = 0x7fb4edd57d2a "REGISTER sip:abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCal"..., len = 782, new_uri = {s = 0x0, len = 0}, dst_uri = {s = 0x0, len = 0}, parsed_uri_ok = 1, parsed_uri = {user = {s = 0x0, len = 0}, passwd = {s = 0x0, len = 0}, host = { s = 0x7fb4edd57d37 "abc.def.com SIP/2.0\r\nFrom: "9995551234" sip:9995551234@abc.def.com;rp=SandboxTestingRegistrations;tag=F9EEDA6C-E203EB89\r\nTo: sip:9995551234@abc.def.com\r\nCall-ID: 2257e15"..., len = 20}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, sip_params = {s = 0x0, len = 0}, headers = {s = 0x0, len = 0}, port_no = 0, proto = 0, type = SIP_URI_T, flags = 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}, transport_val = {s = 0x0, len = 0}, 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}}, parsed_orig_ruri_ok = 0, parsed_orig_ruri = {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 = 0x0, len = 0}, port_no = 0, proto = 0, type = ERROR_URI_T, flags = 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}, transport_val = {s = 0x0, len = 0}, 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}}, add_rm = 0x0, body_lumps = 0x0, reply_lump = 0x0, add_to_branch_s = '\000' <repeats 57 times>, add_to_branch_len = 0, hash_index = 0, msg_flags = 0, flags = 0, set_global_address = {s = 0x0, len = 0}, set_global_port = {s = 0x0, len = 0}, force_send_socket = 0x0, path_vec = {s = 0x0, len = 0}} (gdb) p *msg->rcv.bind_address Cannot access memory at address 0x1
(gdb)
Thanks, Simpson
________________________________ From: "sr-users-request@lists.sip-router.org" sr-users-request@lists.sip-router.org To: sr-users@lists.sip-router.org Sent: Friday, February 17, 2012 7:34 AM Subject: sr-users Digest, Vol 81, Issue 52
Send sr-users mailing list submissions to sr-users@lists.sip-router.org
To subscribe or unsubscribe via the World Wide Web, visit http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users or, via email, send a message with subject or body 'help' to sr-users-request@lists.sip-router.org
You can reach the person managing the list at sr-users-owner@lists.sip-router.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of sr-users digest..."
Today's Topics:
1. Re: ndb_redis module fails after a while (Daniel-Constantin Mierla) 2. Re: Kamailio Exits With: Segmentation Fault Error 4 in usrloc.so (Alexandr Dubovikov)
----------------------------------------------------------------------
Message: 1 Date: Fri, 17 Feb 2012 14:30:44 +0100 From: Daniel-Constantin Mierla miconda@gmail.com Subject: Re: [SR-Users] ndb_redis module fails after a while To: "SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List" sr-users@lists.sip-router.org Cc: Javier Gallart jgallartm@gmail.com Message-ID: 4F3E5684.3090203@gmail.com Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Hello,
right, very dummy paste position for resetting the redis context, use the attached patch or exchange lines 228 and 229. in redis_client.c
Thanks, Daniel
On 2/17/12 1:13 PM, Javier Gallart wrote:
Hi Daniel, Andrew
I've just tested the patch and kamailio crashes when the redis server is stopped. This is what I could get: -From the logs: Feb 17 06:33:32 r-gate-test ./kamailio[23812]: ALERT: <core> [main.c:751]: child process 23819 exited by a signal 11 Feb 17 06:33:32 r-gate-test ./kamailio[23812]: ALERT: <core> [main.c:754]: core was generated Feb 17 06:33:32 r-gate-test ./kamailio[23812]: INFO: <core> [main.c:766]: INFO: terminating due to SIGCHLD
-An the backtrace: (...) Core was generated by `./kamailio -f ../etc/kamailio/kamailio.cfg'. Program terminated with signal 11, Segmentation fault. #0 redisFree (c=0x0) at hiredis.c:817 817 if (c->fd > 0) (gdb) bt #0 redisFree (c=0x0) at hiredis.c:817 #1 0x00007f726f035461 in redisc_reconnect_server (rsrv=0x7f7271c93ac0) at redis_client.c:229 #2 0x00007f726f037240 in redisc_exec (srv=<value optimized out>, cmd=0x7fffe98c6090, argv1=<value optimized out>, argv2=<value optimized out>, argv3=<value optimized out>, res=<value optimized out>) at redis_client.c:298 #3 0x00007f726f034f7d in w_redis_cmd3 (msg=0x7f7271d7b018, ssrv=<value optimized out>, scmd=<value optimized out>, sres=0x7f7271d74b58 "h\341\313qr\177") at ndb_redis_mod.c:156 #4 0x0000000000417025 in do_action (h=0x7fffe98c6570, a=0x7f7271cc5248, msg=<value optimized out>) at action.c:1134 #5 0x000000000041e58b in run_actions (h=<value optimized out>, a=<value optimized out>, msg=<value optimized out>) at action.c:1610 #6 0x000000000041e8d4 in run_actions_safe (h=0x7fffe98c7610, a=0x7f7271c93781, msg=0x7f7271c93780) at action.c:1662 #7 0x00000000004b731d in rval_get_int (h=0x7fffe98c7610, msg=0x0, i=0x7fffe98c6bd8, rv=0x3, cache=0x4) at rvalue.c:920 #8 0x00000000004bb87c in rval_expr_eval_int (h=0x7fffe98c7610, msg=0x7f7271d7b018, res=0x7fffe98c6bd8, rve=0x7f7271cc6768) at rvalue.c:1914 #9 0x0000000000417c7c in do_action (h=0x7fffe98c7610, a=0x7f7271ccb9d0, msg=<value optimized out>) at action.c:1092 #10 0x000000000041e58b in run_actions (h=<value optimized out>, a=<value optimized out>, msg=<value optimized out>) at action.c:1610 #11 0x0000000000417cd7 in do_action (h=0x7fffe98c7610, a=0x7f7271ccbb10, msg=<value optimized out>) at action.c:1111 #12 0x000000000041e58b in run_actions (h=<value optimized out>, a=<value optimized out>, msg=<value optimized out>) at action.c:1610 #13 0x000000000041795e in do_action (h=0x7fffe98c7610, a=<value optimized out>, msg=<value optimized out>) at action.c:732 #14 0x000000000041e58b in run_actions (h=<value optimized out>, a=<value optimized out>, msg=<value optimized out>) at action.c:1610 #15 0x000000000041e862 in run_top_route (a=0x7f7271c94888, msg=0x7f7271d7b018, c=<value optimized out>) at action.c:1683 #16 0x0000000000498f36 in receive_msg ( buf=0x8bb100 "INVITE sip:34661574758@79.170.68.215:5060 http://sip:34661574758@79.170.68.215:5060 SIP/2.0\r\nVia: SIP/2.0/UDP 79.170.68.214:5060;branch=z9hG4bK-9451-1-0\r\nFrom: 34661574758 <sip:34661574758@79.170.68.214:5060 http://sip:34661574758@79.170.68.214:5060>;tag=9451SIPpTag001\r\nTo: sut <sip:"..., len=<value optimized out>, rcv_info=0x7fffe98c7910) at receive.c:207 #17 0x0000000000525987 in udp_rcv_loop () at udp_server.c:544 #18 0x00000000004635f4 in main_loop () at main.c:1585 #19 0x0000000000465e62 in main (argc=3, argv=0x7fffe98c7c08) at main.c:2475
Regards
Javi
On Fri, Feb 17, 2012 at 11:39 AM, Daniel-Constantin Mierla <miconda@gmail.com mailto:miconda@gmail.com> wrote:
Hello,
thanks for testing, indeed it was an extra declaration left over. Can you try with the new patch attached?
Cheers, Daniel
On 2/17/12 11:10 AM, Andrew Pogrebennyk wrote:
Hi Daniel,
On 02/17/2012 10:47 AM, Daniel-Constantin Mierla wrote:
I made a patch for server reconnect -- I had no access to a computer with redis lib installed for the moment, hopefully it compiles. If you can try and tell the result, it would be great, I can commit then.
I may be able to test this patch as well. Currently compilations bails out on attempt to redeclare redisc_reconnect_server function parameter:
CC (gcc) [M ndb_redis.so] ndb_redis_mod.o CC (gcc) [M ndb_redis.so] redis_client.o redis_client.c: In function 'redisc_reconnect_server': redis_client.c:206:19: error: 'rsrv' redeclared as different kind of symbol redis_client.c:202:46: note: previous definition of 'rsrv' was here make[1]: *** [redis_client.o] Error 1 make: *** [modules] Error 1
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla -- http://www.asipto.com http://linkedin.com/in/miconda -- http://twitter.com/miconda
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users