[OpenSIPS-Users] is_method crash when used on pike triggered route

Ronald Cepres rbcepres at gmail.com
Wed Jan 18 16:35:34 CET 2012


Hi Bogdan,

Thanks for the quick patch. I'll try it out tomorrow and let you know the
result at the end of the day.

Regards,
Ronald

On Tue, Jan 17, 2012 at 11:21 PM, Bogdan-Andrei Iancu
<bogdan at opensips.org>wrote:

> **
> Hi Ronald,
>
> Thanks for the useful information - find attached a patch that should fix
> the problem - please apply it, recompile and let me know if works ok - if
> yes, I will update on SVN.
>
> The crash seams to be triggered by a bogus SIP message where the parsing
> of the first line fails - and this message hits the pike route crashing in
> some parsing functions.
>
> Regards,
> Bogdan
>
>
> On 01/16/2012 06:08 AM, Ronald Cepres wrote:
>
> Hi Bogdan,
>
>  Thanks for your reply.
>
>  The crash happened often (every less than hour) on live traffic, but I
> was not able to reproduce the bug on my own.
> Here's the last part of OpenSIPS logs that I saved after the crash:
>
>  Jan 13 09:31:39 ASTPROD-03 kernel: [25303999.864022] opensips[12133]:
> segfault at 0 ip 080f639c sp bfffc620 error 4 in opensips[8048000+139000]
> Jan 13 09:31:39 ASTPROD-03 /sbin/opensips[12133]:
> INFO:core:parse_first_line: method not followed by SP
> Jan 13 09:31:39 ASTPROD-03 /sbin/opensips[12133]:
> INFO:core:parse_first_line: bad message
> Jan 13 09:31:39 ASTPROD-03 /sbin/opensips[12133]: ERROR:core:parse_msg:
> message=<-15#015#012REGISTER sip:server.example.com;transport=tcp
> SIP/2.0#015#012Via: SIP/2.0/TCP client.example.com:13851;rport;branch=z9hG4bKPj-HwYov6D5txKI6aVe5WxpubPXFTKtkHM#015#012Max-Forwards:
> 70#015#012From: <sip:user at server.example.com>;tag=e3o0uokXbnsOsn0HWFiw2Pn5D2TuAcmB#015#012To:
> <sip:user at server.example.com>#015#012Call-ID:
> m2n.UnXe-HLK-XaiL0m6sWnOF1lQ71O.#015#012CSeq: 26361
> REGISTER#015#012User-Agent: 12Connect Lite SIP v3.0#015#012Contact:
> <sip:user at client.example.com:13851;transport=tcp;ob>#015#012Expires:
> 300#015#012Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE,
> NOTIFY, REFER, MESSAGE, OPTIONS#015#012Content-Length:  0#015#012#015#012>
> Jan 13 09:31:39 ASTPROD-03 /sbin/opensips[12133]: ERROR:core:receive_msg:
> parse_msg failed
> Jan 13 09:31:40 ASTPROD-03 /sbin/opensips[12145]:
> CRITICAL:core:receive_fd: EOF on 38
> Jan 13 09:31:40 ASTPROD-03 /sbin/opensips[12106]: INFO:core:handle_sigs:
> child process 12133 exited by a signal 11
> Jan 13 09:31:40 ASTPROD-03 /sbin/opensips[12106]: INFO:core:handle_sigs:
> core was generated
> Jan 13 09:31:40 ASTPROD-03 /sbin/opensips[12106]: INFO:core:handle_sigs:
> terminating due to SIGCHLD
>
>  On Sun, Jan 15, 2012 at 8:45 PM, Bogdan-Andrei Iancu <bogdan at opensips.org
> > wrote:
>
>>  Hi Ronald,
>>
>> The crash happens on a reply and not a request - see the frame 14, where
>> "buf" (the buffer containing the
>> sip message) shows a reply like text.
>>
>> But the is_method() should not crash at all....before diving into
>> debugging:
>>     1) can you reproduce this crash ?
>>     2) before the crash, do you see any errors in the logs
>>
>> Regards,
>> Bogdan
>>
>>
>> On 01/13/2012 01:16 PM, Ronald Cepres wrote:
>>
>>  Hi all,
>>
>>  I'm using OpenSIPS 1.7.1 and based from the attached back trace, it
>> crashed when it is trying to parse the method of a REGISTER message
>> received by the server, triggered by pike route.
>>
>>  Here is a snippet of my opensips.cfg:
>> ...
>>  loadmodule "pike.so"
>> modparam("pike", "sampling_time_unit", 30)
>> modparam("pike", "reqs_density_per_unit", 75)
>> modparam("pike", "check_route", "pike")
>>  ...
>>  route[pike] {
>>         if (($si == $Ri) || ($si == "192.168.1.60") || ($si == "
>> 192.168.1.61") || ($si == " 192.168.1.65")) {
>>                         drop;
>>         }
>>         if (!is_method("REGISTER")) {
>>                 drop;
>>         }
>> }
>>  ...
>>
>>  Basically, I just want to check REGISTER messages only on the pike
>> route. Does anyone have a workaround on this?
>>
>>  FWIW, should I also post this on the dev list?
>>
>>  Thanks!
>>
>>  Regards,
>> Ronald
>>
>>
>> _______________________________________________
>> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>> --
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> OpenSIPS solutions and "know-how"
>>
>>
>
>
> --
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> OpenSIPS solutions and "know-how"
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120118/1ae1adf4/attachment.htm>


More information about the Users mailing list