view valgrind-suppressions @ 30094:6797736dbe37

Does anyone know the purpose of the ui_write, ui_read and data_not_sent FT UI callbacks? It looks like they allow a UI to decide how to safe incoming file transfers? They're not used in Pidgin or Finch. Are they used elsewhere? Valgrind is complaining about an invalid free. I think it happens either when the local user cancels a file transfer or when the remote user cancels a file transfer. I think this change fixes it. Revision fa4ce539e5025eb07aad3ca824cd4c512010d8a8 is related to these callbacks and to this change by foufou33@ gee male dot com The valgrind error is: ==23064== Invalid free() / delete / delete[] ==23064== at 0x4C24D68: free (vg_replace_malloc.c:325) ==23064== by 0x9293209: g_array_free (in /lib/libglib-2.0.so.0.2200.3) ==23064== by 0x95B1995: purple_xfer_priv_data_destroy (ft.c:71) ==23064== by 0x92AA5D1: ??? (in /lib/libglib-2.0.so.0.2200.3) ==23064== by 0x92AAE17: g_hash_table_remove_all (in /lib/libglib-2.0.so.0.2200.3) ==23064== by 0x92AAFC4: g_hash_table_destroy (in /lib/libglib-2.0.so.0.2200.3) ==23064== by 0x95B579C: purple_xfers_uninit (ft.c:1642) ==23064== by 0x95ACF08: purple_core_quit (core.c:238) ==23064== by 0x43EB3E: gtk_blist_delete_cb (gtkblist.c:227) ==23064== by 0x6F9A727: ??? (in /usr/lib/libgtk-x11-2.0.so.0.1800.3) ==23064== Address 0x2355f0e0 is not stack'd, malloc'd or (recently) free'd
author Mark Doliner <mark@kingant.net>
date Tue, 06 Apr 2010 09:52:27 +0000
parents a8d6f071eb6d
children
line wrap: on
line source

{
   X oddness 1
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:_XReply
}
{
   NSS
   Memcheck:Cond
   obj:/usr/lib/libsoftokn3.so
   obj:/usr/lib/libsoftokn3.so
   obj:/usr/lib/libsoftokn3.so
   obj:/usr/lib/libsoftokn3.so
}
{
   X oddness 2
   Memcheck:Param
   writev(vector[...])
   fun:writev
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:_X11TransWritev
   fun:_XSend
}
{
   X oddness 3
   Memcheck:Cond
   fun:XcursorImageHash
   fun:XcursorNoticePutBitmap
   fun:_XNoticePutBitmap
   fun:XPutImage
}
{
   X oddness 4
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:XFlush
}
{
   X oddness 5
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:XDrawLine
}
{
   X oddness 6
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:_XEventsQueued
}
{
   File selector
   Memcheck:Value4
   fun:_itoa_word
   fun:_IO_vfprintf_internal
   fun:_IO_vsprintf_internal
   fun:_IO_sprintf
}
{
   File selector 2
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:XRenderComposite
}
{
   TCL leak
   Memcheck:Leak
   fun:malloc
   fun:TclpAlloc
   fun:Tcl_Alloc
   fun:Tcl_StaticPackage
}
{
   FontConfig Maybe
   Memcheck:Leak
   fun:malloc
   fun:FcStrCopy
   fun:FcStrSetAdd
   fun:FcLangSetCopy
}
{
   File selector 3
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:_XFlushGCCache
}
{
   File selector 4
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:XCreateGC
}
{
   Something else
   Memcheck:Param
   write(buf)
   fun:__write_nocancel
   fun:_X11TransWrite
   obj:/usr/X11R6/lib/libX11.so.6.2
   fun:_XSetClipRectangles
}
{
   New conversation windows
   Memcheck:Cond
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
}
{
   New conversation windows 2
   Memcheck:Cond
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgtk-x11-2.0.so.0.400.14
   obj:/usr/lib/libgobject-2.0.so.0.400.8
}
{
   NSS Init
   Memcheck:Leak
   fun:malloc
   fun:PR_Malloc
   fun:PR_CreateStack
   fun:_PR_InitFdCache
   fun:_PR_InitIO
   fun:_PR_ImplicitInitialization
   fun:PR_Init
   fun:rsa_nss_init
   fun:GE_plugin_load
   fun:purple_plugin_load
   fun:purple_plugins_load_saved
   fun:main
}