[ejabberd] BOSH infinite loop followed by an ejabberd crash.

Badlop badlop at gmail.com
Fri Nov 26 03:52:08 MSK 2010


2010/11/24 Max Kalika <max.kalika+ejabberd at gmail.com>:
> I managed to get the reproduction case down to a single http post.
>  I simply execute the following to cause ejabberd to spin:

Thanks, Max! Using your reproduction method and git bisect,
it was simple for me to find that the problematic commit is

https://git.process-one.net/ejabberd/mainline/commit/d4d45f3a5069158fa18fb96455e36d2f57f941bf

------
commit d4d45f3a5069158fa18fb96455e36d2f57f941bf
Refs: v2.1.3-61-gd4d45f3
Author:     Christopher tofu Zorn <tofu at stanziq.com>
AuthorDate: Wed May 5 16:45:46 2010 -0400
Commit:     Badlop <badlop at process-one.net>
CommitDate: Thu May 27 21:21:17 2010 +0200

remove the silly loop that isnt needed, this speeds up all requests by
100 milliseconds.
Clean up prepare response function and add two new functions to handle out
going payloads based of whether its a new session or not.
---
 src/web/ejabberd_http_bind.erl |  177 +++++++++++++++++++++------------------
 1 files changed, 95 insertions(+), 82 deletions(-)
------

ejabberd 2.1.x still has the problem, but when I retract that commit
ejabberd doesn't loop anymore.

Christopher, as you are the original author of that commit,
can you take a look at your commit?

BTW, I've created a ticket for that problem:
https://support.process-one.net/browse/EJAB-1358


---
Badlop
ProcessOne


More information about the ejabberd mailing list