error, duplicate_name

Error 1

I try to start ejabberd, but it doesn't start, and it generates a file in /var/log/ejabberd called erl_crash_*.dump with size 220 KB. In that file it says:
=erl_crash_dump:0.1
Sat Jun  4 12:05:24 2011
Slogan: Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
System version: Erlang R14B02 (erts-5.8.3) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:true]
Compiled: Mon Apr 11 03:50:05 2011
Taints:
Atoms: 4580
=memory
total: 10865288
...
B7296360:t2:A8:badmatch,HB72963C0
B72963C0:t2:A5:error,AE:duplicate_name

Error 2

I try to start ejabberd with:
ejabberdctl live
But I get this error:
{error_logger,{{2011,6,4},{12,6,59}},"Protocol: ~p: register error: ~p~n",["inet_tcp",
{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,1},
...

Explanation

You are trying to start a new Erlang node, but another node with the same name is already running.

Solution

If you get this error while starting ejabberd it means that you are already running ejabberd. Probably ejabberd was started automatically and you did not notice. Check if ejabberd is already running (the system process is called 'beam' or 'beam.smp').

Another possibility is that your ejabberd node crashed and for some strange reason the program 'epmd' didn't notice and still thinks ejabberd is running. This small program is started by Erlang, and just serves to resolve Erlang node names, and is useless when you are not running any Erlang program in your system. So, check if 'epmd' is running and if so, kill it. Don't worry, because it will be started again by ejabberd.

If you really want to start another ejabberd instance, change the node name in your ejabberd start script.

Related Links

Syndicate content