I installed the latest ejabberd version in my Freebsd-8 jail. Unfortunately,
the program crashed every time, event ejabberdctl does crash:
ejabberdctl
{error_logger,{{2010,1,11},{13,18,1}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,eacces}},[{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_do_apply,3}]}]}
{error_logger,{{2010,1,11},{13,18,1}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.111>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,377},{stack_size,24},{reductions,482}],[]]}
{error_logger,{{2010,1,11},{13,18,1}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[['ctl-ejabberd@localhost',shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2010,1,11},{13,18,1}},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,1,11},{13,18,1}},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: /usr/local/var/log/ejabberd/erl_crash_20100111-131801.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
Any ideas what might be the cause of this? Does anyone made ejabberd work inside a Freebsd jail?
Thanks
Johannes
Maybe Erlang can't even start?
The Erlang module inet_tcp found an unexpected error eaccess (error in access). This may be a problem in general Erlang, not limited to ejabberd.
For example, does this work correctly for you?
Thanks for the hint, it seems to be the right direction
here is what happens:
erl -sname node1
{error_logger,{{2010,1,11},{23,9,32}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,eaddrnotavail}},[{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_do_apply,3}]}]}
{error_logger,{{2010,1,11},{23,9,32}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.66>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,377},{stack_size,24},{reductions,444}],[]]}
{error_logger,{{2010,1,11},{23,9,32}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[[node1,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2010,1,11},{23,9,32}},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,1,11},{23,9,32}},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: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})
I use the new VImage feature, maybe this is connected to that...
Thanks anyway, I guess I have to ask for help somewhere else.
Try erlang-questions mailing list.
I use the new VImage feature, maybe this is connected to that...
Thanks anyway, I guess I have to ask for help somewhere else.
Yes, it seems some problem in Erlang/OTP. If your search in Internet doesn't help, you can search in the erlang-questions mailing list, or ask there.
here is what happens:
erl -sname node1
{error_logger,{{2010,1,11},{23,9,32}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,eaddrnotavail}} ...
It means something like "error address not available" when starting the Erlang machine. Maybe related to one important part of Erlang:
"When an Erlang node starts, the node has a name and it obtains an address from the host OS kernel. The name and the address are sent to the epmd daemon running on the local host."
I found the cause (by
I found the cause (by accident)
I did not set a hostname before, it seems that this made empd crash.
Thanks for you help!