We've had a couple of persistent problems with our XMPP chat server since upgrading to Ejabberd (3.0 pre-release with patches) last year.
We have our awesome intern Samuel back again this year, and though he's working with a different department this time - I managed to grab some of his time to work with me on fixing these long standing issues!
We think we've fixed number 1 - at least it hasn't been seen since updating the upstream libraries.
We're positive we've fixed number 2, by making sure the correct information is passed directly to the authentication functions rather than looking for it in the session object (which isn't populated in time to be useful)
And as for number 3 - a restart fixed it. I'm now monitoring the log
files to look for what might cause it to die. Unfortunately, by the
time we looked at it the logs had already rotated away, so there was no
evidence left! I'll make sure we catch the problem next time, if it
TL;DR - chat server is updated and should be more stable and give better information than before.