0

我的 ejabberd 服务器经常崩溃,它与 ODBC 模块有些相关,但我无法理解这个问题。以下是日志。谁能帮我解释一下?我在下面复制粘贴了一些消息。

=错误报告==== 2015 年 10 月 14 日::00:27:51 === ** 状态机 <0.27422.5> 终止 ** 最后一条消息是 {'$gen_sync_event', {<0.27896.5> ,#Ref<0.0.10.246367>}, {sql_cmd, {sql_query,<<"SELECT 1;">>}, {1444,782471,512104}}} ** 当状态 == session_established ** 数据 == {state ,<0.27423.5>,odbc,30000,<<"abchost.com">>,1000, {0,{[],[]}}} ** 终止原因 = ** {function_clause,[{odbc, sql_query, [<0.27423.5>,<<"SELECT 1;">>,59000], [{file,"odbc.erl"},{line,183}]}, {ejabberd_odbc,sql_query_internal,1, [{文件,"src/ejabberd_odbc.erl"}, {line,468}]}, {ejabberd_odbc,run_sql_cmd,4, [{file,"src/ejabberd_odbc.erl"}, {line,374}]}, {p1_fsm, handle_msg,10, [{file,"src/p1_fsm.erl"},{line,582}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,237}]}]}

00:27:51.573 [错误] 崩溃报告进程 <0.27434.5> 与 0 个邻居退出,原因是:没有与 odbc:sql_query(<0.27435.5>, <<"SELECT 1;">>, 59000) 行匹配的函数子句183 in p1_fsm:terminate/8 line 760

00:27:53.965 [错误] gen_fsm <0.27439.5> 在状态 session_established 中终止,原因是:没有函数子句匹配 odbc:sql_query(<0.27442.5>, <<"SELECT 1;">>, 59000) 第 183 行

=错误报告==== 14-Oct-2015::00:27:51 === ** 通用服务器 <0.27435.5> 终止 ** 最后一条消息是 {'DOWN',#Ref<0.0.10.239386> ,进程,<0.27434.5>, {function_clause, [{odbc,sql_query, [<0.27435.5>,<<"SELECT 1;">>,59000], [{file,"odbc.erl"},{ line,183}]}, {ejabberd_odbc,sql_query_internal,1, [{file,"src/ejabberd_odbc.erl"}, {line,468}]}, {ejabberd_odbc,run_sql_cmd,4, [{file,"src/ejabberd_odbc .erl"}, {line,374}]}, {p1_fsm,handle_msg,10, [{file,"src/p1_fsm.erl"},{line,582}]}, {proc_lib,init_p_do_apply,3, [{ file,"proc_lib.erl"},{line,237}]}]}} ** 当服务器状态 == {state,#Port<0.2314388>,undefined,<0.27434.5>, undefined,on,false,false ,off,connected, undefined,0, [#Port<0.2314379>,#Port<0.2314376>], #Port<0.2314386>,#Port<0.2314366>} ** 终止原因 == ** {已停止, {'EXIT',<0.27434.5>, {function_clause, [{odbc,sql_query, [<0.27435.5>,<< "SELECT 1;">>,59000], [{file,"odbc.erl"},{line,183}]}, {ejabberd_odbc,sql_query_internal,1, [{file,"src/ejabberd_odbc.erl"}, {line,468}]}, {ejabberd_odbc,run_sql_cmd,4, [{file,"src/ejabberd_odbc.erl"},{line,374}]}, {p1_fsm,handle_msg,10,[{file,"src/ p1_fsm.erl"},{line,582}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{line,237}]}]}}}sql_query_internal,1, [{file,"src/ejabberd_odbc.erl"},{line,468}]}, {ejabberd_odbc,run_sql_cmd,4, [{file,"src/ejabberd_odbc.erl"},{line,374} ]}, {p1_fsm,handle_msg,10,[{file,"src/p1_fsm.erl"},{line,582}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{行,237}]}]}}}sql_query_internal,1, [{file,"src/ejabberd_odbc.erl"},{line,468}]}, {ejabberd_odbc,run_sql_cmd,4, [{file,"src/ejabberd_odbc.erl"},{line,374} ]}, {p1_fsm,handle_msg,10,[{file,"src/p1_fsm.erl"},{line,582}]}, {proc_lib,init_p_do_apply,3, [{file,"proc_lib.erl"},{行,237}]}]}}}

00:27:51.552 [错误] 主管 odbc_sup 有子 [] 以 {odbc,start_link_sup,undefined} 在 <0.27432.5> 退出,原因是 {stopped,{'EXIT',<0.27429.5>,{function_clause,[ {odbc,sql_query,[<0.27432.5>,<<"SELECT 1;">>,59000],[{file,"odbc.erl"},{line,183}]},{ejabberd_odbc,sql_query_internal,1 ,[{file,"src/ejabberd_odbc.erl"},{line,468}]},{ejabberd_odbc,run_sql_cmd,4,[{file,"src/ejabberd_odbc.erl"},{line,374}]}, {p1_fsm,handle_msg,10,[{file,"src/p1_fsm.erl"},{line,582}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237 }]}]}}} 在上下文 child_terminated

4

1 回答 1

0

我认为您指的是已经在 ejabberd 主分支中修复的错误:https ://github.com/processone/ejabberd/commit/7d99484859df7c33a73da92d84b5cb5bd27a244e

于 2015-10-15T19:38:57.983 回答