view valgrind-suppressions @ 24476:3d6fe79753c3

This should fix another crash I've seen. We weren't correctly cancelling the proxy connect when we destroyed the servconn because we were only calling msn_servconn_disconnect() if we had actually connected. So always call msn_servconn_disconnect() from msn_servconn_destroy() and let the disconnect function deal with only closing stuff that is actually open. Here's the backtrace: #0 0x0000000000000000 in ?? () #1 0x00000000005f95e0 in connect_cb (data=0x2ab92ef6e7b0, source=7, error_message=0x0) at servconn.c:185 #2 0x000000000056e7da in purple_proxy_connect_data_connected (connect_data=0x2ab92ef70260) at proxy.c:598 #3 0x000000000056e90d in socket_ready_cb (data=0x2ab92ef70260, source=7, cond=PURPLE_INPUT_WRITE) at proxy.c:657 #4 0x00000000004db70c in pidgin_io_invoke (source=0x2ab92ee4be50, condition=G_IO_OUT, data=0x2ab92dfd3130) at gtkeventloop.cc:79 In frame 1, servconn is not valid (it has already been freed)
author Mark Doliner <mark@kingant.net>
date Tue, 18 Nov 2008 07:32:23 +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
}