Comment 2 for bug 1283100

Rick Pizzi (pizzi) wrote :

I found the reason. It has NOTHING to do with glibc.

Using gdb I traced the assertion back to gcomm/src/gmcast.cpp, line 146:

 catch (gu::NotSet&)
    {
        // if no listen port is set for listen address in the options,
        // see if base port was configured
        try
        {
            port = conf_.get(BASE_PORT_KEY); <----- this call fails and throws the NotSet exception
        }
        catch (gu::NotFound&)
        {
            // if no base port configured, try port from the connection address
            try { port = uri_.get_port(); } catch (gu::NotSet&) {}
        }

        listen_addr_ += ":" + port;
    }

To make it work simply specify the listen address in the option, eg:

garbd -a gcomm://a.b.c.d:4567 -g clustername -o gmcast.listen_addr=tcp://10.10.10.10:5674