What version of ejabberd are you using?
16.09
What operating system (version) are you using?
Debian Jessie 8.6
How did you install ejabberd (source, package, distribution)?
From package at jabber.at.
What did not work as expected? Are there error messages in the log? What
was the unexpected behavior? What was the expected result?
After upgrade from 16.04 to 16.09 ejabberd doesn't start, there is an error in logs:
2016-09-27 08:35:09.849 [error] <0.37.0> CRASH REPORT Process <0.37.0>
with 0 neighbours exited with reason:
{aborted,{bad_type,{ejabberd_commands,gen_html_doc_for_commands,[documentation],
"Generates html documentation for ejabberd_commands",
[],0,ejabberd_commands_doc,generate_html_output,
[{file,binary},{regexp,binary},{examples,binary}],restricted,[],{res,rescode},
["Path to file where generated documentation should be stored",
"Regexp matching names of commands or modules that will be included inside generated document",
"Comma separated list of languages (choosen from java, perl, xmlrpc, json)that ..."],...}}}
in application_master:init/4 line 133
Please help.
The same error message has been reported several times, and people found different solutions. Please see their comments, try them, and comment here which one works for you: #1248, #1268, #1291
@badlop this solution doesn't work for me. Same I reported in https://github.com/processone/ejabberd-contrib/issues/185 and https://github.com/processone/ejabberd-contrib/issues/184 I think problem is related with config file but I don't know which exactly.
What is strange: I don't have such problem when I upgrade from 16.04 to 16.08, only when updating to 16.09...
After deleting file schema.DAT ejabberd started but I lost all data (after restore backup everything is okay).
@beherit thanks! works for me too
This is sadly not working for me. Then I run into the "Table config does not exist." error. It seems I ended up in a endless loop where I loose all my users. :-1:
I tried removing and reinstalling ejabberd multiple times without any success. I am left with either a not working database or a empty one.
With the help of this post: https://www.ejabberd.im/node/3820 I was able to import the configuration with the missing tables:
ejabberdctl debug
mnesia:restore("/path/to/ejabberd.backup", [{skip_tables, [config]}]).
In my situation, I had additional missing tables (probably very old ones), so I had to add them with a comma:
mnesia:restore("/path/to/ejabberd.backup", [{skip_tables, [config,othertable,anothertable]}]).
Hopefully this helps someone else.
I've just ran into this issue updating from 16.04 to 16.09. Rolling back to 16.08 and then updating to 16.09 helped. So I would assume database schema changed between 16.04 and 16.08, but migration code was removed (or just broken) in 16.09. If it was removed, that's not cool.
I found the root cause of this issue: even though ejabberd_commands is a ram table, the schema was still stored on disk. I suggest doing a mnesia:delete_table(ejabberd_commands) in ejabberd_commands:init(), before creating the new ram table.
I suggest doing a
mnesia:delete_table(ejabberd_commands)inejabberd_commands:init(), before creating the new ram table.
Such a call existed in the past but has been removed on purpose to fix another issue.
Interesting. How can we migrate the table schema correctly?
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
I've just ran into this issue updating from 16.04 to 16.09. Rolling back to 16.08 and then updating to 16.09 helped. So I would assume database schema changed between 16.04 and 16.08, but migration code was removed (or just broken) in 16.09. If it was removed, that's not cool.