GNOME Bugzilla – Bug 696173
Various memory leaks
Last modified: 2013-09-13 01:07:04 UTC
Created attachment 239333 [details] [review] evo patch The patch fixes two memory leaks. One is around EMailRequest. It can happen that the caller doesn't call finish on the EMailRequest, in which case the underlying input stream was leaking. The other memory leaks are around gtk_container_get_children(), forgotten free of returned GList.
This is from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=916890#c30 Not a complete memory leak, but suspicious enough to investigate further. ==22577== 13,655,040 bytes in 6,720 blocks are possibly lost in loss record 42,019 of 42,026 ==22577== at 0x4A068EA: memalign (vg_replace_malloc.c:727) ==22577== by 0x4A06985: posix_memalign (vg_replace_malloc.c:876) ==22577== by 0x3129E1A777: slab_allocator_alloc_chunk (gslice.c:1381) ==22577== by 0x3129E62CE8: g_slice_alloc (gslice.c:724) ==22577== by 0x3129E62D45: g_slice_alloc0 (gslice.c:1029) ==22577== by 0x312A630084: g_type_create_instance (gtype.c:1870) ==22577== by 0x312A614A37: g_object_constructor (gobject.c:1854) ==22577== by 0x312A616000: g_object_newv (gobject.c:1718) ==22577== by 0x312A6167EF: g_object_new_valist (gobject.c:1835) ==22577== by 0x312A616B23: g_object_new (gobject.c:1550) ==22577== by 0x3D1F5D918D: gtk_radio_action_new (gtkradioaction.c:219) ==22577== by 0x3D1F49EBCD: gtk_action_group_add_radio_actions_full (gtkactiongroup.c:1402) ==22577== by 0x3D1F49ECF0: gtk_action_group_add_radio_actions (gtkactiongroup.c:1350) ==22577== by 0x14917201: e_mail_shell_view_update_search_filter (e-mail-shell-view-actions.c:2129) ==22577== by 0x312A60F90F: g_closure_invoke (gclosure.c:777) ==22577== by 0x312A620D07: signal_emit_unlocked_R (gsignal.c:3551) ==22577== by 0x312A628C8C: g_signal_emit_valist (gsignal.c:3300) ==22577== by 0x312A628DE1: g_signal_emit (gsignal.c:3356) ==22577== by 0x3D1F58B8DD: gtk_list_store_insert_with_values (gtkliststore.c:2250) ==22577== by 0x10581B2B: labels_settings_changed_cb (e-mail-label-list-store.c:276) ==22577== by 0x312A612736: g_cclosure_marshal_VOID__STRINGv (gmarshal.c:1004) ==22577== by 0x312A60FBD6: _g_closure_invoke_va (gclosure.c:840) ==22577== by 0x312A6283A7: g_signal_emit_valist (gsignal.c:3211) ==22577== by 0x312A628DE1: g_signal_emit (gsignal.c:3356) ==22577== by 0x3D19AAB62B: g_settings_real_change_event (gsettings.c:288) ==22577== by 0x3A0A405ED7: ffi_call_unix64 (in /usr/lib64/libffi.so.5.0.10) ==22577== by 0x3A0A4058DF: ffi_call (in /usr/lib64/libffi.so.5.0.10) ==22577== by 0x312A6108FA: g_cclosure_marshal_generic_va (gclosure.c:1550) ==22577== by 0x312A60FBD6: _g_closure_invoke_va (gclosure.c:840) ==22577== by 0x312A6283A7: g_signal_emit_valist (gsignal.c:3211) ==22577== by 0x312A628DE1: g_signal_emit (gsignal.c:3356) ==22577== by 0x3D19AAC117: settings_backend_path_changed (gsettings.c:363) ==22577== by 0x3D19AA7D19: g_settings_backend_invoke_closure (gsettingsbackend.c:271) ==22577== by 0x3129E47A54: g_main_context_dispatch (gmain.c:2715) ==22577== by 0x3129E47D87: g_main_context_iterate.isra.24 (gmain.c:3290) ==22577== by 0x3129E48181: g_main_loop_run (gmain.c:3484) ==22577== by 0x3D1F58DD4C: gtk_main (gtkmain.c:1160) ==22577== by 0x403018: main (main.c:711)
Created attachment 239532 [details] [review] evo patch ][ for evolution; This fixes the above memory leak, caused by incorrect reference count handling.
Created commit 4b03f11 in evo master (3.9.1+) Created commit ad6234e in evo gnome-3-8 (3.8.1+)