powered by Jive Software

Openfire sends 404 although the packet being sent

I`m using openfire 3.4.1 on CentOS with a javascript client.

Several times I saw that two clients gets 404 from the server. Client 1 is sending a message to client 2 . Client 2 receives the message but client 1 gets 404 responce from openfire.

I think this is server issue and not client because when I`m ignoring the 404 and sending the next message with rid = rid + 1 I get another 404 and the logs says:

16:31:27 Request 3226983099 > 3226983098, ending session.

16:32:30 Packets could not be found for session 898264dd cannot be delivered to client

I want to emphasize again that client 2 got the message.

A minute later client 2 suffer from the same event (sometimes only one of them get disconnected):

16:32:30 Request 6459344085 > 6459344083, ending session.

Is this a bug in openfire or maybe only BOSH in openfire?

What should a client do when he gets 404 from openfire? Send the same message again with the same rid? Send the next message with rid+1 as I`m doing?

Could you post what the client sent that resulted in the 404? According to the spec, 404 can indicate that “(1) ‘sid’ is not valid, (2) ‘stream’ is not valid, (3) ‘rid’ is larger than the upper limit of the expected window, (4) connection manager is unable to resend response, (5) ‘key’ sequence is invalid”, so there’s a number of things it could be.

Hi David,

I`ve sent:

<body xmlns=‘http://jabber.org/protocol/httpbind’ rid=‘2256626957’ sid=‘7ca17725’><message to=‘mark@jabber.example.com’ xmlns=‘jabber:client’ type=‘chat’><body>some double-byte text here</body></message></body> (1) the client doesnt change 'sid' once set. (2) All the streams are produced in the same way but only once in a couple of hours I get the 404. (3) There is an issue with the 'rid' as I stated above. When looking at FireBug I can see that all the rids are correct and incremented by 1. The client sends a message, the server respond with a 404 (although the other client gets the message) and then Im not sure what should the client do.I tell the client to send the next message with rid+1 but maybe its wrong. Then I can see 2256626958 > 2256626957 in the logs. (4) Can`t see why there should be a problem.

(5) I don`t use keys.

Is it possible that

xmpp.httpbind.client.idle is related? Im not sure but Ive tried to increase it anyway.

Tried to decrease it to only 5 ms as well but couldn`t see the effect.

I`ll be happy to provide as much information as needed. Will turning the debug log could help?