upgrade from fedora 11 to fedora 12 breaks ejabberd

upgrade from fedora 11 to fedora 12 breaks ejabberd.

Fresh Fedora 12 installation with updates. Copied ejabberd.conf from old system. Does not start even though it shows started. Here is the output:

[root@server Yossi]# /etc/init.d/ejabberd start
Starting ejabberd: [ OK ]
[root@server Yossi]# /etc/init.d/ejabberd stop
Shutting down ejabberd: {error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: .. Function: read_file_info. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./standard_error.beam. Function: get_file. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./supervisor_bridge.beam. Function: get_file. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./user_sup.beam. Function: get_file. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./user.beam. Function: get_file. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./kernel_config.beam. Function: get_file. Process: code_server."}
{error_logger,{{2009,11,28},{20,49,11}},std_error,"File operation error: eacces. Target: ./queue.beam. Function: get_file. Process: code_server."}

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: .. Function: read_file_info. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./standard_error.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./supervisor_bridge.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./user_sup.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./user.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./kernel_config.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./queue.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./error_logger_tty_h.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./io_lib.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./io_lib_format.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./io_lib_pretty.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./io.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./unicode.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./c.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./erl_eval.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./orddict.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./file_io_server.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./erl_posix_msg.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
file:path_eval([".","/var/lib/ejabberd"],".erlang"): permission denied

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./string.beam. Function: get_file. Process: code_server.

=ERROR REPORT==== 28-Nov-2009::20:49:11 ===
File operation error: eacces. Target: ./dist_util.beam. Function: get_file. Process: code_server.
[ OK ]

syslog messages:

server epmd: epmd: epmd running - daemon = 1

Anybody else having troubles with Fedora 12 ejabberd?

You get several error

You get several error messages like this:

{error_logger,{{2009,11,28},{20,49,11}},std_error,
  "File operation error: eacces. 
   Target: ./queue.beam. 
   Function: get_file. 
   Process: code_server."}

Erlang tries to load the binary files of Erlang (beam files). It seems the problem is that it can't read some files with reason 'eacces'. This means the files are protected from 'read access'.

You didn't specify how you installed ejabberd and/or Erlang. Try to reinstall both. It's also possible that the file permission problems are in ejabberd or in Erlang Fedora packages.

update on this

I suspected that this was a fedora 12 packaging problem possibly in the erlang package as well. So I waited till I saw updates in the fedora 12 repositories and applied these. Now I no longer receive the error messages when I start ejabberd but it is still not running after the start. I used "/etc/init.d/ejabberd start" and received this:

[root@server log]# /etc/init.d/ejabberd start
Starting ejabberd: [ OK ]
[root@server log]#

Then:

[root@server log]# ejabberdctl status
Node ejabberd@server is started. Status: started
ejabberd is not running

Commands to start an ejabberd node:
start Start an ejabberd node in server mode
debug Attach an interactive Erlang shell to a running ejabberd node
live Start an ejabberd node in live (interactive) mode

Optional parameters when starting an ejabberd node:
--config file Config file of ejabberd: /etc/ejabberd/ejabberd.cfg
--ctl-config file Config file of ejabberdctl: /etc/ejabberd/ejabberdctl.cfg
--logs dir Directory for logs: /var/log/ejabberd/
--spool dir Database spool dir: /var/lib/ejabberd/spool
--node nodename ejabberd node name: ejabberd@server

[root@server log]#

Connecting to http://localhost:5280/admin/

returns "Unable to connect"

Looks like there is still something wrong with the fedora 12 package(s).

installed

installed ejabberd-2.1.0-2-fc12.i686.rpm from fedora 12 testing repository and this fixed the problem.

It seems that you've been

It seems that you've been trying to start ejabberd from your /root directory (or any other directory, not readable for 'ejabberd' user).
Try executing script from directory, readable for 'ejabberd'.

Syndicate content