<body xmlns='http://jabber.org/protocol/httpbind' type='terminate' condition='item-not-found'/>

750 views
Skip to first unread message

khl

unread,
Jul 2, 2009, 2:22:59 AM7/2/09
to Strophe
Why do I receive the above stanza from the server? Once I receive
that, the next POST that Strophe makes to the server will result in
the response "invalid SID". And the Strophe connection becomes dead
at that point.

Prior to that, I sent a custom message to MUC. The response I
received is then passed to a handler, which does not do anything
strange.

Jack Moffitt

unread,
Jul 2, 2009, 10:36:11 AM7/2/09
to str...@googlegroups.com
> Why do I receive the above stanza from the server?  Once I receive
> that, the next POST that Strophe makes to the server will result in
> the response "invalid SID".  And the Strophe connection becomes dead
> at that point.

Are you load balancing at all? I think we were seeing this with
mod_http_bind in ejabberd in a load balancing set up that we had
incorrectly configured. Are you also using mod_http_bind?

jack.

Myers Carpenter

unread,
Jul 3, 2009, 2:32:45 PM7/3/09
to Strophe
I'm also seeing something like this, but rather than "<body
xmlns='http://jabber.org/protocol/httpbind' type='terminate'
condition='item-not-found'/>" a 404 (which is what the old BOSH spec
said to do)".

Jack, How was your ejabberd server misconfigured? Did you not
replicate the http_bind mnesia tables to all the nodes?

myers

Jack Moffitt

unread,
Jul 3, 2009, 3:01:40 PM7/3/09
to str...@googlegroups.com
> Jack, How was your ejabberd server misconfigured?  Did you not
> replicate the http_bind mnesia tables to all the nodes?

I believe that was exactly what happened. Tofu may chime in with more
info if he remembers.

jack.

Christopher Zorn

unread,
Jul 6, 2009, 11:37:57 AM7/6/09
to str...@googlegroups.com

You can check if those are correct. Most likely they are. The problem we had was that there is a bug in http_bind that if the 'wait' is longer than 'inactivity' and there is a waiting request it will not wait for it but timeout.

After the timeout you will get the 404. You will need to check the logs, try replicating with a debug log level.



 

myers


Myers Carpenter

unread,
Jul 6, 2009, 1:56:38 PM7/6/09
to str...@googlegroups.com
On Mon, Jul 6, 2009 at 11:37 AM, Christopher
Zorn<christop...@gmail.com> wrote:
> You can check if those are correct. Most likely they are. The problem we had
> was that there is a bug in http_bind that if the 'wait' is longer than
> 'inactivity' and there is a waiting request it will not wait for it but
> timeout.

Wow, this could be a big break on the problem I'm currently working on.

Currently strophe.js on my site opens with this:

<body xmlns='http://jabber.org/protocol/httpbind'
sid='c111842b232e2130b0b0a4c69ab23a45c99ba86b'
wait='60' requests='2' inactivity='30' maxpause='120'
...

So if I understand what you are saying if I make wait="30" I will
avoid this bug?

A quick search for "inactivity" on the ejabberd ticket system didn't
turn up anything. Do you know if they have a ticket on this?

myers

Christopher Zorn

unread,
Jul 6, 2009, 4:37:41 PM7/6/09
to str...@googlegroups.com
On Mon, Jul 6, 2009 at 1:56 PM, Myers Carpenter <myers.c...@gmail.com> wrote:

On Mon, Jul 6, 2009 at 11:37 AM, Christopher
Zorn<christop...@gmail.com> wrote:
> You can check if those are correct. Most likely they are. The problem we had
> was that there is a bug in http_bind that if the 'wait' is longer than
> 'inactivity' and there is a waiting request it will not wait for it but
> timeout.

Wow, this could be a big break on the problem I'm currently working on.

Currently strophe.js on my site opens with this:
sid='c111842b232e2130b0b0a4c69ab23a45c99ba86b'
  wait='60' requests='2' inactivity='30' maxpause='120'
...

So if I understand what you are saying if I make wait="30" I will
avoid this bug?

That could help. Bumping up inactivity will fix it. You can bump up the max inactivity value in the code too.
 

A quick search for "inactivity" on the ejabberd ticket system didn't
turn up anything.  Do you know if they have a ticket on this?

They do not have a ticket but they are aware of it. We should create a ticket.
 


myers



Reply all
Reply to author
Forward
0 new messages