Client disappears from the session list, Exception errors in the Error log

And when I force a presence change, it reappears. I get an error in the log

(pastebinned to save space)

http://www.pastebin.ca/427483

Wildfire server running 3.2.4, 2003 server, using “embedded” jre

This didn’‘t happen using 3.1.1 - I’'ve just upgraded today and all hell is breaking loose ! I would be very grateful for any help on this.

Hey Julian,

The “Invalid presence show” is not related to the disappearing of sessions. That error message is triggered when a client sends an invalid presence show value like in your case (e.g. offline and empty show value). You should update your client to send correct presence show values.

However, as I said the, those warnings are not related to the disappearing of sessions. As of Wildfire 3.2.3 the idle timeout has been modified to quickly detect dangling connections. Wildfire 3.2.4 uses a 6 minutes default value. That means that clients not sending any traffic to the server (nor heartbeats) will be disconnected. I don’'t know if your client is sending heartbeats so that could be the reason of the disappearing. You can enable the debug log to trace if the server is closing idle connections.

Regards,

– Gato

Hey, thanks for the info - could you expand slightly on the “client sends an invalid presence show value” - I use the /nsoftware (IPWorks xmpp) activeX control, and to change presence I simply set a value and description. Is it something I’‘m setting wrong, or do you think it’'s a bug in the control itself ?

Many thanks.

Hey Julian,

I never heard of that client before but my guess is that it is not something that you are doing but the client (activex control) itself. Anyway, using incorrect presence show value is not a problem since the server will ignore invalid values and assume that there was not show value. The only annoying thing is that your warn.log will grow.

Anyway, I still think the problem is the heartbeat so you can either contact the IPWorks devs to 1) add heartbeats and 2) use correct presence show values or you can increment the idle timeout value. However, you should know that setting high values will introduce this side effect: dangling connections will still be considered online and the server will take a long time to realize that they are gone. Since you are playing with webclients I would say that it will be a common case for you to have users killing their browsers before the client can tell the server that the client is logging out. The system property to set in the admin console is xmpp.client.idle. The value is in milliseconds.

– Gato

Hmm. I set the presence status and message before I connect, and the warning is no longer there. Great!

Now for the bad - I’'m getting no presence messages from the server - if I connect to another server (3.2.4, windows as well) I get presence messages. They have the same setup, same plugins, same properties. But I cannot get the bugger to work.