XMPP “fun”

Had lots of “fun” tonight with my XMPP-compatible instant messaging server, ejabberd.  For some reason since I moved it between servers it has been misbehaving.  This has been a “fun” one to track down, since it wasn’t obvious.  But tonight I have found the answer.  Erlang (the language that ejabberd is written in) is a little obscure at times, but it turns out that if you turn the logging up enough, then you see strange errors in the logs.  After a bit of Googling, the answer turns out to be a bug in Debian.  The ejabberd package depends on the erlang-xmerl package being installed, but Debian for some reason forgot to make that a dependency of ejabberd as described in Debian bug 670307.  Hopefully they’ll fix that soon, and until they do, the fix is just to apt-get or aptitude install erlang-xmerl so that the package gets installed.