[Pidgin] #12660: MSN prpl starts file transfers several times (leaks file handles)

Pidgin trac at pidgin.im
Sun Oct 10 20:04:59 EDT 2010


#12660: MSN prpl starts file transfers several times (leaks file handles)
-------------------------+--------------------------------------------------
 Reporter:  TeraByte911  |        Owner:  QuLogic
     Type:  defect       |       Status:  new    
Milestone:               |    Component:  MSN    
  Version:  2.7.3        |   Resolution:         
 Keywords:               |  
-------------------------+--------------------------------------------------

Comment(by datallah):

 Here is the backtrace from the first start:
 {{{
 Breakpoint 2, begin_transfer (xfer=0x1953a20, cond=PURPLE_INPUT_READ) at
 ft.c:1290
 1290    {
 (gdb) bt full
 #0  begin_transfer (xfer=0x1953a20, cond=PURPLE_INPUT_READ) at ft.c:1290
         type = <value optimized out>
         ui_ops = <value optimized out>
 #1  0x00007facd684d442 in msn_slplink_process_msg (slplink=0x21200e0,
 header=0x23b2160,
     data=0x23764b4 "\342\004", len=0) at slplink.c:606
         slpmsg = 0x2110ee0
         offset = 0
         xfer = 0xffffffff
         __PRETTY_FUNCTION__ = "msn_slplink_process_msg"
 #2  0x00007facd6835b78 in msn_dc_process_packet (data=0x23b2090, fd=<value
 optimized out>,
     cond=<value optimized out>) at directconn.c:653
 No locals.
 #3  msn_dc_recv_cb (data=0x23b2090, fd=<value optimized out>, cond=<value
 optimized out>) at directconn.c:733
         bytes_received = <value optimized out>
         packet_length = 48
         __PRETTY_FUNCTION__ = "msn_dc_recv_cb"
 #4  0x000000000046de4e in pidgin_io_invoke (source=<value optimized out>,
 condition=<value optimized out>,
     data=<value optimized out>) at gtkeventloop.c:73
         closure = 0x23c8720
         purple_cond = PURPLE_INPUT_READ
 #5  0x00007face0dfc8c2 in g_main_context_dispatch () from
 /lib/libglib-2.0.so.0
 }}}

 and the second start:
 {{{
 Breakpoint 2, begin_transfer (xfer=0x1953a20, cond=PURPLE_INPUT_READ) at
 ft.c:1290
 1290    {
 (gdb) bt
 #0  begin_transfer (xfer=0x1953a20, cond=PURPLE_INPUT_READ) at ft.c:1290
 #1  0x00007facd684d442 in msn_slplink_process_msg (slplink=0x21200e0,
 header=0x23b2160,
     data=0x23764b4 ..., len=1202) at slplink.c:606
 #2  0x00007facd6835b78 in msn_dc_process_packet (data=0x23b2090, fd=<value
 optimized out>,
     cond=<value optimized out>) at directconn.c:653
 #3  msn_dc_recv_cb (data=0x23b2090, fd=<value optimized out>, cond=<value
 optimized out>) at directconn.c:733
 #4  0x000000000046de4e in pidgin_io_invoke (source=<value optimized out>,
 condition=<value optimized out>,
 }}}

 It is easy enough to recreate by adding a breakpoint on `begin_transfer`
 and then receiving a file.

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


More information about the Tracker mailing list