I did a fix for it several days ago, not sure you noticed it, since I was mostly unavailable to reply on mailing list. Here is the link:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=0f5e21c668e46492fb9f9ec69e5b5aafe41bd272

If you can try the patch and report if it is working will be great. It is for master, but I will backport to stable banrches as well.

Btw, do you need use_default? I is something quite unmaintained (read untested together with latest additions), so my plan was to remove it since many people were confused by its necessity.

Cheers,
Daniel

On 12/3/10 9:54 PM, Eric Hiller wrote:
Yes, I do.

------------------------------------------------------------------------
Date: Fri, 3 Dec 2010 10:31:51 +0100
From: mico...@gmail.com
To: mrrapto...@hotmail.com
CC: sr-users@lists.sip-router.org
Subject: Re: [SR-Users] Dispatcher Crash when all hosts are invalid

Hello,

do you have parameter use_default set to 1?

Cheers,
Daniel

On 12/3/10 6:47 AM, Eric Hiller wrote:

    Dispatcher crashes everytime guaranteed if there is a single dead
    host kamailio exits with a core dump (see below). If there are two
    dead hosts entire kamailio locks up (no core dump). Any ideas on
    this one? The invalid flag is never marked in the DB btw.

    Crashes at ds_select_dst having never reached "COMPLETED FIRST DST
    LOOKUP"

    # -------------------------  request routing logic -------------------
    # main routing logic
    # ------------------
    route{
            # initial checks
            if (!mf_process_maxfwd_header("10")) {
                    sl_send_reply("483","Too Many Hops");
                    exit;
            };
            if (msg:len >=  2048 ) {
                    sl_send_reply("513", "Message too big");
                    exit;
            };
            xlog("[$TF] VALID RECV $rm\n     $fu ($si:$sp) to $ru\n");
            $avp(orig_du) = $du;
            if($(fU{s.select,1,-})){
                    # from a user-formed message
                    $avp(user) = $(fU{s.select,0,-});
                    xlog("     USER $avp(user) DETECTED\n");
            }
            if(pv_isset("$avp(user)") && !ds_is_from_list()){
                    # from client
                    # route to client PBX
                    if(method == "REGISTER"){
                            route(3);
                    } else {
                            route(1);
                    }
            }
            if(ds_is_from_list()){
                    # from client, outbound from pbx
                    xlog("     IS FROM PBX\n");
                    if(is_e164($rU)){
                            xlog("     IS E164");
                            # all pbx-pbx traffic should be in user format
                            # since this is pbx-non-pbx send it to gateway
                            # gateway only takes E164
                            route(2);
                    }
                    if($(rU{s.select,0,-})){
                            # send directly from pbx to client
                            route(4);
                    }
            }
            if($si == "GATEWAY_IP_ADDRESS"){
                    # lookup enum
                    # route to appropriate pbx via DISPATCHER based on
    user returned
                    xlog("     CALL FROM GATEWAY\n");
            }
    }
    route[1]{
            route(3);
            xlog("     ROUTED to $avp(user) PBX\n");
            ds_select_dst($avp(user),"7");
            xlog("     COMPLETED FIRST DST LOOKUP\n");
            if($avp(orig_rd) == $rd){
                    exec("kamctl dispatcher reload");
                    ds_select_dst($avp(user),"9");
            }
            xlog("     host is now $rd; all is $ru || $du\n");
            if($avp(orig_du) != $du){
                    t_on_failure("1");
                    if(!t_relay()){
                            xlog("     T_RELAY() FAILED\n");
                            sl_reply_error();
                    }
            } else {
                    xlog("     RELOAD STILL YIELDED NOTHING\n");
            }
    }
    route[2]{
            xlog("     Sending to gateway...");
            #$rd = "GATEWAY";
    }
    route[3]{
            #register
            if(!www_authorize("domain.net","subscriber")){
                    www_challenge("domain.net","0");
                    return;
            } else {
                    xlog("     AUTHENTICATED $avp(user)\n");
                    save("location");
                    return;
            }
    }
    route[4]{
            $rU = "2-1";
            #$rd = "10.1.40.7";
            #$rp = "16314";
            lookup("location");
            xlog("     ROUTING TO USER $rU\n");
            forward();
    }
    failure_route[1]{
            xlog("     FAILED FAILURE_ROUTE[1]\n");
            if(t_any_timeout()){
                    xlog("     MARKING DEAD HOST $du\n");
                    ds_mark_dst();
                    xlog("     TIMEOUT!\n");
            }
    }


     0(2934) ERROR: <script>: [Thu Dec  2 20:15:34 2010] VALID RECV
    REGISTER
    sip:3...@domain.com (10.1.40.7:43899) to sip:domain.com
     0(2934) ERROR: <script>:      USER 3 DETECTED
     0(2934) ERROR: <script>:      ROUTED to 3 PBX
     0(2934) ERROR: <script>: mark#1
     0(2934) ERROR: <script>:      host is now domain.com; all is
    sip:domain.com || sip:xxx.xxx.xxx.166:5060
     0(2934) ERROR: <script>: [Thu Dec  2 20:15:35 2010] VALID RECV
    REGISTER
    sip:3...@domain.com (10.1.40.7:43899) to sip:domain.com
     0(2934) ERROR: <script>:      USER 3 DETECTED
     0(2934) ERROR: <script>:      ROUTED to 3 PBX
     0(2934) ERROR: <script>: mark#1
     0(2934) ERROR: <script>:      host is now domain.com; all is
    sip:domain.com || sip:xxx.xxx.xxx.166:5060
     1(2935) ERROR: <script>:      FAILED FAILURE_ROUTE[1]
     1(2935) ERROR: <script>:      MARKING DEAD HOST
    sip:xxx.xxx.xxx.166:5060
     1(2935) ERROR: <script>:      TIMEOUT!
     0(2934) ERROR: <script>: [Thu Dec  2 20:15:50 2010] VALID RECV
    REGISTER
    sip:3...@domain.com (10.1.40.7:29372) to sip:domain.com
     0(2934) ERROR: <script>:      USER 3 DETECTED
     0(2934) ERROR: <script>:      ROUTED to 3 PBX
     0(2934) ERROR: <script>: mark#1
     0(2934) ERROR: <script>:      host is now domain.com; all is
    sip:domain.com || sip:xxx.xxx.xxx.165:5060
     0(2934) ERROR: <script>: [Thu Dec  2 20:15:50 2010] VALID RECV
    REGISTER
    sip:3...@domain.com (10.1.40.7:29372) to sip:domain.com
     0(2934) ERROR: <script>:      USER 3 DETECTED
     0(2934) ERROR: <script>:      ROUTED to 3 PBX
     0(2934) ERROR: <script>: mark#1
     0(2934) ERROR: <script>:      host is now domain.com; all is
    sip:domain.com || sip:xxx.xxx.xxx.165:5060
     1(2935) ERROR: <script>:      FAILED FAILURE_ROUTE[1]
     1(2935) ERROR: <script>:      MARKING DEAD HOST
    sip:xxx.xxx.xxx.165:5060
     1(2935) ERROR: <script>:      TIMEOUT!
     0(2934) ERROR: <script>: [Thu Dec  2 20:15:55 2010] VALID RECV
    REGISTER
    sip:3...@domain.com (10.1.40.7:29373) to sip:domain.com
     0(2934) ERROR: <script>:      USER 3 DETECTED
     0(2934) ERROR: <script>:      ROUTED to 3 PBX


    :::::Core file from crash with 1 invalid host:::::
    Program terminated with signal 8, Arithmetic exception.
    #0  0x0069e92b in ds_select_dst (msg=0x82ffb00, set=2, alg=7, mode=0)
        at dispatch.c:1720
    1720                            i = (i+1)%(idx->nr-1);



    Thanks for any help on this one!
    -Eric


    _______________________________________________
    SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
    sr-users@lists.sip-router.org  <mailto:sr-users@lists.sip-router.org>
    http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


--
Daniel-Constantin Mierla
Kamailio (OpenSER) Advanced Training
Jan 24-26, 2011, Irvine, CA, USA
http://www.asipto.com


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla
Kamailio (OpenSER) Advanced Training
Jan 24-26, 2011, Irvine, CA, USA
http://www.asipto.com

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to