ejabberd 2.1.1 crashes inside Freebsd-8 jail

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?

$ erl -sname node1
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
(node1@localhost)1> 55*71.
3905
(node1@localhost)2> q().
ok
(node1@localhost)3>
$

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.

Quote:

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.

Quote:

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

http://www.erlang.org/doc/man/epmd.html

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!

Syndicate content