Hi Ronald,

Perfect - thanks for the help - I just uploaded the fix on SVN.

Best regards,
Bogdan

On 01/19/2012 06:23 PM, Ronald Cepres wrote:
Hi Bogdan,

OpenSIPS didn't crash anymore after I used your patch. Thanks for the help!

Regards,
Ronald

On Wed, Jan 18, 2012 at 11:35 PM, Ronald Cepres <rbcep...@gmail.com <mailto:rbcep...@gmail.com>> wrote:

    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
    <bog...@opensips.org <mailto:bog...@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
        <http://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:u...@server.example.com
        
<mailto:sip%3au...@server.example.com>>;tag=e3o0uokXbnsOsn0HWFiw2Pn5D2TuAcmB#015#012To:
        <sip:u...@server.example.com
        <mailto:sip%3au...@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:u...@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
        <bog...@opensips.org <mailto:bog...@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 list
            Users@lists.opensips.org  <mailto:Users@lists.opensips.org>
            http://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"





--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
OpenSIPS solutions and "know-how"

_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to