[rabbitmq-discuss] failure on startup

Jerry Kuch jerryk at vmware.com
Thu Jan 20 01:20:21 GMT 2011


>  jailed FreeBSD 8.x, rabbitmq 2.1.0_1, erlang-lite-r14b01,1 hydra#
> /usr/local/etc/rc.d/rabbitmq start
> {error_logger,{{2011,1,19},{14,40,28}},"Protocol: ~p: register
> error:
> ~p~n",["inet_tcp",{{badmatch,{error,epmd_close}},[{inet_tcp_dist,listen,1},{net>
> _kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]}
>
> [ rest of dump deleted ]
>

It looks like your Rabbit is having trouble connecting to epmd, the
Erlang Port Mapper Daemon.  When an Erlang VM fires up it tries to
register itself with a daemon listening on port 4369 by default, and
starts one if it can't find one.

Can you 'ps' and see if you have an epmd process up and running?  Can
your Erlang node connect to it when running in the jailed
configuration you're in?  If you just try to start up a distributed
Erlang node with a bogus name like so:

erl -name bogusnode

what happens?

If you need to start an epmd up to play with you can see its man page
with:

erl -man epmd

There are reports that Erlang 14B may have a congenital problem with
free BSD jails due to some hardcoding that expects to find epmd at
127.0.0.1.  I gather that jails rewrite connections to localhost with
the IP address that the jail is bound to, which trips up some checks
that Erlang does.  The thread below discusses a patch for this
behavior dating from late last fall.  I don't know what it's release
status is:

http://groups.google.com/group/erlang-programming/msg/244597dd7f874e73

http://groups.google.com/group/mailing.freebsd.ports/browse_thread/thread/1f7210334fc11646

There are claims that switching to a slightly older Erlang, with which
Rabbit ought to still work, may help as well.  My jail knowledge is
super rusty, but it might also be possible to reconfigure your jail's
settings to give Erlang something more akin to the vanilla localhost
it's expecting...

Best regards,
Jerry


More information about the rabbitmq-discuss mailing list