Snoopy Fubars Erlang

I just spent roughly 2 days trying to figure out why I could not start a rabbitmq broker on a Debian machine. To make a long story short, it was caused by snoopy. Snoopy fubars erlang. Solution is to remove snoopy (dpkg –purge snoopy, if you are on Debian).

Here are some symptoms that you might see:

  • net_adm:names() returns {error,timeout} when you do it inside "erl -sname foo"
  • if you run epmd -d -d -d -d -d in your terminal and launch erl -sname foo, you will get the registration (ALIVE2_REQ, ALIVE2_RESP) but there will be no more communication between epmd and foo no matter what you do, until you Ctrl+C from foo. Ideally, you should be able to see PORT2_REQ and PORT2_RESP when doing net_adm:ping.
  • "erl -sname foo" and "erl -sname bar" on the same machine will not be able to ping each other with "net_adm:ping('foo@host')." or communicate with each other.
  • inet:gethostbyname("any.domain.name") will return {error,timeout} for all domains, even for names in your /etc/hosts, when you do "erl -sname foo" but might work when you do just "erl" (not starting a distributed node).

RabbitMQ related symptoms:

  • broker will not start using /etc/init.d/rabbitmq-server start
  • rabbitmqctl status will always fail with badrpc error

Categories: erlang |

Comments (2)

samitha M.P.H.K. // 18 Aug 2008

I got same sort of problem. that is , i could do the broker running. but whn i do "./rabbitmqctl status" it gives "{badrpc,nodedown}" .The normal status out put is not given . But my os is fedora 6 where it differs from the given case.

Dmitriy // 18 Aug 2008

Samitha,

I would take a look at the following:

1. See if rabbit broker process is running (ps auxww). 2. Take a look at rabbit logs at /var/log/rabbitmq to see if there is anything interesting there. 3. Subscribe to rabbitmq-discuss mailing list at http://lists.rabbitmq.com and ask for help on the list.

HTH, Dmitriy