ejabberd 启动在 user_drv 模块中崩溃

ejabberd start crashes in user_drv module

我正在使用 ejabber-14.07 和 erlang 17 (v6.4),在将我的 ubuntu 更新到 16.04 后,我遇到了 ejabberd 启动问题,它崩溃了

{error_logger,{{2016,8,4},{12,20,35}},"~s~n",["Error in process <0.30.0> on node 'nodeej@marinakr' with exit value: {undef,[{group,start,[<0.30.0>,{}],[]},{user_drv,start_user,0,[{file,\"user_drv.erl\"},{line,154}]},{user_drv,server1,3,[{file,\"user_drv.erl\"},{line,114}]}]}\n"]}
{error_logger,{{2016,8,4},{12,20,45}},crash_report,[[{initial_call,{supervisor_bridge,user_sup,['Argument__1']}},{pid,<0.29.0>},{registered_name,[]},{error_info,{exit,nouser,[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,322}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}},{ancestors,[kernel_sup,<0.10.0>]},{messages,[]},{links,[<0.11.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,1598},{stack_size,27},{reductions,418}],[]]}
{error_logger,{{2016,8,4},{12,20,45}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,nouser},{offender,[{pid,undefined},{name,user},{mfargs,{user_sup,start,[]}},{restart_type,temporary},{shutdown,2000},{child_type,supervisor}]}]}
{error_logger,{{2016,8,4},{12,20,45}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,user,nouser}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,133}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,27},{reductions,117}],[]]}
{error_logger,{{2016,8,4},{12,20,45}},std_info,[{application,kernel},{exited,{{shutdown,{failed_to_start_child,user,nouser}},{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,user,nouser}},{kernel,start,[normal,[]]}}}"}

我试图找到解决方案,但仍然不知道如何修复它

错误信息是

{undef, [
         {group,start,[<0.30.0>,{}],[]},
         {user_drv,start_user,0,[{file,\"user_drv.erl\"},{line,154}]},
         {user_drv,server1,3,[{file,\"user_drv.erl\"},{line,114}]}
        ]}

所以它试图调用 group:start(<0.30.0>,{}) 但函数未定义。您应该首先检查是否有一个名为 group 的模块,它是否有一个接受 pid 和元组的函数 start,并且它的编译没有错误。

我已经创建了自己的 gen_mod,名称为 "group",但是名称 "group" 已经为本地 erlang 模块保留了。它试图使用我的模块并崩溃了。我所需要的只是模块的另一个名称。