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

Pidgin trac at pidgin.im
Tue Mar 11 18:57:16 EDT 2008


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

 Replying to [comment:13 nosnilmot]:
 > Replying to [comment:12 evands]:
 > > What about the proposed change above?  We'd only send the ping if no
 ping is currently in progress... so we'd end up pinging every 120 (or
 possibly 150) seconds.
 >
 > I think that would be sufficient to address khc's concerns about
 multiple outstanding pings but I do not know if it will fix the crashes
 (2.4.0 has the timeout at 20 seconds, and we're seeing reports of that
 crashing).
 You're right - it's a worthwhile change to make for the sake of clarity
 and safety, and it's definitely needed with a connection.c
 `KEEPALIVE_INTERVAL` which is shorter than the timeout, but 2.4.0 has the
 timeout at 20 seconds so this really shouldn't fix the crash.

 I'll commit the patch above... given that `jabber_close()` cancels the
 timeout if it exists, I still wonder if somehow even in 2.4.0 we're
 queuing up 2 of these timeouts at the same time, only one of which can be
 canceled.

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


More information about the Tracker mailing list