mnesia compatibility problem? ejabberd 14.05 on Erlang/OTP 17 doesnt start properly

Hello all,

The installation of OTP and ejabberd was successfull on a CentOS 6.4 Linux box. After configuration and start I got following error:

    2014-06-11 19:45:09.522 [info] <0.7.0> Application mnesia started on node 'ejabberd@linux.test.local'
    2014-06-11 19:45:10.229 [notice] <0.54.0>@lager_file_backend:127 Changed loglevel of //var/log/ejabberd/ejabberd.log to debug
    2014-06-11 19:45:10.235 [debug] <0.218.0> Supervisor ejabberd_sup started ejabberd_hooks:start_link() at pid <0.219.0>
    2014-06-11 19:45:10.239 [debug] <0.31.0> Supervisor kernel_safe_sup started pg2:start_link() at pid <0.221.0>
    2014-06-11 19:45:10.240 [debug] <0.218.0> Supervisor ejabberd_sup started ejabberd_node_groups:start_link() at pid <0.220.0>
    2014-06-11 19:45:10.241 [debug] <0.218.0> Supervisor ejabberd_sup started ejabberd_system_monitor:start_link() at pid <0.222.0>
    2014-06-11 19:45:10.246 [error] <0.223.0> CRASH REPORT Process <0.223.0> with 0 neighbours exited with reason: {aborted,{no_exists,[route,[{{route,'_','$1','_'},[],['$1']}]]}} in gen_server:init_it/6 line 330
    2014-06-11 19:45:10.247 [error] <0.218.0> Supervisor ejabberd_sup had child ejabberd_router started with ejabberd_router:start_link() at undefined exit with reason {aborted,{no_exists,[route,[{{route,'_','$1','_'},[],['$1']}]]}} in context start_error
    2014-06-11 19:45:10.254 [error] <0.36.0> CRASH REPORT Process <0.36.0> with 0 neighbours exited with reason: {aborted,{no_exists,[passwd]}} in application_master:init/4 line 133
    2014-06-11 19:45:10.254 [info] <0.7.0> Application ejabberd exited with reason: {aborted,{no_exists,[passwd]}}
    2014-06-11 19:51:38.896 [info] <0.7.0> Application lager started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.911 [info] <0.7.0> Application sasl started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.917 [info] <0.7.0> Application crypto started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.924 [info] <0.7.0> Application asn1 started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.924 [info] <0.7.0> Application public_key started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.930 [info] <0.7.0> Application ssl started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.933 [info] <0.7.0> Application p1_yaml started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.941 [info] <0.7.0> Application p1_tls started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.944 [info] <0.7.0> Application p1_xml started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.947 [info] <0.7.0> Application p1_stringprep started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.949 [info] <0.7.0> Application p1_zlib started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:38.951 [info] <0.7.0> Application p1_cache_tab started on node 'ejabberd@linux.test.local'
    2014-06-11 19:51:39.045 [error] <0.159.0> ** System running to use fully qualified hostnames **
    ** Hostname localhost is illegal **

    2014-06-11 19:51:39.046 [error] <0.160.0> ** System running to use fully qualified hostnames **
    ** Hostname localhost is illegal **

I localized the problem was around the dirty_get_all_routes() which does access the mnesia database.

ejabberd_router:dirty_get_all_routes().
** exception exit: {aborted,{no_exists,[route,
                                        [{{route,'$1','_','_'},[],['$1']}]]}}
     in function  mnesia:abort/1 (mnesia.erl, line 310)
     in call from mnesia:dirty_all_keys/1 (mnesia.erl, line 1726)
     in call from ejabberd_router:dirty_get_all_routes/0 (src/ejabberd_router.erl, line 206)
(ejabberd@linux.biotekno.local)4> ejabberd_router:dirty_get_all_domains().
** exception exit: {aborted,{no_exists,[route,
                                        [{{route,'$1','_','_'},[],['$1']}]]}}

Is there a workaround for this issue or should I downgrade OPT to an 'older' relase?

Many thanks in advance for your advises.

It should work with R17, so

It should work with R17, so first: try to start ejabberd with the default configuration and without mnesia spool files (delete or move away your current files). If it still fails to start, then... yes: try with an older Erlang release.

You are right. Deleting the

You are right. Deleting the content in the /var/lib/ejabberd folder (and server restart) was helpfully in our case. Many thanks.

Syndicate content