[rabbitmq-discuss] getting started, broker runs; can't get status

Dmitriy Samovskiy dmitriy.samovskiy at cohesiveft.com
Tue Feb 3 19:19:16 GMT 2009


Hi all,

Doug Barth wrote:
> We don't get exactly that error. Instead we are getting
> {error,address}.
> 
>   [root at db1 home]# erl -sname foo -cookie coo
>   Erlang (BEAM) emulator version 5.6.3 [source] [64-bit] [smp:8]
> [async-threads:0] [hipe] [kernel-poll:false]
> 
>   Eshell V5.6.3  (abort with ^G)
>   (foo at db1)1> net_adm:names().
> 
>   ... long pause ...
> 
>   {error,address}
>   (foo at db1)2>
>   BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
>          (v)ersion (k)ill (D)b-tables (d)istribution
> 

Fixed.

According to net_adm man page [1], names/0 returns {error, address} when node can't 
communicate with epmd.

We did net_adm:localhost() to see the local host name that erlang sees. It was an FQDN 
(a.example.com). In /etc/hosts however, a.example.com resolved to an Internet-facing IP on 
ISP's frontend, not to a private IP of the local box. With tcpdump, we observed SYN 
packets in response to net_adm:names() call going out to the network to ISP's IP address, 
instead of going locally to our epmd.

Once we changed /etc/hosts and put something like "127.0.0.1 a.example.com" there, 
net_adm:names() started working and erlang is happy now.

Please note that this turned out to be totally unrelated to what we observed with snoopy, 
even though some (all?) symptoms looked very similar.


[1] http://erlang.org/doc/man/net_adm.html


- Dmitriy




More information about the rabbitmq-discuss mailing list