[OpenSIPS-Devel] 1.4 current trunk segfault in nhelpr_funcs.c
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Wed Aug 12 13:46:14 CEST 2009
Hi Bobby,
Indeed, I made the backport to 1.5, but not to 1.4 as 1.4 is not
officially supported (last stable is 1.5). But as it was a simple one, I
did a backport to 1.4 also.
Just update from SVN and give it a try.
Thanks and regards,
Bogdan
Bobby Smith wrote:
> It looks like this was fixed a few days ago in trunk but not
> backported into 1.4. Is it safe to do so?
>
>
>
>
>
>
> On Aug 12, 2009, at 12:06 AM, Bobby Smith <bobby.smith at gmail.com
> <mailto:bobby.smith at gmail.com>> wrote:
>
>> Greets,
>>
>> We've been having some issues with Opensips 1.4.5 crashing out due to
>> a seg fault on about a daily basis. After finally being able to get
>> around some gdb/debian configuration issues and compile cleanly, we
>> were able to get some core dumps loaded to see what's happening
>> (without just ambiguously asking questions in IRC :-P ). We upgraded
>> to the current latest stable 1.4.5, in svn trunk, compiled cleanly,
>> and have still been experiencing the same problem.
>>
>> It always seems to be focused around nhelpr_funcs.c, line 169:
>>
>> The past 3 cores have all pointed at the same issue. Summary of the
>> stack trace is below, but we can definitely find a place to upload
>> some core files if necessary:
>>
>> Also, to note, I don't know how similar or different the code bases
>> between the current SER project is and OpenSIPS, but it looks like
>> towards the end of April there was this bug fix:
>> http://lists.sip-router.org/pipermail/sr-dev/2009-April/001602.html
>>
>> Which sounds similar to the type of issue we're experiencing.
>>
>> Anyway, the contents of the core:
>>
>>
>> Core was generated by `/sbin/opensips -P
>> /var/run/opensips/opensips.pid -m 512 -u opensips -g opensips'.
>> Program terminated with signal 11, Segmentation fault.
>> #0 0x00007fd813ac785f in extract_body (msg=0x7792d8,
>> body=0x7fff1ec52900) at nhelpr_funcs.c:169
>> 169 body->len = get_content_length(msg);
>> (gdb) bt full
>> #0 0x00007fd813ac785f in extract_body (msg=0x7792d8,
>> body=0x7fff1ec52900) at nhelpr_funcs.c:169
>> c = <value optimized out>
>> skip = <value optimized out>
>> __FUNCTION__ = "extract_body"
>> #1 0x00007fd813ac15fd in fix_nated_sdp_f (msg=0x7792d8, str1=0xa
>> <Address 0xa out of bounds>, str2=0x0) at nathelper.c:1649
>> body = {
>> s = 0x744d13 "Server: Linksys/SPA942-5.2.5\r\nContent-Length:
>> 208\r\nAllow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS,
>> REFER\r\nSupported: replaces\r\nContent-Type:
>> application/sdp\r\n\r\nv=0\r\no=- 23895158 23895158 IN IP"..., len =
>> 7830104}
>> ip = {s = 0x777a58 "sip:VH35045 at 64.17.254.220:55136
>> <http://sip:VH35045@64.17.254.220:55136>", len = 7830135}
>> level = <value optimized out>
>> buf = <value optimized out>
>> anchor = <value optimized out>
>> __FUNCTION__ = "fix_nated_sdp_f"
>>
>>
>> __FUNCTION__ = "fix_nated_sdp_f"
>> #2 0x000000000040f692 in do_action (a=0x777c98, msg=0x7792d8) at
>> action.c:846
>> ret = <value optimized out>
>> v = <value optimized out>
>> to = <value optimized out>
>> p = <value optimized out>
>> tmp = <value optimized out>
>> new_uri = <value optimized out>
>> end = <value optimized out>
>> crt = <value optimized out>
>> len = <value optimized out>
>> user = <value optimized out>
>> uri = {user = {s = 0x36 <Address 0x36 out of bounds>, len = 7841088},
>> passwd = {s = 0x3e <Address 0x3e out of bounds>, len = 31}, host = {
>> s = 0x744cf3 "sip:VH35045 at 64.17.254.220:0
>> <http://sip:VH35045@64.17.254.220:0>>\r\n\r\nServer:
>> Linksys/SPA942-5.2.5\r\nContent-Length: 208\r\nAllow: ACK, BYE,
>> CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER\r\nSupported:
>> replaces\r\nContent-Type: application/sdp\r\n\r\n"..., len =
>> 329995901}, port = {
>> s = 0x744d0e ">\r\n\r\nServer:
>> Linksys/SPA942-5.2.5\r\nContent-Length: 208\r\nAllow: ACK, BYE,
>> CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER\r\nSupported:
>> replaces\r\nContent-Type: application/sdp\r\n\r\nv=0\r\no=- 23895158
>> 23895158 "..., len = -255}, params = {s = 0x803 <Address 0x803 out of
>> bounds>, len = 7830104}, headers = {s = 0x20 <Address 0x20 out of
>> bounds>, len = 332185056}, port_no = 40544, proto = 119, type =
>> ERROR_URI_T, transport = {
>> s = 0x744cff "64.17.254.220:0
>> <http://64.17.254.220:0>>\r\n\r\nServer:
>> Linksys/SPA942-5.2.5\r\nContent-Length: 208\r\nAllow: ACK, BYE,
>> CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER\r\nSupported:
>> replaces\r\nContent-Type: application/sdp\r\n\r\nv=0\r\no=- 238"...,
>> len = 7621879}, ttl = {s = 0x7 <Address 0x7 out of bounds>, len = 0},
>> user_param = {s = 0x0, len = 7621887}, maddr = {s = 0xd <Address 0xd
>> out of bounds>, len = 7621901}, method = {s = 0x1 <Address 0x1 out of
>> bounds>,
>> 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}}
>> next_hop = {user = {s = 0x0, len = 7830280}, passwd = {s = 0x7792f8
>> "\310Jt", len = 5}, host = {s = 0x15 <Address 0x15 out of bounds>,
>> len = 32}, port = {s = 0x7fff1ec53030 "\300Jt", len = 4609174},
>> params = {s = 0x77f150 "\1",
>> len = 7621695}, headers = {s = 0x77aaf0 "\1", len = 7622283}, port_no
>> = 0, proto = 0, type = ERROR_URI_T, transport = {s = 0x0, len = 54},
>> ttl = {s = 0x777ae8 "\2", len = 0}, user_param = {
>> s = 0x2 <Address 0x2 out of bounds>, len = 7836376}, maddr = {s =
>> 0x7792d8 "\260\347^", len = 516239408}, method = {
>> s = 0x46dd4b
>> "\211\303\351\303\366\377\377\273\377\377\377\377\351\271\366\377\377H\205\355\220t\a\307E\24\30",
>> len = 516237904}, lr = {
>> s = 0x744d0e ">\r\n\r\nServer:
>> Linksys/SPA942-5.2.5\r\nContent-Length: 208\r\nAllow: ACK, BYE,
>> CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER\r\nSupported:
>> replaces\r\nContent-Type: application/sdp\r\n\r\nv=0\r\no=- 23895158
>> 23895158 "..., len = 516238264}, r2 = {s = 0x7fff1ec52c28 "", len =
>> 516238280}, transport_val = {
>> s = 0x744cf3 "sip:VH35045 at 64.17.254.220:0
>> <http://sip:VH35045@64.17.254.220:0>>\r\n\r\nServer:
>> Linksys/SPA942-5.2.5\r\nContent-Length: 208\r\nAllow: ACK, BYE,
>> CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER\r\nSupported:
>> replaces\r\nContent-Type: application/sdp\r\n\r\n"..., len =
>> 332185056}, ttl_val = {s = 0xd760 <Address 0xd760 out of bounds>, len
>> = 516238328}, user_param_val = {s = 0x7fff1ec52c68 "\16", len =
>> 516238312}, maddr_val = {s = 0x7fff1ec52c58 "\210yw", len = 516238344},
>> method_val = {s = 0x7fff1ec52c78 "ؒw", len = 516238360}, lr_val = {s
>> = 0x419650 "I\211\304H\205\300\17\204}\1", len = 7836376}, r2_val =
>> {s = 0x7792d8 "\260\347^", len = 516239408}}
>>
>>
>>
>> I can provide the rest on request, but in the message listed here, I
>> do see a content length header in the parsed message.
>>
>> Thanks,
>>
>> Bobby Smith
> ------------------------------------------------------------------------
>
> _______________________________________________
> Devel mailing list
> Devel at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
>
More information about the Devel
mailing list