[OpenSIPS-Users] segfault in codecs.c during call back

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Dec 7 12:57:05 CET 2010


Hi Bobby,

in what kind of routes do you use codec related ops ?

Regards,
Bogdan

Bobby Smith wrote:
> On revision 7081 (opensips trunk), we've run into a couple of 
> situations where cores were generated from a segfault.  They both look 
> the same, contents attached.
>
>
> #0  backup () at codecs.c:104
> 104                             int n = old->len;
> (gdb) bt full
> #0  backup () at codecs.c:104
>         l = 0x79d8b0
>         old = 0x0
>         n = <value optimized out>
>         len = 1
>         i = 0
>         __FUNCTION__ = "backup"
> #1  0x00002b0d01fb00e1 in pre_route_callback (msg=0x2b0d01b8b140, 
> param=0x79caf0) at codecs.c:169
> No locals.
> #2  0x000000000046d9be in exec_post_cb (msg=0x2b0d01b8b140) at 
> script_cb.c:198
> No locals.
> #3  exec_pre_route_cb (msg=0x2b0d01b8b140) at script_cb.c:231
> No locals.
> #4  0x0000000000412153 in run_top_route (a=0x794e70, 
> msg=0x2b0d01b8b140) at action.c:181
>         bk_action_flags = 0
>         bk_rec_lev = 0
> #5  0x00002b0d0197777f in run_failure_handlers (Trans=0x2b0d03954950, 
> new_code=<value optimized out>, branch=<value optimized out>, 
> should_store=0x7fff00703b58, should_relay=0x7fff00703b5c, 
> cancel_bitmap=<value optimized out>,
>     reply=0x796cc0) at t_reply.c:613
>         faked_req = {id = 6, first_line = {type = 1, len = 53, u = 
> {request = {method = {
>                   s = 0x2b0d0395bb00 "OPTIONS 
> sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83"..., len = 7}, uri = {
>                   s = 0x2b0d0395bb08 
> "sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r"..., len = 35}, 
> version = {
>                   s = 0x2b0d0395bb2c "SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia: 
> SIP/2.0/UDP 109.104.88.29:5064 <http://109.104.88.29:5064>"..., len = 
> 7}, method_value = 32}, reply = {version = {
>                   s = 0x2b0d0395bb00 "OPTIONS 
> sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83"..., len = 7}, status = {
>                   s = 0x2b0d0395bb08 
> "sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r"..., len = 35}, 
> reason = {
>                   s = 0x2b0d0395bb2c "SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia: 
> SIP/2.0/UDP 109.104.88.29:5064 <http://109.104.88.29:5064>"..., len = 
> 7}, statuscode = 32}}}, via1 = 0x2b0d0395bdf8, via2 = 0x2b0d0395bf70, 
> headers = 0x2b0d0395bd68, last_header = 0x2b0d0395c530, parsed_flag = 
> 18446744073709551615, h_via1 = 0x2b0d0395bdb0, h_via2 = 0x2b0d0395bf28,
>           callid = 0x2b0d0395c4e8, to = 0x2b0d0395c240, cseq = 
> 0x2b0d0395c470, from = 0x2b0d0395c168, contact = 0x2b0d0395c428, 
> maxforwards = 0x2b0d0395c530, route = 0x0, record_route = 
> 0x2b0d0395bd68, path = 0x0, content_type = 0x0,
>           content_length = 0x2b0d0395c120, authorization = 0x0, 
> expires = 0x0, proxy_auth = 0x0, supported = 0x0, proxy_require = 0x0, 
> unsupported = 0x0, allow = 0x0, event = 0x0, accept = 0x2b0d0395c1b0, 
> accept_language = 0x0,
>           organization = 0x0, priority = 0x0, subject = 0x0, 
> user_agent = 0x2b0d0395c1f8, content_disposition = 0x0, 
> accept_disposition = 0x0, diversion = 0x0, rpid = 0x0, refer_to = 0x0, 
> session_expires = 0x0, min_se = 0x0, ppi = 0x0,
>           pai = 0x0, privacy = 0x0, sdp = 0x0, multi = 0x0, eoh = 
> 0x2b0d0395bd63 "\r\n", unparsed = 0x2b0d0395bd63 "\r\n", rcv = {src_ip 
> = {af = 2, len = 4, u = {addrl = {4113468365, 7}, addr32 = 
> {4113468365, 0, 7, 0}, addr16 = {35789,
>                   62766, 0, 0, 7, 0, 0, 0}, addr = 
> "Í.\365\000\000\000\000\a\000\000\000\000\000\000"}}, dst_ip = {af = 
> 2, len = 4, u = {addrl = {2519632845, 0}, addr32 = {2519632845, 0, 0, 
> 0}, addr16 = {35789, 38446, 0, 0, 0, 0, 0,
>                   0}, addr = "Í.\226", '\000' <repeats 11 times>}}, 
> src_port = 5060, dst_port = 5060, proto = 1, proto_reserved1 = 0, 
> proto_reserved2 = 0, src_su = {s = {sa_family = 2,
>                 sa_data = 
> "\023\304Í.\365\000\000\000\000\000\000\000"}, sin = {sin_family = 2, 
> sin_port = 50195, sin_addr = {s_addr = 4113468365}, sin_zero = 
> "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 2,
>                 sin6_port = 50195, sin6_flowinfo = 4113468365, 
> 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 = 0x795ca0},
>           buf = 0x2b0d0395bb00 "OPTIONS 
> sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83"..., len = 613, new_uri = 
> {s = 0x79c4f0 "sip:100 at internal-sip.mycompany.com 
> <mailto:sip%3A100 at internal-sip.mycompany.com>", len = 35}, dst_uri = 
> {s = 0x0, len = 0}, parsed_uri_ok = 0, parsed_uri = {user = {
>               s = 0x2b0d0395bb0c "100 at internal-sip.mycompany.com 
> <mailto:100 at internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia"..., len = 
> 3}, passwd = {s = 0x0, len = 0}, host = {
>               s = 0x2b0d0395bb10 "internal-sip.mycompany.com 
> <http://internal-sip.mycompany.com> SIP/2.0\r\nRecord-Route: 
> <sip:4.2.46.245;lr=on;ftag=6364386232656635313363340133363632373934353030>\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia: SI"..., 
> len = 27}, port = {s = 0x0, len = 0}, params = {s = 0x0, len = 0}, 
> headers = {s = 0x0, len = 0}, port_no = 0, proto = 0, type = 
> SIP_URI_T, 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}, headers = {s = 0x0, len = 0}, 
> port_no = 0, proto = 0, type = ERROR_URI_T, 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 = 8312, flags = 0, msg_flags = 32, 
> set_global_address = {s = 0x0, len = 0}, set_global_port = {s = 0x0, 
> len = 0}, force_send_socket = 0x0,
>           path_vec = {s = 0x0, len = 0}, msg_cb = 0x0}
>         __FUNCTION__ = "run_failure_handlers"
> #6  t_should_relay_response (Trans=0x2b0d03954950, new_code=<value 
> optimized out>, branch=<value optimized out>, 
> should_store=0x7fff00703b58, should_relay=0x7fff00703b5c, 
> cancel_bitmap=<value optimized out>, reply=0x796cc0)
>     at t_reply.c:911
>         branch_cnt = 1
>         picked_code = <value optimized out>
>         inv_through = <value optimized out>
>         do_cancel = 0
>         __FUNCTION__ = "t_should_relay_response"
> #7  0x00002b0d01979392 in relay_reply (t=0x79c678, p_msg=0x796cc0, 
> branch=7354464, msg_status=404, cancel_bitmap=0x79d8b0) at t_reply.c:1125
>         relay = <value optimized out>
>
> l = 0x79d8b0save_clone = <value optimized out>
>         buf = <value optimized out>
>         res_len = 0
>         relayed_code = 404
>         relayed_msg = <value optimized out>
>         bm = {to_tag_val = {s = 0x7fff00703c3c "", len = -1}}
>         totag_retr = <value optimized out>
>         reply_status = RPS_ERROR
>         uas_rb = <value optimized out>
>         cb_s = {s = 0x796cc0 "\005", len = 7704384}
>         text = {s = 0x500000000796cc0 <Address 0x500000000796cc0 out 
> of bounds>, len = 528}
>         __FUNCTION__ = "relay_reply"
> #8  0x00002b0d0197a980 in reply_received (p_msg=0x796cc0) at 
> t_reply.c:1494
>         msg_status = 404
>         branch = 7354464
>         reply_status = <value optimized out>
>         timer = <value optimized out>
>         cancel_bitmap = 0
>         uac = 0x2b0d03954b28
>         t = 0x2b0d03954950
>         backup_list = 0x0
>         __FUNCTION__ = "reply_received"
> #9  0x0000000000421e98 in forward_reply (msg=0x796cc0) at forward.c:561
>         new_buf = <value optimized out>
>         to = <value optimized out>
>         new_len = <value optimized out>
>         mod = 0x7849f8
>         proto = <value optimized out>
>         id = <value optimized out>
>         send_sock = <value optimized out>
>         len = <value optimized out>
>         __FUNCTION__ = "forward_reply"
> #10 0x00000000004570c2 in receive_msg (
>     buf=0x758f40 "SIP/2.0 404 Not Found\r\nVia: SIP/2.0/UDP 
> 4.2.46.150;branch=z9hG4bK8702.d1287257.0;rport=5060\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia: 
> SIP/2.0/UDP 109.104.88.29:5064;recei"...,
>     len=528, rcv_info=0x7fff00703d20) at receive.c:200
>         msg = 0x79c678
>         __FUNCTION__ = "receive_msg"
> #11 0x000000000049be14 in udp_rcv_loop () at udp_server.c:492
>         len = 528
>         tmp = 0x13c4 <Address 0x13c4 out of bounds>
>         from = <value optimized out>
>         fromlen = 16
>         ri = {src_ip = {af = 2, len = 4, u = {addrl = {3526265805, 6}, 
> addr32 = {3526265805, 0, 6, 0}, addr16 = {35789, 53806, 0, 0, 6, 0, 0, 
> 0}, addr = "Í.\322\000\000\000\000\006\000\000\000\000\000\000"}}, 
> dst_ip = {af = 2,
>             len = 4, u = {addrl = {2519632845, 0}, addr32 = 
> {2519632845, 0, 0, 0}, addr16 = {35789, 38446, 0, 0, 0, 0, 0, 0}, addr 
> = "Í.\226", '\000' <repeats 11 times>}}, src_port = 5060, dst_port = 
> 5060, proto = 1,
>           proto_reserved1 = 0, proto_reserved2 = 0, src_su = {s = 
> {sa_family = 2, sa_data = 
> "\023\304Í.\322\000\000\000\000\000\000\000"}, sin = {sin_family = 2, 
> sin_port = 50195, sin_addr = {s_addr = 3526265805},
>               sin_zero = "\000\000\000\000\000\000\000"}, sin6 = 
> {sin6_family = 2, sin6_port = 50195, sin6_flowinfo = 3526265805, 
> 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 = 0x795ca0}
>         p = 0x0
>         buf = "SIP/2.0 404 Not Found\r\nVia: SIP/2.0/UDP 
> 4.2.46.150;branch=z9hG4bK8702.d1287257.0;rport=5060\r\nVia: 
> SIP/2.0/UDP 4.2.46.245;branch=z9hG4bK8702.83cfa2a.0\r\nVia: 
> SIP/2.0/UDP 109.104.88.29:5064;recei"...
>         __FUNCTION__ = "udp_rcv_loop"
> #12 0x000000000042a65d in main_loop (argc=3, argv=<value optimized 
> out>) at main.c:818
>         i = 1
>         pid = <value optimized out>
>         si = 0x0
>         startup_done = 0x0
>         chd_rank = 6
>         __FUNCTION__ = "main_loop"
> #13 main (argc=3, argv=<value optimized out>) at main.c:1388
>         cfg_log_stderr = <value optimized out>
>         cfg_stream = 0xf8d0010
>         c = <value optimized out>
>         r = <value optimized out>
>
>         old = 0x0
>         n = <value optimized out>
>         len = 1
>         i = 0
>         __FUNCTION__ = "backup"
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
OpenSIPS Bootcamp
15 - 19 November 2010, Edison, New Jersey, USA
www.voice-system.ro




More information about the Users mailing list