[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