[OpenSIPS-Users] B2BUA - Opensips crash on b2b_init_request("top hiding");

Max Mühlbronner mm at 42com.com
Fri Jan 29 15:13:41 CET 2010


Hi again,

i have made a recompile/ new setup and still receive a segmentation 
fault, it was fine for one call and so i thought it was finally working 
(looked at the trace on another machine and the contact header was 
modified correctly by B2bua) and then on the next Call it crashed again. 
I hope the coredump may help in any way.


Program terminated with signal 11, Segmentation fault.
[New process 31135]
#0  parse_headers (msg=0x2e343331, flags=18446744073709551615, next=0) 
at parser/msg_parser.c:298
298             end=msg->buf+msg->len;
(gdb) bt
#0  parse_headers (msg=0x2e343331, flags=18446744073709551615, next=0) 
at parser/msg_parser.c:298
#1  0xb7b13cf4 in b2b_send_reply (et=B2B_SERVER, b2b_key=0xa79cfdb8, 
code=200, text=0x81bd994, body=0xbf8f220c, extra_headers=0xbf8f2204) at 
dlg.c:765
#2  0xb7b04f23 in b2b_logic_notify (src=1, msg=0x81bd978, 
key=0xa79ca46c, type=1, param=0xa79cdedc) at logic.c:444
#3  0xb7b06343 in b2b_client_notify (msg=0x81bd978, key=0xa79ca46c, 
type=1, param=0xa79cdedc) at logic.c:938
#4  0xb7b14a14 in b2b_tm_cback (htable=0xa7961638, ps=0xb7b66e54) at 
dlg.c:1542
#5  0xb7b0cf1b in b2b_client_tm_cback (t=0xa79cee44, type=512, 
ps=0xb7b66e54) at client.c:44
#6  0xb7b4250b in run_trans_callbacks (type=512, trans=0xa79cee44, 
req=0x0, rpl=0x81bd978, code=200) at t_hooks.c:208
#7  0xb7b58cae in local_reply (t=0xa79cee44, p_msg=0x81bd978, branch=0, 
msg_status=200, cancel_bitmap=0xbf8f2540) at t_reply.c:1339
#8  0xb7b59ff1 in reply_received (p_msg=0x81bd978) at t_reply.c:1484
#9  0x08067172 in forward_reply (msg=0x81bd978) at forward.c:559
#10 0x080978db in receive_msg (
    buf=0x8174380 "SIP/2.0 200 OK\r\nVia: SIP/2.0/UDP 
62.134.184.16;rport=5060;received=62.134.184.16;branch=z9hG4bKe2c8.d65d92e.0\r\nFrom: 
<sip:49302318910002 at 62.134.184.11>;tag=44c604a5e7912308af351193a53d7a0e-833e\r\nTo: 
s"..., len=950, rcv_info=0xbf8f2664) at receive.c:200
#11 0x080d8a14 in udp_rcv_loop () at udp_server.c:492
#12 0x0806e329 in main (argc=9, argv=0xbf8f2804) at main.c:818


also more detailed :


(gdb) bt full
#0  parse_headers (msg=0x2e343331, flags=18446744073709551615, next=0) 
at parser/msg_parser.c:298
        hf = <value optimized out>
        itr = <value optimized out>
        tmp = 0x0
        rest = <value optimized out>
        end = 0xa79cfde3 
".0.1264773824sip:1234493055555 at 62.134.184.16sip:49302318910002 at 62.134.184.11"
        orig_flag = <value optimized out>
        __FUNCTION__ = "parse_headers"
#1  0xb7b13cf4 in b2b_send_reply (et=B2B_SERVER, b2b_key=0xa79cfdb8, 
code=200, text=0x81bd994, body=0xbf8f220c, extra_headers=0xbf8f2204) at 
dlg.c:765
        hash_index = 274
        local_index = 0
        dlg = (b2b_dlg_t *) 0xa79cdaec
        to_tag = <value optimized out>
        tm_tran = (struct cell *) 0xa79c1b88
        msg = (struct sip_msg *) 0x2e343331
        buffer = "\206òõ·h\000\000\000È÷d\b\b \000\000\b 
\000\000Xöd\b`±÷·t.é·0ød\bF[é·È÷d\bh\000\000\000Xöd\b \037\217¿Ûúè·Ð÷d\b`±÷·ô\237÷·0ød\b¸\037\217¿0ød\bÐ÷\000\000`±÷·Xöd\bÔ\037\217¿&8é·`±÷·Xöd\bPöd\bô\237÷·¼/\032\b\000\000\000\000è/\032\b\030!\217¿\214t\n\b¼/\032\bxÙ\033\b\000\000\000\000È÷d\bô\237÷·\025\000\000\000Xöd\b° 
\217¿\226øï·Ð÷d\bÐ÷d\b\\\000\000\000\000@\000\000 \224÷·X \217¿"...
        p = <value optimized out>
        ehdr = {s = 0x2 <Address 0x2 out of bounds>, len = -1482891545}
        table = (b2b_table) 0xa796062c
        pto = <value optimized out>
        TO = {error = -1081139060, body = {s = 0xbf8f20a8 "¾", len = 
134783674}, uri = {s = 0x81bd978 ".", len = 135930932}, display = {
    s = 0xbf8f208c "ÆD\027\b\001", len = 9}, tag_value = {s = 0x0, len = 
0}, parsed_uri = {user = {s = 0x10058 <Address 0x10058 out of bounds>,
      len = 136042872}, passwd = {s = 0x81a2e00 "\017", len = 
135933548}, host = {s = 0x7e <Address 0x7e out of bounds>, len = 
135742662}, port = {
      s = 0x1 <Address 0x1 out of bounds>, len = -1081138960}, params = 
{s = 0xbf8f2108 "ÿÿÿÿ=í\033\b", len = 135204128}, headers = {
      s = 0xbf8f20f0 " \\\031\bv", len = 136044600}, port_no = 190, 
proto = 0, type = 3080147028, transport = {s = 0xbf8f20c8 "", len = 
135931420}, ttl = {
      s = 0x6 <Address 0x6 out of bounds>, len = 136042872}, user_param 
= {s = 0xbf8f2130 "\001", len = 136044600}, maddr = {s = 0x0, len = 1}, 
method = {
      s = 0x81a432c "\017", len = 0}, lr = {s = 0x81bece0 "Ø", len = 
-1213161172}, r2 = {s = 0x8195c20 "", len = -1081138684}, transport_val = {
      s = 0xbf8f2148 "8\"\217¿#O°·", len = -1213204822}, ttl_val = {s = 
0x8195c20 "", len = 118}, user_param_val = {s = 0x0, len = 136044652}, 
maddr_val = {
      s = 0x16 <Address 0x16 out of bounds>, len = 10}, method_val = {s 
= 0xffffffff <Address 0xffffffff out of bounds>, len = 136047933}, 
lr_val = {
      s = 0x0, len = 0}, r2_val = {s = 0xb7b09b85 "Require", len = 
-1213162611}}, param_lst = 0x0, last_param = 0x0}
        __FUNCTION__ = "b2b_send_reply"
#2  0xb7b04f23 in b2b_logic_notify (src=1, msg=0x81bd978, 
key=0xa79ca46c, type=1, param=0xa79cdedc) at logic.c:444
        hash_index = 165
        local_index = 0
        tuple = (b2bl_tuple_t *) 0xa79cd830
        method = {
  s = 0x81becec "Content-Type: application/sdp\r\nAllow: 
ACK,BYE,CANCEL,INVITE,OPTIONS,NOTIFY,INFO\r\nSession-Expires: 
1800;refresher=uac\r\nid=afb.3c7ddb94>", len = 134}
        body = {
  s = 0x817461d "v=0\r\no=SBCSIPUAS 1179167491 1 IN IP4 
66.33.165.13\r\ns=SBCSIPUAS SIP STACK v1.0\r\nc=IN IP4 
62.134.184.16\r\nt=0 0\r\nm=audio 40322 RTP/AVP 18 101\r\na=rtpmap:18 
G729/8000\r\na=rtpmap:101 telephone-event/8000\r\na="..., len = 281}
        extra_headers = {
  s = 0x81becec "Content-Type: application/sdp\r\nAllow: 
ACK,BYE,CANCEL,INVITE,OPTIONS,NOTIFY,INFO\r\nSession-Expires: 
1800;refresher=uac\r\nid=afb.3c7ddb94>", len = 118}
        scenario = (b2b_scenario_t *) 0x0
        rule = <value optimized out>
        entity = (b2bl_entity_id_t *) 0xa79cfe3c
        bridge_node = <value optimized out>
        node = <value optimized out>
        state = -1
        attr = {s = 0xa79d2184 "", len = 62}
        __FUNCTION__ = "b2b_logic_notify"
#3  0xb7b06343 in b2b_client_notify (msg=0x81bd978, key=0xa79ca46c, 
type=1, param=0xa79cdedc) at logic.c:938
No locals.
#4  0xb7b14a14 in b2b_tm_cback (htable=0xa7961638, ps=0xb7b66e54) at 
dlg.c:1542
        hash_index = 165
        local_index = 0
---Type <return> to continue, or q <return> to quit---
        b2b_cback = (b2b_notify_t) 0xb7b06308 <b2b_client_notify>
        dlg = (b2b_dlg_t *) 0xa79d2c50
        param = (void *) 0xa79cdedc
        statuscode = 200
        leg = (dlg_leg_t *) 0xbf8f22f8
        pto = <value optimized out>
        TO = {error = 134793822, body = {s = 0x81bd978 ".", len = 
135927292}, uri = {s = 0x81be304 "\020", len = 136042872}, display = {
    s = 0x32 <Address 0x32 out of bounds>, len = -1081138392}, tag_value 
= {s = 0xbf8f22f8 "H#\217¿\001", len = 134760608}, parsed_uri = {user = {
      s = 0x8195c20 "", len = 136045328}, passwd = {s = 0xbf8f2348 
"8%\217¿è{\005\b\230C\032\bxÙ\033\b", len = 136042872}, host = {
      s = 0x32 <Address 0x32 out of bounds>, len = -1081138392}, port = 
{s = 0xbf8f2348 "8%\217¿è{\005\b\230C\032\bxÙ\033\b", len = 1}, params = {
      s = 0x81a4404 ")", len = 136042872}, headers = {s = 0xbf8f2348 
"8%\217¿è{\005\b\230C\032\bxÙ\033\b", len = 134565198}, port_no = 17412, 
proto = 2074,
    type = 136042872, transport = {s = 0x0, len = 135742897}, ttl = {
      s = 0x81745ac ",INFO\r\nServer: sbc_3\r\nContent-Type: 
application/sdp\r\nContent-Length: 281\r\nSession-Expires: 
1800;refresher=uac\r\n\r\nv=0\r\no=SBCSIPUAS 1179167491 1 IN IP4 
66.33.165.13\r\ns=SBCSIPUAS SIP STACK v1.0\r\nc=IN IP4"..., len = 13}, 
user_param = {s = 0x81be99c "\030", len = 136044000},
    maddr = {
      s = 0x8174466 
";tag=sbcsipuas_1_C47196_20100129090449269_b09sb04\r\nCall-ID: 
B2B.165.0.1264773824\r\nRecord-Route: 
<sip:62.134.184.16;lr=on;ftag=44c604a5e7912308af351193a53d7a0e-833e;vsf=AAAAAHV3fH5rfn5tanEGBh4BcxgDGgYd"..., 
len = 59}, method = {s = 0xbf8f2438 "\a", len = 135225399}, lr = {
      s = 0x8195c20 "", len = 24}, r2 = {s = 0xbf8f2538 "", len = 
134577128}, transport_val = {s = 0x81a4398 "\016", len = 136042872}, 
ttl_val = {s = 0x0,
      len = 136043972}, user_param_val = {
      s = 0x8174419 "ag=44c604a5e7912308af351193a53d7a0e-833e\r\nTo: 
sip:1234493055555 at 62.134.184.16;tag=sbcsipuas_1_C47196_20100129090449269_b09sb04\r\nCall-ID: 
B2B.165.0.1264773824\r\nRecord-Route: <sip:62.134.184.16;lr=on;ft"..., 
len = 59}, maddr_val = {s = 0xbf8f2468 "", len = 135225399}, method_val = {
      s = 0x8195c20 "", len = 24}, lr_val = {s = 0x0, len = 8}, r2_val = {
      s = 0x8174499 "Call-ID: B2B.165.0.1264773824\r\nRecord-Route: 
<sip:62.134.184.16;lr=on;ftag=44c604a5e7912308af351193a53d7a0e-833e;vsf=AAAAAHV3fH5rfn5tanEGBh4BcxgDGgYdBRoIODQuMTE-;did=afb.3c7ddb94>\r\nContact: 
<sip:66.33"..., len = 135743003}}, param_lst = 0x0, last_param = 0x8174736}
        to_tag = {
  s = 0x817446b 
"sbcsipuas_1_C47196_20100129090449269_b09sb04\r\nCall-ID: 
B2B.165.0.1264773824\r\nRecord-Route: 
<sip:62.134.184.16;lr=on;ftag=44c604a5e7912308af351193a53d7a0e-833e;vsf=AAAAAHV3fH5rfn5tanEGBh4BcxgDGgYdBRoIO"..., 
len = 44}
        require_hdr = (struct hdr_field *) 0x81a15f0
        method_id = <value optimized out>
        __FUNCTION__ = "b2b_tm_cback"
#5  0xb7b0cf1b in b2b_client_tm_cback (t=0xa79cee44, type=512, 
ps=0xb7b66e54) at client.c:44
No locals.
#6  0xb7b4250b in run_trans_callbacks (type=512, trans=0xa79cee44, 
req=0x0, rpl=0x81bd978, code=200) at t_hooks.c:208
        cbp = (struct tm_callback *) 0xa79cde84
        backup = (struct usr_avp **) 0x8184384
        trans_backup = (struct cell *) 0xa79cee44
        __FUNCTION__ = "run_trans_callbacks"
#7  0xb7b58cae in local_reply (t=0xa79cee44, p_msg=0x81bd978, branch=0, 
msg_status=200, cancel_bitmap=0xbf8f2540) at t_reply.c:1339
        local_store = 0
        local_winner = 0
        reply_status = RPS_COMPLETED
        winning_msg = (struct sip_msg *) 0x81bd978
        winning_code = <value optimized out>
        totag_retr = 0
        __FUNCTION__ = "local_reply"
#8  0xb7b59ff1 in reply_received (p_msg=0x81bd978) at t_reply.c:1484
        last_uac_status = <value optimized out>
        branch = 0
        reply_status = <value optimized out>
        timer = <value optimized out>
        cancel_bitmap = 0
        t = (struct cell *) 0xa79cee44
        backup_list = (struct usr_avp **) 0x81be004
        has_reply_route = <value optimized out>
        __FUNCTION__ = "reply_received"
#9  0x08067172 in forward_reply (msg=0x81bd978) at forward.c:559
        new_buf = <value optimized out>
        to = <value optimized out>
        new_len = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        mod = (struct sr_module *) 0x819a638
        proto = <value optimized out>
        id = <value optimized out>
        send_sock = <value optimized out>
        len = <value optimized out>
        __FUNCTION__ = "forward_reply"
#10 0x080978db in receive_msg (
    buf=0x8174380 "SIP/2.0 200 OK\r\nVia: SIP/2.0/UDP 
62.134.184.16;rport=5060;received=62.134.184.16;branch=z9hG4bKe2c8.d65d92e.0\r\nFrom: 
<sip:49302318910002 at 62.134.184.11>;tag=44c604a5e7912308af351193a53d7a0e-833e\r\nTo: 
s"..., len=950, rcv_info=0xbf8f2664) at receive.c:200
        msg = (struct sip_msg *) 0x81bd978
        __FUNCTION__ = "receive_msg"
#11 0x080d8a14 in udp_rcv_loop () at udp_server.c:492
        len = 950
        tmp = <value optimized out>
        from = (union sockaddr_union *) 0x81bd94c
        fromlen = 16
        ri = {src_ip = {af = 2, len = 4, u = {addrl = {280528446, 0, 
135464225, 3213829784}, addr32 = {280528446, 0, 135464225, 3213829784}, 
addr16 = {
        34366, 4280, 0, 0, 1313, 2067, 9880, 49039}, addr = 
">\206¸\020\000\000\000\000!\005\023\b\230&\217¿"}}, dst_ip = {af = 2, 
len = 4, u = {addrl = {
        280528446, 0, 0, 0}, addr32 = {280528446, 0, 0, 0}, addr16 = 
{34366, 4280, 0, 0, 0, 0, 0, 0}, addr = ">\206¸\020", '\0' <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Ä>\206¸\020\000\000\000\000\000\000\000"}, sin = 
{sin_family = 2, sin_port = 50195, sin_addr = {s_addr = 280528446},
      sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 
2, sin6_port = 50195, sin6_flowinfo = 280528446, sin6_addr = {in6_u = {
          u6_addr8 = '\0' <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 = 0x819a260}
        p = <value optimized out>
        buf = "SIP/2.0 200 OK\r\nVia: SIP/2.0/UDP 
62.134.184.16;rport=5060;received=62.134.184.16;branch=z9hG4bKe2c8.d65d92e.0\r\nFrom: 
<sip:49302318910002 at 62.134.184.11>;tag=44c604a5e7912308af351193a53d7a0e-833e\r\nTo: 
s"...
        __FUNCTION__ = "udp_rcv_loop"
#12 0x0806e329 in main (argc=9, argv=0xbf8f2804) at main.c:818
        cfg_log_stderr = 0
        cfg_stream = (FILE *) 0x861d008
        c = <value optimized out>
        r = <value optimized out>
        tmp = 0xbf8f3ea7 ""
        tmp_len = <value optimized out>
        port = <value optimized out>
        proto = <value optimized out>
        ret = <value optimized out>
        seed = 1760584757
        rfd = <value optimized out>
        __FUNCTION__ = "main"


Best Regards

Max M.


Anca Vamanu schrieb:
> Hi Max,
>
> I am investigating the reported crash and I will find the problem. I 
> will let you know when it is done to update your code.
>
> Thanks and regards,
>
>   




More information about the Users mailing list