["inet_tcp",{{badmatch,{error,econnrefused}},

Error

I installed ejabberd in a virtual machine (linux-vserver). When I try to start ejabberd, it crashes immediately and shows those errors:

{error_logger,{{2009,10,18},{23,7,5}},
  "Protocol: ~p: register error: ~p~n",
  ["inet_tcp",{{badmatch,{error,econnrefused}},
   [{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},
   ...

Explanation

The problem is in the 'epmd' program that Erlang starts at the same time that 'beam'. You can see that the same errors appear with a simple Erlang node like this:

erl -sname testname

The reason is that under virtual systems (like linux-vserver) epmd can be launched at any IP address but it can work only at 127.0.0.1.

Solution

Run those commands in the main machine (not inside the virtual machine):

nattribute --set --nid virtual_system_name --flag ~single_ip
echo "~single_ip" > /etc/vservers/virtual_system_name/nflags

In your case, replace virtual_system_name with the name of you cirtual machine.

Thanks to Liveevil.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

problem reappears

after installing a recent version of linux-vserver i get this problem again.
sadly it seems that the aforementioned solution does not work anymore =(

i don't really know who to turn to, posted this problem @ vserver-irc, but didn't get an answer there.

thanks

Syndicate content