版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanliangxiaochou/article/details/53910035
ejabberd常见问题
用ejabberd_config:start().重新加载配置文件后出现的异常,
原因为在启动配置的过程中,杀死了tcp连接导致的:
错误内容展示如下:
=ERROR REPORT==== 2016-12-28 14:49:22 ===
** Generic server <0.10947.17> terminating
** Last message in was {tcp_closed,#Port<0.53649>}
** When Server state == {state,#Port<0.53649>,
{dict,1,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]},
{{[],[],[],[],[],[],[],
[[3623|#Fun<mc_worker.0.15106975>]],
[],[],[],[],[],[],[],[]}}},
<<>>,
{conn_state,unsafe,master,<<"optmsg">>}}
** Reason for termination ==
** tcp_closed
=ERROR REPORT==== 2016-12-28 14:49:22 ===
E(<0.411.0>:aa_mongo_senter:126) : mongo db opt uidlist data error!!!
{tcp_closed,{gen_server,call,
[<0.10947.17>,
{query,false,false,false,false,<<"onlineuser">>,0,-1,
{lid,1},
{loginid,true}},
infinity]}}
[{gen_server,call,3,[{file,"gen_server.erl"},{line,188}]},
{mc_connection_man,request_async,2,
[{file,"mc_connection_man.erl"},{line,23}]},
{mc_action_man,read_one,2,[{file,"mc_action_man.erl"},{line,22}]},
{aa_mongo_senter,read_opt_uidlist,0,
[{file,"aa_mongo_senter.erl"},{line,112}]},
{aa_mongodb,handle_info,2,[{file,"aa_mongodb.erl"},{line,301}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,604}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]
=ERROR REPORT==== 2016-12-28 14:49:22 ===
** Generic server mc_cursor_sup terminating
** Last message in was {'EXIT',<0.398.0>,killed}
** When Server state == {state,
{local,mc_cursor_sup},
simple_one_for_one,
[{child,undefined,mc_cursor,
{mc_cursor,start_link,[]},
temporary,2000,worker,
[mc_cursor]}],
undefined,10,60,[],mc_cursor_sup,[]}
** Reason for termination ==
** killed
=ERROR REPORT==== 2016-12-28 14:49:22 ===
application_master: shutdown_error
ejabberd_app: {prep_stop,[[]]}
error_info: {noproc,{gen_server,call,
[ejabberd_listeners,
{terminate_child,{5222,{0,0,0,0},tcp}},
infinity]}}
=INFO REPORT==== 2016-12-28 14:49:22 ===
application: ejabberd
exited: shutdown
type: temporary
当ejabberd_listener都已经挂掉的时候,虽然进程仍然在,但其实是已经无法工作了
第一条错误是mongoDB的tcp被强行closed了,造成后续的一连串的崩溃,最后造成ejabberd_listener的崩溃,无法继续接收外部请求
以后再也不用ejabberd_config:start().加载配置文件了