On Mon, 25 Mar 2013 12:31:22 +0100
Richard Wiedenhöft <[email protected]> wrote:
> As requested the gzipped crash dump is attached.
Okay, the crash dump contains some fishy bit of information in the
error logger's stack trace:
{{{2013,3,25},{9,41,3}},
{info_msg,<0.8.0>,
{<0.19.0>,"Protocol: ~p: register error: ~p~n",
["inet_tcp",
{{badmatch,{error,econnrefused}},
[{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}]}]}}}]},
false}]
Basically it says some part of ejabberd tried to connect somewhere
using TCP/IP and failed with the ECONNREFUSED (connection refused)
error. Since this happens deeply in the internals of the Erlang node
supposedly even before an attempt to run ejabberd code is made, I guess
that what fails, is an attempt to connect to the Erlang port mapper
daemon (epmd), a process which is started up automatically when the
first Erlang emulator (that `beam` or `beam.smp` process) starts up [*].
There might be several causes to why this fails. For one thing, the
name of your Erlang node's hostname ("nohost" in your case) must be
resolvable, and the standard empd port (4369) on the IP address to
which the hostname resolves (it's usually not something in 127/8) must
be connectable to.
In other words, check your firewall settings.
And please report back on your progress. If you need any
hands-holding, feel free to join [email protected] or IM me
directly (xmpp:[email protected]).
[*] Erlang (and ejabberd) is an inherently distributed system, so
there's no way to dodge using epmd, and you'll have to deal with it.
You can also consider patching /usr/sbin/ejabberdctl to make epmd
listen only on localhost [1], but then your node name must resolve
to that address on 127/8.
1. https://support.process-one.net/browse/EJAB-1404
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]