2

У меня настроен ejabberd, и если я запускаю ejabberd через командную строку, он работает нормально, я могу подключиться, пообщаться с другими людьми и т.д.

Когда я бегу

service ejabberd start

все выполняется правильно, но служба не запускается.

Когда я бегу

ejabberdctl start

ejabberd говорит, что узел не работает и не предоставляет больше информации.

Когда я бегу

serivce ejabberd live

Я действительно получаю вывод! Вот что я получил ...

Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0] [kernel-poll:false]

Eshell V5.9.1  (abort with ^G)
(ejabberd@gcmysql)1> Mnesia(ejabberd@gcmysql): Data may be missing, Corrupt logfile     deleted: "/var/lib/ejabberd/LATEST.LOG", {file_error,
                                                                                                             "/var/lib/ejabberd/LATEST.LOG",
                                                                                                     eacces}

=ERROR REPORT==== 30-Jan-2013::12:51:30 ===
Mnesia(ejabberd@gcmysql): ** ERROR ** (core dumped to file: "/var/lib/ejabberd/MnesiaCore.ejabberd@gcmysql_1359_568290_621095")
 ** FATAL ** {error,{"Cannot open dets table",offline_msg,
                 [{file,"/var/lib/ejabberd/offline_msg.DAT"},
                  {type,bag},
                  {keypos,2},
                  {repair,true}],
                 {file_error,"/var/lib/ejabberd/offline_msg.DAT",eacces}}}

=ERROR REPORT==== 30-Jan-2013::12:51:40 ===
Mnesia(ejabberd@gcmysql): ** ERROR ** mnesia_event got unexpected event: {'EXIT',
                                                                      <0.67.0>,
                                                                      killed}

=INFO REPORT==== 30-Jan-2013::12:51:40 ===
application: mnesia
exited: killed
type: permanent
{error_logger,{{2013,1,30},{12,51,41}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.39.0>},{registered_name,[]},{error_info,{exit,{bad_return,{{ejabberd_app,start,[normal,[]]},{'EXIT',{"{application_terminated,mnesia,killed}",{gen_server,call,[application_controller,{load_application,crypto},infinity]}}}}},[{application_master,init,4,[{file,"application_master.erl"},{line,138}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]}},{ancestors,[<0.38.0>]},{messages,[{'EXIT',<0.40.0>,normal}]},{links,[<0.38.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,24},{reductions,153}],[]]}
{"Kernel pid terminated",application_controller,"{application_terminated,mnesia,killed}"}

Crash dump was written to: /var/log/ejabberd/erl_crash.dump
Kernel pid terminated (application_controller) ({application_terminated,mnesia,killed})

Я ломаю себе голову уже неделю и ничего не получаю. Пожалуйста помоги!

ОБНОВЛЕНИЕ: Просто выбросить это там. Я выполнял вышеуказанные команды от имени пользователя root, поскольку мой локальный пользователь не имеет доступа для их запуска. Возможно ли, что база данных mnesia (файл?) является модом root: root?

1 ответ1

2

После запуска

find / -name ejabberd

Я наткнулся на /var /lib /ejabberd. Скопировав CD в каталог, обнаружил, что файлы mnesia были изменены на root. Пересоздал файлы в ejabberd:ejabberd, побежал

service ejabbered start

и это началось без проблем. После перезагрузки сервис возобновился как обычно.

Надеюсь, это останется в силе, так что любой, кто столкнется со странными проблемами с узлами, найдет это и выяснит, что происходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .