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
            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://