[Pidgin] #949: sigpipe crashes for pidgin on unstable connection

Pidgin trac at pidgin.im
Sat May 12 23:17:35 EDT 2007


#949: sigpipe crashes for pidgin on unstable connection
------------------------+---------------------------------------------------
  Reporter:  kstange    |       Owner:  MarkDoliner                       
      Type:  defect     |      Status:  new                               
  Priority:  major      |   Milestone:                                    
 Component:  libpurple  |     Version:  2.0                               
Resolution:             |    Keywords:  sigpipe crash oscar msn disconnect
   Pending:  0          |  
------------------------+---------------------------------------------------
Old description:

> My connection is horribly unstable, and often when I gets disconnected
> from AIM or MSN, I get a SIGPIPE.  Attached is the BT and debug output
> relevant to the crash for each PRPL.  This file contains both the MSN and
> the OSCAR crashes.  The OSCAR one is the second one.  Both seem to be
> because the connection disappears and the PRPL tries to write to the FD
> after it's gone.  I'm not familiar enough with the PRPLs to know how best
> to detect the lost connection and clean up, but in MSN's case, the
> connection check is like this before sending to the closed FD at
> cmdproc.c:157:
>
>         if (!servconn->connected)
>                 return;
>
> So, 'connected' is not being set to FALSE and it's trying to send the
> disconnection message to the server posthumously.  I presume OSCAR is
> similar.

New description:

 My connection is horribly unstable, and often when I get disconnected from
 AIM or MSN, I get a SIGPIPE.  Attached is the BT and debug output relevant
 to the crash for each PRPL.  This file contains both the MSN and the OSCAR
 crashes.  The OSCAR one is the second one.  Both seem to be because the
 connection disappears and the PRPL tries to write to the FD after it's
 gone.  I'm not familiar enough with the PRPLs to know how best to detect
 the lost connection and clean up, but in MSN's case, the connection check
 is like this before sending to the closed FD at cmdproc.c:157:

         if (!servconn->connected)
                 return;

 So, 'connected' is not being set to FALSE and it's trying to send the
 disconnection message to the server posthumously.  I presume OSCAR is
 similar.

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


More information about the Tracker mailing list