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 liveBut 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.