[Pidgin] #4814: Crash if xmpp pong timeout fires after account is disconnected

Pidgin trac at pidgin.im
Mon Mar 17 10:36:18 EDT 2008


#4814: Crash if xmpp pong timeout fires after account is disconnected
------------------------+---------------------------------------------------
  Reporter:  nosnilmot  |       Owner:  seanegan              
      Type:  defect     |      Status:  closed                
  Priority:  blocker    |   Milestone:  2.4.1                 
 Component:  XMPP       |     Version:                        
Resolution:  fixed      |    Keywords:  jabber xmpp ping crash
   Pending:  0          |  
------------------------+---------------------------------------------------
Changes (by datallah):

  * status:  assigned => closed
  * resolution:  => fixed

Comment:

 Evan's fix resolves this issue (also for the case of the pong timeout
 shorter than the keepalive timeout)

 The issue was that if the pong timeout was unable to be fired before the
 keepalive timeout was fired (which would be the case if the machine was
 suspended), the keepalive timeout would register another pong timeout
 (immediately) before the pong timeout fired (same main loop cycle).  The
 "old" pong timeout would then fire and we'd lose the reference to the
 "new" pong timeout, which consequently wouldn't be unregistered when the
 account is disconnected... 20 seconds later freed memory is accessed and
 it all falls apart nicely.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/4814#comment:17>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list