毎日、サーバーに新しい Erlang クラッシュ レポートがあります。ejabberd は私が使用する唯一の Erlang であるため、これがクラッシュの原因であるに違いありません。
ログファイル ( erl_crash.dump
) には約 9,000 行あるため、デバッグ方法がわかりません。しかし、そのログファイルで「ejabberd」を検索したところ、5 回出現し、すべての出現は「ejabberdctl」に関連するものでした。
exec()
プログラムでユーザーを作成するために、PHP スクリプト ( ) を介して ejabberdctl に対処しています。それが(どういうわけか)クラッシュの原因でしょうか?
ディレクトリで、とに/var/log/ejabberd
エラーが見つかりました。しかし、私はそれらを解決する方法を本当に知りません:erlang.log
ejabberd.log
=ERROR REPORT====
Mnesia('ejabberd@MYHOST'): ** ERROR ** (core dumped to file: "/var/lib/ejabberd/MnesiaCore.ejabberd@MYHOST_...")
** FATAL ** mnesia_monitor crashed: {badarg,
[{ets,lookup,
[mnesia_decision,
'ejabberdctl@MYHOST']},
{mnesia_recover,has_mnesia_down,1},
{mnesia_monitor,handle_info,2},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]} state: {state,
<0.65.0>,
[],
[],
true,
[],
undefined,
[]}
=ERROR REPORT====
Mnesia('ejabberd@MYHOST'): ** WARNING ** Mnesia is overloaded: {dump_log,
time_threshold}
=CRASH REPORT====
crasher:
initial call: ejabberd_listener:init/3
pid: <0.366.0>
registered_name: []
exception exit: {timeout,
{gen_server,call,
[<0.682.0>,{become_controller,<0.685.0>}]}}
in function gen_server:call/2
in call from ejabberd_listener:accept/3
ancestors: [ejabberd_listeners,ejabberd_sup,<0.39.0>]
messages: [{#Ref<0.0.0.11304>,ok}]
links: [#Port<0.2761>,<0.274.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 2584
stack_size: 24
reductions: 20938
neighbours: