GNOME Bugzilla – Bug 629051
Memory leak in gnome_calendar_constructed()
Last modified: 2011-06-27 12:57:25 UTC
==31478== 6,109 (64 direct, 6,045 indirect) bytes in 1 blocks are definitely lost in loss record 42,461 of 43,070 ==31478== at 0x4A0515D: malloc (vg_replace_malloc.c:195) ==31478== by 0x3D3D645C80: g_malloc (gmem.c:134) ==31478== by 0x3D3D65C796: g_slice_alloc (gslice.c:836) ==31478== by 0x3D3D65CA45: g_slice_alloc0 (gslice.c:848) ==31478== by 0x3D3DE32EA3: g_type_create_instance (gtype.c:1867) ==31478== by 0x3D3DE108DB: g_object_constructor (gobject.c:1482) ==31478== by 0x3D3DE13910: g_object_newv (gobject.c:1266) ==31478== by 0x3D3DE1455B: g_object_new (gobject.c:1178) ==31478== by 0xEC2A415: e_cal_list_view_new (e-cal-list-view.c:177) ==31478== by 0xEC7D252: gnome_calendar_constructed (gnome-cal.c:479) ==31478== by 0x3D3DE1388F: g_object_newv (gobject.c:1375) ==31478== by 0x3D3DE1455B: g_object_new (gobject.c:1178)
(probably a refcount leak?)
Looks like -none- of the ECalendarViews are ever getting unreferenced, not just the list view. Fixed for 2.31.92 in: http://git.gnome.org/browse/evolution/commit/?id=6c02410d38881bd7c4bd63a77f6f50ae8c6f9389
This seems to have a regression, because if I revert it, and start in a calendar view, then these runtime warnings on close are vanished. I'm reopening this till the investigation about this will be done. (evolution:13936): Gtk-CRITICAL **: IA__gtk_widget_get_realized: assertion `GTK_IS_WIDGET (widget)' failed (evolution:13936): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (evolution:13936): GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (evolution:13936): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `(null)' (evolution:13936): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
I fixed the run-time warnings by having GnomeCalendar sink the initially-floating ECalendarView reference, since it does keep a reference to them in an internal array. No idea if that eliminated the memory leak though.
Let's Davit reopen, if not :)