Save Ukraine

ejabberd: fixing the pubsub problem

Christian Kruse,

After an update of ejabberd I got some very strange errors:

=ERROR REPORT==== 2013-11-11 09:50:38 ===
E(<0.583.0>:mod_pubsub:3863) : transaction return internal error: {aborted,
{bad_type,
{pubsub_state,
{{[],
"pubsub.defunct.ch",
[]},
23},
23,[],
owner,
[]}}}

And loads of them, for each virtual host I'm hosting. The reason seems to be a changed mnesia table strcuture with a bug in checking for the old version after an upgrade: the table structure didn't get updated for me or failed to get updated, who knows.

The only way to get rid of this error I could find was dropping the table through the web admin interface. After a restart the table gets re-created. Don't worry about losing data: the pubsub module doesn't work with this corrupted table…