[Pidgin] #10767: openfire disconnects pidgin after 6 minutes on busy system
Pidgin
trac at pidgin.im
Thu Nov 19 09:49:41 EST 2009
#10767: openfire disconnects pidgin after 6 minutes on busy system
------------------------------------------------+---------------------------
Reporter: rjoly | Owner: darkrain42
Type: defect | Status: pending
Milestone: | Component: XMPP
Version: 2.6.3 | Resolution:
Keywords: openfire ping timeout disconnected |
------------------------------------------------+---------------------------
Changes (by rjoly):
* status: pending => new
Comment:
My observations definitely show that pidgin suppresses the transmission of
a ping when it receives traffic from the server. This can be seen in the
libpurple code at .../pidgin-2.6.3/libpurple/connection.c:
static gboolean
send_keepalive(gpointer data)
{
....
/* Only send keep-alives if we haven't heard from the
* server in a while.
*/
if ((time(NULL) - gc->last_received) < KEEPALIVE_INTERVAL)
return TRUE;
....
}
As per your request I'm supplying a debug window capture that shows the
behavior in action.
In the trace, we see that the pidgin is normally scheduled to send pings
on the 14th and 44th second of every minute but it only sends the ping
only when it hasn't received any packet from the server since the last
ping transmission. More specifically:
Pidgin sends ping at (09:24:44)
Pidgin sends ping at (09:25:14)
Pidgin sends ping at (09:25:44)
Pidgin sends ping at (09:26:14)
ping normally scheduled for (09:26:44) not sent because of received packet
at (09:26:15)
Pidgin sends ping at (09:27:14)
Pidgin sends ping at (09:27:44)
ping normally scheduled for (09:28:14) not sent because of received packet
at (09:27:58)
Pidgin sends ping at (09:28:44)
Pidgin sends ping at (09:29:14)
ping normally scheduled for (09:29:44) not sent because of received packet
at (09:29:21)
ping normally scheduled for (09:30:14) not sent because of received packet
at (09:29:56)
ping normally scheduled for (09:30:44) not sent because of received packet
at (09:30:22)
Pidgin sends ping at (09:31:15)
Pidgin sends ping at (09:31:45)
ping normally scheduled for (09:32:15) not sent because of received packet
at (09:31:48)
Pidgin sends ping at (09:32:45)
--
Ticket URL: <http://developer.pidgin.im/ticket/10767#comment:4>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list