[OpenSIPS-Users] opensips 1.6.1 crashes on NOTIFY?

Alexander goal81 at gmail.com
Tue Dec 22 09:45:55 CET 2009


  Hi all.

  I've tried to update to Opensips 1.6.1, but encountered the following
problem. Opensips starts successfully, but soon almost all it's processes
die one by one and only two processes remain.
For example, if right after start we have:

# ps ax | grep opens
26182 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26183 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26184 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26185 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26186 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26187 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26188 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26189 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26190 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26191 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26192 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26193 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26194 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26195 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26196 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26197 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26198 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26199 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26200 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26201 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26202 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26203 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26204 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26205 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26206 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26207 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26208 ?        S      0:00 ./opensips -k 0x11110204 -u opensips

  When processes die, we have only:

#ps ax | grep opens
26182 ?        S      0:00 ./opensips -k 0x11110204 -u opensips
26184 ?        S      0:00 ./opensips -k 0x11110204 -u opensips

  If I set debug=6, the following is written to /var/log/messages:

Dec 22 11:02:03 srv rtpproxy[17011]: INFO:rxmit_packets: caller's address
filled in: 195.182.195.206:1024 (RTP)
Dec 22 11:02:03 srv opensips[26184]: Route 5 - NOTIFY
Dec 22 11:02:05 srv opensips[26185]: Route 5 - PUBLISH
Dec 22 11:02:06 srv opensips[26183]: Route 5 - NOTIFY
Dec 22 11:02:06 srv opensips[26185]: Route 5 - NOTIFY
Dec 22 11:02:06 srv opensips[26185]: Route 5 - NOTIFY
Dec 22 11:02:06 srv opensips[26186]: Route 5 - NOTIFY
Dec 22 11:02:06 srv opensips[26186]: Route 5 - NOTIFY
Dec 22 11:02:08 srv rtpproxy[17011]: INFO:handle_command: lookup on ports
36664/35096, session timer restarted
Dec 22 11:02:08 srv rtpproxy[17011]: INFO:handle_command: pre-filling
callee's address with 87.251.142.50:5006
Dec 22 11:02:08 srv opensips[26208]: CRITICAL:core:receive_fd: EOF on 13
Dec 22 11:02:08 srv opensips[26182]: INFO:core:handle_sigs: child process
26186 exited by a signal 11
Dec 22 11:02:08 srv opensips[26182]: INFO:core:handle_sigs: core was not
generated
Dec 22 11:02:08 srv opensips[26182]: INFO:core:handle_sigs: terminating due
to SIGCHLD

  As I see, the last message received by process with PID 26186 is NOTIFY,
and then it crashes.

"Route 5 - NOTIFY" is in this block of configuration file:

# SUBSCRIBE and PUBLISH Message Handling
# --------------------------------------
route[5]
{
    if (!t_newtran())
    {
        xlog("L_INFO", "Failed to create transaction\n");
        sl_reply_error();
        exit;
    }

    if (is_method("PUBLISH"))
    {
        xlog("L_INFO", "Route 5 - PUBLISH \n");
        handle_publish();
    }
    else if (is_method("SUBSCRIBE"))
    {
        xlog("L_INFO", "Route 5 - SUBSCRIBE\n");
        handle_subscribe();
    }
    else if (is_method("NOTIFY"))
    {
        xlog("L_INFO", "Route 5 - NOTIFY\n");
        t_reply("200", "OK");
        exit;
    }

    exit;
}

  In main routing logic:

if (method == "SUBSCRIBE" || method == "PUBLISH" || method == "NOTIFY")
{
    route(4);
    return(0);
}

  As I see, Opensips sets core dump limit, if it's turned off, but no core
is produced (OS is CentOS 5.3).

  What can be wrong? Version 1.6.0 did not crash like this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20091222/8a054a8b/attachment.htm 


More information about the Users mailing list