powered by Jive Software

Cannot reconnect due to stream conflict after application crash

I’ve seen other similar threads on this, but none of them exactly matched or issue.

We recently had a customer report that an application they were using that we developed crashed, and once restarted, exhibited behavior consistent with not being able to login to OpenFire. Its a C# application and uses the jabber-net client. A review of the Windows Event Logs showed that the when the application restarted, it tried to connect to our two different Openfire servers and that the connections were successful, then was sent a stream conflict error from the server, then was disconnected. The software, believing it was just a normal disconnect (like if the user was bounced through the admin console or due to some other error) immediately tried to reconnect. Unfortunately, the code did not detect an error condition so immediately repeated this connection again with exactly the same results…successful connection, stream conflict error, disconnected, rinse and repeat. This happened many times per second and many thousand of times per minute.

In researching this stream conflict error, I cam across the topic of resumption. I verified that the server settings are set to “Always Kick” so, not sure why the new connection would not remain connected.

This is something we have not seen before in many years of product deployment, but it happened multiple time over two different days and only happened after an abnormal program termination.

I was hoping that somebody might be able to explain this behavior to me and perhaps even tell me if there is some period of time that would have to elapse before restarting the application under these conditions with the same JID/Resource logging in.