Bug 564005 - Valgrind errors and crash on exit with Gtk::UIManager


kjell@kjell-desktop:~/C_Cpp/bugs/bug564005_UIManager_valgrind$ valgrind --num-callers=30 ./example
==2241== Memcheck, a memory error detector
==2241== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==2241== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==2241== Command: ./example
==2241== 
==2241== Invalid read of size 4
==2241==    at 0x4968EF9: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b509c is 20 bytes inside a block of size 60 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x496925B: sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x492836F: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== Invalid read of size 4
==2241==    at 0x4968F00: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b509c is 20 bytes inside a block of size 60 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x496925B: sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x492836F: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== Invalid write of size 4
==2241==    at 0x4968F03: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b508c is 4 bytes inside a block of size 60 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x496925B: sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x492836F: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== Invalid write of size 4
==2241==    at 0x4968F0A: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b509c is 20 bytes inside a block of size 60 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x496925B: sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x492836F: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== Invalid read of size 4
==2241==    at 0x4968F14: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b5098 is 16 bytes inside a block of size 60 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x496925B: sigc::slot_base::~slot_base() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x492836F: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== Invalid read of size 4
==2241==    at 0x49283B1: Glib::SignalProxyConnectionNode::notify(void*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4968F16: sigc::internal::slot_rep::disconnect() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968F64: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==  Address 0x56b5054 is 12 bytes inside a block of size 16 free'd
==2241==    at 0x4025504: operator delete(void*) (vg_replace_malloc.c:387)
==2241==    by 0x4928377: Glib::SignalProxyConnectionNode::destroy_notify_handler(void*, _GClosure*) (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x4D4AF10: g_closure_unref (gclosure.c:253)
==2241==    by 0x4D607BD: g_signal_handlers_destroy (gsignal.c:637)
==2241==    by 0x4D4D394: g_object_real_dispose (gobject.c:883)
==2241==    by 0x4D4D58A: g_object_unref (gobject.c:2658)
==2241==    by 0x4926B8F: Glib::ObjectBase::unreference() const (in /usr/lib/libglibmm-2.4.so.1.3.0)
==2241==    by 0x804D480: Glib::RefPtr<Gtk::Action>::~RefPtr() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C766: sigc::bound_argument<Glib::RefPtr<Gtk::Action> >::~bound_argument() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C77D: sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::~bind_functor() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804DA45: sigc::internal::typed_slot_rep<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::bound_mem_functor2<void, TestWindow, Glib::RefPtr<Gtk::Action>, TestWindow::action_t>, TestWindow::action_t, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, Glib::RefPtr<Gtk::Action>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >::destroy(void*) (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x4968F5C: sigc::internal::slot_rep::notify(void*) (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x4968840: sigc::internal::trackable_callback_list::~trackable_callback_list() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x496895A: sigc::trackable::notify_callbacks() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x49689CC: sigc::trackable::~trackable() (in /usr/lib/libsigc-2.0.so.0.0.0)
==2241==    by 0x804D155: TestWindow::~TestWindow() (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241==    by 0x804C439: main (in /home/kjell/C_Cpp/bugs/bug564005_UIManager_valgrind/example)
==2241== 
==2241== 
==2241== HEAP SUMMARY:
==2241==     in use at exit: 636,785 bytes in 8,744 blocks
==2241==   total heap usage: 19,499 allocs, 10,755 frees, 2,433,285 bytes allocated
==2241== 
==2241== LEAK SUMMARY:
==2241==    definitely lost: 1,320 bytes in 6 blocks
==2241==    indirectly lost: 4,020 bytes in 203 blocks
==2241==      possibly lost: 277,128 bytes in 2,381 blocks
==2241==    still reachable: 313,345 bytes in 5,490 blocks
==2241==         suppressed: 40,972 bytes in 664 blocks
==2241== Rerun with --leak-check=full to see details of leaked memory
==2241== 
==2241== For counts of detected and suppressed errors, rerun with: -v
==2241== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 146 from 11)


Output from the test case of bug 564005 when using the modified version of
trackable.cc, described in bug 589202, comment 8

kjell@kjell-desktop:~/C_Cpp/bugs/bug564005_UIManager_valgrind$ ./example 
trackable::add_destroy_notify_callback, this=0xbfd1c1a4, accepting to add, copies=1, func=804f4a0, data=0x9173b50
trackable::add_destroy_notify_callback, this=0xbfd1c1a4, accepting to add, copies=1, func=804f4a0, data=0x9173b90
trackable::remove_destroy_notify_callback, this=0xbfd1c1a4, accepting to remove, copies=1, data=0x9173b50
trackable::add_destroy_notify_callback, this=0xbfd1c1ac, accepting to add, copies=1, func=804f4a0, data=0x9176e48
trackable::add_destroy_notify_callback, this=0xbfd1c1ac, accepting to add, copies=1, func=804f4a0, data=0x9176ea0
trackable::remove_destroy_notify_callback, this=0xbfd1c1ac, accepting to remove, copies=1, data=0x9176e48
trackable::remove_destroy_notify_callback, this=0xbfd1c1ac, accepting to remove, copies=1, data=0x9176ea0
trackable::notify_callbacks, this=0x9176ea0
trackable::notify_callbacks, this=0xbfd1c1a4
   ~trackable_callback_list, begin data=0x9173b90
trackable::remove_destroy_notify_callback, this=0xbfd1c1a4, accepting to clear, copies=1, data=0x9173b90
trackable::notify_callbacks, this=0x9173b90
>>>>>>>>>>>>>>> valgrind reports read errors here <<<<<<<<<<<<<<<<<<<
   ~trackable_callback_list,   end data=0
trackable::notify_callbacks, this=0xbfd1c1ac

