服务器为 运行 时 ejabberd 状态显示错误

ejabberd status showing error while server is running

我正在尝试在我的服务器上配置 eJabberd

我安装完成了。以下命令序列会产生意外输出:

$ ejabberd start
$ ejabberd status

在此序列中,ejabbed 已启动,我们可以访问 Web 管理界面。

但在 运行 之后,ejabberd status 给出以下输出:

Failed to create main carrier for temp_alloc
/sbin/ejabberdctl: line 412:  9616 Aborted                 $EXEC_CMD "$ERL       $NAME ${CONN_NAME}       -noinput       -hidden       -pa $EJABBERD_EBIN_PATH       $KERNEL_OPTS       -s ejabberd_ctl -extra $ERLANG_NODE $COMMAND"

更新

执行$ erl给出以下输出:

Crash dump is being written to: erl_crash.dump...done
Failed to create aux thread
Aborted

crash.dump的输出

=erl_crash_dump:0.3
Wed Nov 18 03:16:51 2015
Slogan: Failed to create aux thread
System version: Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:85:24] [async-threads:10] [hipe] [kernel-poll:false]
Compiled: Tue Nov 17 05:43:11 2015
Taints:
Atoms: 2005
Calling Thread: beam.smp
=scheduler:1
Scheduler Sleep Info Flags: SLEEPING | TSE_SLEEPING
Scheduler Sleep Info Aux Work: SET_TMO
Current Port:
Run Queue Max Length: 0
Run Queue High Length: 0
Run Queue Normal Length: 1
Run Queue Low Length: 0
Run Queue Port Length: 0
Run Queue Flags: NONEMPTY_NORMAL | NONEMPTY
Current Process:

我无法追踪问题,任何参考都会很有帮助。

运行 erl 禁用 SMP 模式,即 $ erl -smp disable

如果它运行成功,转到 /sbin/ejabberdctl 文件,第 412 行并在那里添加选项,例如

$EXEC_CMD "$ERL       $NAME ${CONN_NAME}   -smp disable    -noinput       -hidden       -pa $EJABBERD_EBIN_PATH       $KERNEL_OPTS       -s ejabberd_ctl -extra $ERLANG_NODE $COMMAND"