After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 696173 - Various memory leaks
Various memory leaks
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.8.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2013-03-20 08:42 UTC by Milan Crha
Modified: 2013-09-13 01:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evo patch (1.77 KB, patch)
2013-03-20 08:42 UTC, Milan Crha
committed Details | Review
evo patch ][ (1.48 KB, patch)
2013-03-22 11:07 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2013-03-20 08:42:51 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.
Comment 1 Milan Crha 2013-03-20 08:45:17 UTC
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)
Comment 2 Milan Crha 2013-03-22 11:07:42 UTC
Created attachment 239532 [details] [review]
evo patch ][

for evolution;

This fixes the above memory leak, caused by incorrect reference count handling.
Comment 3 Milan Crha 2013-03-25 13:58:53 UTC
Created commit 4b03f11 in evo master (3.9.1+)
Created commit ad6234e in evo gnome-3-8 (3.8.1+)