启动Ejabberd时出现{'EXIT',“无效主机名”}

时间:2012-09-18 13:13:54

标签: erlang ejabberd

我使用OTP / r15b02在我的狮子座上安装了Ejabberd。

启动Ejabberd时,日志中有一个错误

=CRASH REPORT==== 18-Sep-2012::21:05:54 ===
  crasher:
    initial call: application_master:init/4
    pid: <0.176.0>
    registered_name: []
    exception exit: {bad_return,{{ejabberd_app,start,[normal,[]]},
                                 {'EXIT',"invalid hostname"}}}
      in function  application_master:init/4 (application_master.erl, line 138)
    ancestors: [<0.175.0>]
    messages: [{'EXIT',<0.177.0>,normal}]
    links: [<0.175.0>,<0.147.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 24
    reductions: 151
  neighbours:

谁能告诉我原因,谢谢

1 个答案:

答案 0 :(得分:1)

跟踪ejabberd代码,我发现如果ejabber配置文件中的主机(或主机)定义不正确,您应该返回此代码。

exmpp_stringprep:nodeprep(Host)为您定义的主机名之一引发错误。我想你可以在shell中查看它。

另一个可能的原因是exmpp还没有开始,但我想ejabber正在照顾它。

在我看来,ejabber不应该重新定义来自exmpp_stringprep:nodeprep的错误消息,因为它可以帮助调试:{error,invalid_string | exmpp_not_started}提供的信息比{exit,invalid hostname}更多,或者更好,它不应该陷阱,因为它无论如何都会失败。