tkabber and wildfire 3.0.1 regular disconnects

We have recently switched from a jabberd1.4 server to Wildfire 3.0.1 as the server. We have a small handful of tkabber users that are now reporting regular disconnects from the server. One it happens, subsequent re-connects fail.

They get connected, stay on for a while, and then are dropped -apparently by the server for reasons I can not find (I am the server admin, not a user).

Users report the following items:
---------------------

I also included "set debug_lvls [list message autoaway warning login]" in my config.tcl for debug. The transcript is below

login: Starting login
login: Connect successful (jkloeppn@jabber.lsil.com/tkabber)
login: RECONNECT 1
login: Starting login
login: Connect successful (jkloeppn@jabber.lsil.com/tkabber)
esd: Esound sound daemon unable to create unix domain socket:
/tmp/.esd/socket
The socket is not accessible by esd.
Exiting...
esd: Failed to fix owner of /tmp/.esd.
Try -trust to force esd to start.
esd: Esound sound daemon unable to create unix domain socket:
/tmp/.esd/socket
The socket is not accessible by esd.
Exiting...
login: RECONNECT 1
login: Starting login
login: Connect successful (jkloeppn@jabber.lsil.com/tkabber)
esd: Failed to fix owner of /tmp/.esd.
Try -trust to force esd to start.
esd: Esound sound daemon unable to create unix domain socket:
/tmp/.esd/socket
The socket is not accessible by esd.
Exiting...
esd: Failed to fix owner of /tmp/.esd.
Try -trust to force esd to start.
esd: Esound sound daemon unable to create unix domain socket:
/tmp/.esd/socket
The socket is not accessible by esd.
Exiting...

You suggested it was a client issue, but I turned on the debug messages in the jabberlib library and got the following message before all my RECONNECT messages. This suggest the server is disconnecting me. This did start happening only after the jabber server changed.

jlib: error (jlib::inmsg) Socket is closed by server. Disconnecting...
login: RECONNECT 1

-------------

A packet dump from the server does show the server sending them a FIN-ACK for some reason. Subsequent re-connects appear to send a strange packet followed by a FIN-ACK and a few RESET's

Has anyone had experience with this/seen this at all?

Thanks

P

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Wildfire closes idle connections after 30 mins

It is reproducible. Wildfire 3.0.1, the strange disconnection happens with Tkabber SVN, but not with Psi 0.10 (for example).

Explanation: after 30 minutes of client inactivity (the Jabber client does not send or receive any TCP packet),
Wildfire closes the connection with a TCP packet with flags FIN, ACK.

Psi sends a keep-alive packet every 55 seconds if you set the corresponding option, to prevent such a behaviour.

The obvious solutions are:

  • Configure Wildfire to not close connections after 30 minutes. Can this timeout be changed? How?
  • Implement keep-alive feature on Tkabber, since it isn't possible right now.

Regarding reconnection problems: on my test, Tkabber reconnected automatically. But obviously it would be better to not be kicked at all from the server.

Wildfire closes idle connections after 30 minutes.

This looks like it is on the right track.
Note that there is packet activity between the tkabber client and the wildfire server during the 30 minuntes, but it is all roster/presence updates. But sure enough, after 30 minutes, wildfire sends the FIN-ACK.

I will post to the Wildfire board for input. Strange that it is only the Tkabber client.

The users here claim they have the keep-alive settings down to 5 minutes and still see the problem.

I asked for clarification on the reconnect failures. Apparenty, the first 3 times, it connects fine, but after the third disconnect, it doesn't try automatically any more.

Pat

Wildfire closes idle connections after 30 minutes

FYI.
It turns out there is a wildfire server side setting for this. The default is 30 minutes.

You can set the server property of xmpp.client.idle to adjust it, with a -1 turning it off.

I'll set this and let you know what I find.

Syndicate content