Installation on Debian Etch

I am in the process of replacing jabber14 (1.4.3) with ejabberd 2.0.1-6 on Debian Etch virtual private server. I have ssh access only. The installation went well. However, ejabberd fails to start. "/etc/init.d/ejabberd start" continues to fail. "sudo netstat -lnp | grep 5222" shows no service. Does anybody have any experience with this? I've included some log files below:

The /var/log/ejabberd/ejabber.log file:

=INFO REPORT==== 2010-05-24 18:57:33 ===
I(<0.305.0>:mod_pubsub:152) : pubsub init "localhost" [{access_createnode,
pubsub_createnode},
{plugins,
["default","pep"]}]

=INFO REPORT==== 2010-05-24 18:57:33 ===
I(<0.305.0>:mod_pubsub:207) : ** tree plugin is nodetree_default

=INFO REPORT==== 2010-05-24 18:57:33 ===
I(<0.305.0>:mod_pubsub:211) : ** init default plugin

=INFO REPORT==== 2010-05-24 18:57:33 ===
I(<0.305.0>:mod_pubsub:211) : ** init pep plugin

A portion of the /var/log/ejabberd/sasl.log file:

=PROGRESS REPORT==== 24-May-2010::18:57:33 ===
supervisor: {local,ejabberd_sup}
started: [{pid,<0.305.0>},
{name,ejabberd_mod_pubsub_localhost},
{mfa,{mod_pubsub,
start_link,
["localhost",
[{access_createnode,pubsub_createnode},
{plugins,["default","pep"]}]]}},
{restart_type,transient},
{shutdown,1000},
{child_type,worker}]

=PROGRESS REPORT==== 24-May-2010::18:57:33 ===
application: ejabberd
started_at: ejabberd@ps25005

Re: Installation on Debian Etch

Try this:

1) See if it dropped an Erlang crash dump file (under /var/log/ejabberd).

2) Edit /etc/init.d/ejabberd, locate a line which starts the Erlang emulator -- it should look something like this:
su $EJABBERDUSER -c "$EJABBERD -noshell -detached"
and temporarily remove these -noshell -detached options, save and attempt to start ejabberd again, having checked that no instance is running (kill any beam or beam.smp process running).
Without these options, ejabberd will run in foreground, and if it crashes, you'll be able to scroll its output up and look for error message.

So, if/when you have a crash dump and/or the error message, publish them for further analysis.

Crash Dump

Thanks for the advice on how to move forward.

This is what ejabberd spits out when running in the foreground:

/etc/init.d# ejabberd start
{error_logger,{{2010,5,27},{0,7,44}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p,5}]}]}
{error_logger,{{2010,5,27},{0,7,44}},crash_report,[[{pid,<0.20.0>},{registered_name,net_kernel},{error_info,{error,badarg}},{initial_call,{gen,init_it,[gen_server,<0.17.0>,<0.17.0>,{local,net_kernel},net_kernel,{ejabberd,shortnames,15000},[]]}},{ancestors,[net_sup,kernel_sup,<0.8.0>]},{messages,[]},{links,[#Port<0.8>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,233},{stack_size,21},{reductions,412}],[]]}
{error_logger,{{2010,5,27},{0,7,44}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[[ejabberd,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2010,5,27},{0,7,44}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfa,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2010,5,27},{0,7,44}},crash_report,[[{pid,<0.7.0>},{registered_name,[]},{error_info,{shutdown,{kernel,start,[normal,[]]}}},{initial_call,{application_master,init,[<0.5.0>,<0.6.0>,{appl_data,kernel,[application_controller,erl_reply,auth,boot_server,code_server,disk_log_server,disk_log_sup,erl_prim_loader,error_logger,file_server_2,fixtable_server,global_group,global_name_server,heart,init,kernel_config,kernel_sup,net_kernel,net_sup,rex,user,os_server,ddll_server,erl_epmd,inet_db,pg2],undefined,{kernel,[]},[application,application_controller,application_master,application_starter,auth,code,code_aux,packages,code_server,dist_util,erl_boot_server,erl_distribution,erl_prim_loader,erl_reply,erlang,error_handler,error_logger,file,file_server,file_io_server,prim_file,global,global_group,global_search,group,heart,hipe_unified_loader,inet6_tcp,inet6_tcp_dist,inet6_udp,inet_config,inet_hosts,inet_gethost_native,inet_tcp_dist,init,kernel,kernel_config,net,net_adm,net_kernel,os,ram_file,rpc,user,user_drv,user_sup,disk_log,disk_log_1,disk_log_server,disk_log_sup,dist_ac,erl_ddll,erl_epmd,erts_debug,gen_tcp,gen_udp,prim_inet,inet,inet_db,inet_dns,inet_parse,inet_res,inet_tcp,inet_udp,pg2,seq_trace,wrap_log_reader,zlib,otp_ring0],[],infinity,infinity},normal]}},{ancestors,[<0.6.0>]},{messages,[{'EXIT',<0.8.0>,normal}]},{links,[<0.6.0>,<0.5.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,21},{reductions,2079}],[]]}
{error_logger,{{2010,5,27},{0,7,44}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: /var/log/ejabberd/erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

And here is the generated crash dump.

Any advice you may have would be most appreciated.

Known error message

zvan wrote:

This is what ejabberd spits out when running in the foreground:

/etc/init.d# ejabberd start
{error_logger,{{2010,5,27},{0,7,44}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},

Any advice you may have would be most appreciated.

See http://www.ejabberd.im/error/duplicate_name

Problem Solved!

I killed epmd, ensured that only one host was configured in /etc/ejabberd/ejabberd.cfg and restarted. Everything works well! Thanks for pointing me in the right direction!

Syndicate content