ejabberd é executado no comando, mas não via serviço / ejabberdctl

2

Eu tenho o ejabberd configurado, e se eu executar o ejabberd via linha de comando, ele executa bem, eu posso conectar, conversar com outras pessoas, etc.

Quando eu corro

service ejabberd start

tudo é executado corretamente, mas o serviço não é iniciado.

Quando eu corro

ejabberdctl start

O ejabberd diz que o nó está inativo e não fornece mais informações.

Quando eu corro

serivce ejabberd live

Eu realmente recebo alguma saída! Aqui está o que eu tenho ...

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})

Eu tenho invadido meu cérebro por uma semana agora e estou chegando a lugar nenhum. Por favor ajude!

ATUALIZAÇÃO: Apenas jogando isso lá fora. Eu tenho executado os comandos acima como root, já que meu usuário local não tem acesso para iniciá-los. É possível que o banco de dados mnesia (arquivo?) Seja modificado como root: root?

    
por GameCharmer 30.01.2013 / 18:57

1 resposta

2

Depois de executar

find / -name ejabberd

Me deparei com / var / lib / ejabberd. CD'd no diretório, descobriu que os arquivos mnesia foram modificados para root. Voltei a modificar os arquivos para ejabberd: ejabberd, correu

service ejabbered start

e começou sem problemas. Após a reinicialização, o serviço foi retomado normalmente.

Espero que isso permaneça ativo para que qualquer um que se deparar com problemas estranhos no nó encontre e descubra o que está acontecendo.

    
por 31.01.2013 / 01:33