Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash after update #1305

Closed
beherit opened this issue Sep 27, 2016 · 12 comments
Closed

Crash after update #1305

beherit opened this issue Sep 27, 2016 · 12 comments

Comments

@beherit
Copy link

beherit commented Sep 27, 2016

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.

@badlop
Copy link
Member

badlop commented Sep 28, 2016

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

@beherit
Copy link
Author

beherit commented Sep 28, 2016

@badlop this solution doesn't work for me. Same I reported in processone/ejabberd-contrib#185 and processone/ejabberd-contrib#184 I think problem is related with config file but I don't know which exactly.

@beherit
Copy link
Author

beherit commented Sep 28, 2016

What is strange: I don't have such problem when I upgrade from 16.04 to 16.08, only when updating to 16.09...

@beherit
Copy link
Author

beherit commented Sep 28, 2016

After deleting file schema.DAT ejabberd started but I lost all data (after restore backup everything is okay).

@beherit beherit closed this as completed Sep 28, 2016
@sabudaye
Copy link
Contributor

sabudaye commented Oct 5, 2016

@beherit thanks! works for me too

@oxivanisher
Copy link

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. 👎
I tried removing and reinstalling ejabberd multiple times without any success. I am left with either a not working database or a empty one.

@oxivanisher
Copy link

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.

@lierdakil
Copy link

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.

@corecode
Copy link

corecode commented Dec 8, 2016

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.

@weiss
Copy link
Member

weiss commented Dec 8, 2016

I suggest doing a mnesia:delete_table(ejabberd_commands) in ejabberd_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.

@corecode
Copy link

corecode commented Dec 8, 2016

Interesting. How can we migrate the table schema correctly?

@lock
Copy link

lock bot commented Jun 11, 2019

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.

@lock lock bot locked as resolved and limited conversation to collaborators Jun 11, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants