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(a)lists.sip-router.org"
<sr-users-request(a)lists.sip-router.org>
To: sr-users(a)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(a)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(a)lists.sip-router.org
You can reach the person managing the list at
sr-users-owner(a)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(a)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(a)lists.sip-router.org>
Cc: Javier Gallart <jgallartm(a)gmail.com>
Message-ID: <4F3E5684.3090203(a)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(a)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(a)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(a)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