ejabberd线上日志分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 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().加载配置文件了

猜你喜欢

转载自blog.csdn.net/hanliangxiaochou/article/details/53910035