Bug 495980 - memory leak in icalz [NEEDINFO]
memory leak in icalz
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: evolution (Show other bugs)
5.3
All Linux
medium Severity medium
: rc
: ---
Assigned To: Milan Crha
desktop-bugs@redhat.com
:
Depends On:
Blocks: 484269 496894
  Show dependency treegraph
 
Reported: 2009-04-15 15:48 EDT by ritz
Modified: 2014-06-03 08:37 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 496894 (view as bug list)
Environment:
Last Closed: 2014-06-03 08:37:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
pm-rhel: needinfo? (rkhadgar)


Attachments (Terms of Use)
eds patch (851 bytes, patch)
2009-04-21 10:13 EDT, Milan Crha
no flags Details | Diff
evo patch (2.06 KB, patch)
2009-04-21 10:14 EDT, Milan Crha
no flags Details | Diff

  None (edit)
Comment 2 Milan Crha 2009-04-16 07:01:36 EDT
Giving in an account the summary "memory leak in icalz", are you really interested only in libical leaks? I usually care only about "definitely lost" memory, and these are the most relevant from your valgrind which are committed from evo code directly:

==9498== 16 bytes in 1 blocks are definitely lost in loss record 38 of 318
==9498==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==9498==    by 0x45C3CFB: icaltzutil_fetch_timezone (icaltz-util.c:266)
==9498==    by 0x45C5427: icaltimezone_load_builtin_timezone (icaltimezone.c:1744)
==9498==    by 0x45C5476: icaltimezone_get_component (icaltimezone.c:1223)
==9498==    by 0x523D55C: calendar_prefs_dialog_new (cal-prefs-dialog.c:508)
==9498==    by 0x5226F31: factory (main.c:184)
==9498==    by 0x7BF2AD: bonobo_marshal_OBJECT__STRING (bonobo-marshal.c:203)
==9498==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==9498==    by 0x7BDDB3: bonobo_closure_invoke_va_list (bonobo-types.c:404)
==9498==    by 0x7BE01B: bonobo_closure_invoke (bonobo-types.c:467)
==9498==    by 0x7A9597: bonobo_generic_factory_new_generic (bonobo-generic-factory.c:277)
==9498==    by 0x7B77E3: bonobo_shlib_factory_new_generic (bonobo-shlib-factory.c:155)

==9498== 632 bytes in 79 blocks are definitely lost in loss record 175 of 318
==9498==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==9498==    by 0xA8D0FA: vasprintf (vasprintf.c:77)
==9498==    by 0x1B06B6: g_vasprintf (gprintf.c:311)
==9498==    by 0x1A25A5: g_strdup_vprintf (gstrfuncs.c:188)
==9498==    by 0x1A25CA: g_strdup_printf (gstrfuncs.c:201)
==9498==    by 0x51D58F4: e_day_view_main_item_draw_day_events (e-day-view-main-item.c:1701)
==9498==    by 0x51D897B: e_day_view_main_item_draw (e-day-view-main-item.c:1013)
==9498==    by 0x894025: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==9498==    by 0x8987B9: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==9498==    by 0x4B8C05F: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==9498==    by 0x22A638: g_type_class_meta_marshal (gclosure.c:567)
==9498==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==9498== 23,188 bytes in 527 blocks are definitely lost in loss record 278 of 318
==9498==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==9498==    by 0xA9C6DF: strdup (strdup.c:43)
==9498==    by 0x45B9A7C: icalmemory_strdup (icalmemory.c:236)
==9498==    by 0x45BAC89: icalparameter_new_clone (icalparameter.c:131)
==9498==    by 0x45BD6A3: icalproperty_new_clone (icalproperty.c:156)
==9498==    by 0x45B8D23: icalcomponent_new_clone (icalcomponent.c:199)
==9498==    by 0x45841B6: add_instance (e-cal.c:3335)
==9498==    by 0x458AF1E: generate_instances (e-cal.c:3623)
==9498==    by 0x458C470: e_cal_generate_instances_for_object (e-cal.c:3754)
==9498==    by 0x51BF15E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==9498==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==9498==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==9498== 509,139 (499,372 direct, 9,767 indirect) bytes in 19,218 blocks are definitely lost in loss record 308 of 318
==9498==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==9498==    by 0x18E7E5: g_malloc (gmem.c:131)
==9498==    by 0x1A1D98: g_strdup (gstrfuncs.c:91)
==9498==    by 0x4BB6A4: e_contact_get (e-contact.c:1476)
==9498==    by 0x4BC1C3: e_contact_get_property (e-contact.c:1175)
==9498==    by 0x23064D: g_object_get_property (gobject.c:656)
==9498==    by 0x2D9BBB: e_contact_store_get_value (e-contact-store.c:1219)
==9498==    by 0x4C64564: gtk_tree_model_get_value (in /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==9498==    by 0x2E3981: override_email_address (e-name-selector-model.c:228)
==9498==    by 0x2EDCDC: e_tree_model_generator_get_value (e-tree-model-generator.c:1319)
==9498==    by 0x4C64564: gtk_tree_model_get_value (in /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==9498==    by 0x4C5FD4D: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)

==9498== LEAK SUMMARY:
==9498==    definitely lost: 636,705 bytes in 20,402 blocks.
==9498==    indirectly lost: 236,513 bytes in 11,370 blocks.
==9498==      possibly lost: 1,087,245 bytes in 3,195 blocks.
==9498==    still reachable: 51,388,930 bytes in 233,000 blocks.
==9498==         suppressed: 0 bytes in 0 blocks.

==17312== 16 bytes in 1 blocks are definitely lost in loss record 32 of 314
==17312==    at 0x40054BB: realloc (vg_replace_malloc.c:306)
==17312==    by 0x18E6AA: g_realloc (gmem.c:168)
==17312==    by 0x1A2E2B: g_string_maybe_expand (gstring.c:261)
==17312==    by 0x1A3352: g_string_insert_len (gstring.c:490)
==17312==    by 0x1A36A5: g_string_append_len (gstring.c:530)
==17312==    by 0x1A370E: g_string_append_printf_internal (gstring.c:899)
==17312==    by 0x1A3736: g_string_append_printf (gstring.c:925)
==17312==    by 0x972EE3: camel_content_type_format (camel-mime-utils.c:3444)
==17312==    by 0x5382444: emf_inlinepgp_signed (em-format.c:1622)
==17312==    by 0x5382B7A: em_format_part_as (em-format.c:625)
==17312==    by 0x5383424: em_format_part (em-format.c:652)
==17312==    by 0x537FA99: efh_text_plain (em-format-html.c:797)

==17312== 16 bytes in 1 blocks are definitely lost in loss record 33 of 314
==17312==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==17312==    by 0x45C3CFB: icaltzutil_fetch_timezone (icaltz-util.c:266)
==17312==    by 0x45C5427: icaltimezone_load_builtin_timezone (icaltimezone.c:1744)
==17312==    by 0x45C5476: icaltimezone_get_component (icaltimezone.c:1223)
==17312==    by 0x5230BFC: calendar_config_get_icaltimezone (calendar-config.c:226)
==17312==    by 0x529C8AE: set_timezone (gnome-cal.c:1176)
==17312==    by 0x52A379D: gnome_calendar_init (gnome-cal.c:1333)
==17312==    by 0x24B799: g_type_create_instance (gtype.c:1567)
==17312==    by 0x233011: g_object_constructor (gobject.c:1038)
==17312==    by 0x230CBA: g_object_newv (gobject.c:934)
==17312==    by 0x23183D: g_object_new_valist (gobject.c:978)
==17312==    by 0x2319EF: g_object_new (gobject.c:792)

==17312== 2,718 bytes in 338 blocks are definitely lost in loss record 141 of 314
==17312==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==17312==    by 0xA8D0FA: vasprintf (vasprintf.c:77)
==17312==    by 0x1B06B6: g_vasprintf (gprintf.c:311)
==17312==    by 0x1A25A5: g_strdup_vprintf (gstrfuncs.c:188)
==17312==    by 0x1A25CA: g_strdup_printf (gstrfuncs.c:201)
==17312==    by 0x52588F4: e_day_view_main_item_draw_day_events (e-day-view-main-item.c:1701)
==17312==    by 0x525B97B: e_day_view_main_item_draw (e-day-view-main-item.c:1013)
==17312==    by 0x894025: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==17312==    by 0x8987B9: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==17312==    by 0x4B8C05F: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==17312==    by 0x22A638: g_type_class_meta_marshal (gclosure.c:567)
==17312==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==17312== 4,947 (16 direct, 4,931 indirect) bytes in 1 blocks are definitely lost in loss record 148 of 314
==17312==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==17312==    by 0x45CB73D: pvl_new_element (pvl.c:105)
==17312==    by 0x45CB7B3: pvl_push (pvl.c:181)
==17312==    by 0x45B71BE: icalcomponent_add_property (icalcomponent.c:404)
==17312==    by 0x45B8D2F: icalcomponent_new_clone (icalcomponent.c:199)
==17312==    by 0x458B5FB: e_cal_get_object (e-cal.c:2826)
==17312==    by 0x5247BF3: e_calendar_view_get_icalcomponent_summary (e-calendar-view.c:2349)
==17312==    by 0x52919E0: e_week_view_reshape_event_span (e-week-view.c:2760)
==17312==    by 0x5291D4C: e_week_view_check_layout (e-week-view.c:2513)
==17312==    by 0x529209E: e_week_view_layout_timeout_cb (e-week-view.c:4298)
==17312==    by 0x187945: g_timeout_dispatch (gmain.c:3422)
==17312==    by 0x187371: g_main_context_dispatch (gmain.c:2045)

==17312== 23,496 bytes in 534 blocks are definitely lost in loss record 275 of 314
==17312==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==17312==    by 0xA9C6DF: strdup (strdup.c:43)
==17312==    by 0x45B9A7C: icalmemory_strdup (icalmemory.c:236)
==17312==    by 0x45BAC89: icalparameter_new_clone (icalparameter.c:131)
==17312==    by 0x45BD6A3: icalproperty_new_clone (icalproperty.c:156)
==17312==    by 0x45B8D23: icalcomponent_new_clone (icalcomponent.c:199)
==17312==    by 0x45841B6: add_instance (e-cal.c:3335)
==17312==    by 0x458AF1E: generate_instances (e-cal.c:3623)
==17312==    by 0x458C470: e_cal_generate_instances_for_object (e-cal.c:3754)
==17312==    by 0x524215E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==17312==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==17312==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==17312== 443,675 (437,378 direct, 6,297 indirect) bytes in 13,388 blocks are definitely lost in loss record 299 of 314
==17312==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==17312==    by 0x18E7E5: g_malloc (gmem.c:131)
==17312==    by 0x1A1D98: g_strdup (gstrfuncs.c:91)
==17312==    by 0x4590FF2: get_datetime (e-cal-component.c:2349)
==17312==    by 0x458ACA6: generate_instances (e-cal.c:3411)
==17312==    by 0x458C470: e_cal_generate_instances_for_object (e-cal.c:3754)
==17312==    by 0x524215E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==17312==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==17312==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==17312==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==17312==    by 0x23E2E6: g_signal_emit_valist (gsignal.c:2197)
==17312==    by 0x23E4A8: g_signal_emit (gsignal.c:2241)

==17312== LEAK SUMMARY:
==17312==    definitely lost: 609,418 bytes in 14,944 blocks.
==17312==    indirectly lost: 302,206 bytes in 14,764 blocks.
==17312==      possibly lost: 775,659 bytes in 1,552 blocks.
==17312==    still reachable: 27,051,792 bytes in 366,262 blocks.
==17312==         suppressed: 0 bytes in 0 blocks.

==1872== 16 bytes in 1 blocks are definitely lost in loss record 37 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x45C3CFB: icaltzutil_fetch_timezone (icaltz-util.c:266)
==1872==    by 0x45C5427: icaltimezone_load_builtin_timezone (icaltimezone.c:1744)
==1872==    by 0x45C5476: icaltimezone_get_component (icaltimezone.c:1223)
==1872==    by 0x5230BFC: calendar_config_get_icaltimezone (calendar-config.c:226)
==1872==    by 0x529C8AE: set_timezone (gnome-cal.c:1176)
==1872==    by 0x52A379D: gnome_calendar_init (gnome-cal.c:1333)
==1872==    by 0x24B799: g_type_create_instance (gtype.c:1567)
==1872==    by 0x233011: g_object_constructor (gobject.c:1038)
==1872==    by 0x230CBA: g_object_newv (gobject.c:934)
==1872==    by 0x23183D: g_object_new_valist (gobject.c:978)
==1872==    by 0x2319EF: g_object_new (gobject.c:792)

==1872== 4,947 (16 direct, 4,931 indirect) bytes in 1 blocks are definitely lost in loss record 154 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x45CB73D: pvl_new_element (pvl.c:105)
==1872==    by 0x45CB7B3: pvl_push (pvl.c:181)
==1872==    by 0x45B71BE: icalcomponent_add_property (icalcomponent.c:404)
==1872==    by 0x45B8D2F: icalcomponent_new_clone (icalcomponent.c:199)
==1872==    by 0x458B5FB: e_cal_get_object (e-cal.c:2826)
==1872==    by 0x5247BF3: e_calendar_view_get_icalcomponent_summary (e-calendar-view.c:2349)
==1872==    by 0x52919E0: e_week_view_reshape_event_span (e-week-view.c:2760)
==1872==    by 0x5291D4C: e_week_view_check_layout (e-week-view.c:2513)
==1872==    by 0x529209E: e_week_view_layout_timeout_cb (e-week-view.c:4298)
==1872==    by 0x187945: g_timeout_dispatch (gmain.c:3422)
==1872==    by 0x187371: g_main_context_dispatch (gmain.c:2045)

==1872== 3,348 (288 direct, 3,060 indirect) bytes in 6 blocks are definitely lost in loss record 217 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x5CA398: cairo_create (in /usr/lib/libcairo.so.2.9.2)
==1872==    by 0x674533: gdk_cairo_create (in /usr/lib/libgdk-x11-2.0.so.0.1000.4)
==1872==    by 0x5258045: e_day_view_main_item_draw_day_events (e-day-view-main-item.c:1281)
==1872==    by 0x525B97B: e_day_view_main_item_draw (e-day-view-main-item.c:1013)
==1872==    by 0x894025: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x8987B9: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x4B8C05F: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==1872==    by 0x22A638: g_type_class_meta_marshal (gclosure.c:567)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23D3F4: signal_emit_unlocked_R (gsignal.c:2476)
==1872==    by 0x23E0AE: g_signal_emit_valist (gsignal.c:2207)

==1872== 729 (20 direct, 709 indirect) bytes in 1 blocks are definitely lost in loss record 224 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x45CBA8D: pvl_newlist (pvl.c:59)
==1872==    by 0x45B8C83: icalcomponent_new_impl (icalcomponent.c:129)
==1872==    by 0x45BBD91: icalparser_add_line (icalparser.c:707)
==1872==    by 0x45BC025: icalparser_parse (icalparser.c:587)
==1872==    by 0x45BC2A1: icalparser_parse_string (icalparser.c:1118)
==1872==    by 0x70E31B1: format_itip_object (itip-formatter.c:1362)
==1872==    by 0x537C2FF: efh_object_requested (em-format-html.c:618)
==1872==    by 0x467657F: html_g_cclosure_marshal_BOOLEAN__OBJECT (in /usr/lib/libgtkhtml-3.14.so.19.1.0)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==1872==    by 0x23E0AE: g_signal_emit_valist (gsignal.c:2207)

==1872== 32 bytes in 2 blocks are definitely lost in loss record 227 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x5CCCE2: cairo_font_options_create (in /usr/lib/libcairo.so.2.9.2)
==1872==    by 0x33F230: get_font_options (e-util.c:922)
==1872==    by 0x52580E1: e_day_view_main_item_draw_day_events (e-day-view-main-item.c:1299)
==1872==    by 0x525B97B: e_day_view_main_item_draw (e-day-view-main-item.c:1013)
==1872==    by 0x894025: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x8987B9: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x4B8C05F: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==1872==    by 0x22A638: g_type_class_meta_marshal (gclosure.c:567)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23D3F4: signal_emit_unlocked_R (gsignal.c:2476)
==1872==    by 0x23E0AE: g_signal_emit_valist (gsignal.c:2207)

==1872== 657 bytes in 3 blocks are definitely lost in loss record 235 of 335
==1872==    at 0x40054BB: realloc (vg_replace_malloc.c:306)
==1872==    by 0xA8D0CA: vasprintf (vasprintf.c:85)
==1872==    by 0x1B06B6: g_vasprintf (gprintf.c:311)
==1872==    by 0x1A25A5: g_strdup_vprintf (gstrfuncs.c:188)
==1872==    by 0x1A25CA: g_strdup_printf (gstrfuncs.c:201)
==1872==    by 0x70E4BB5: format_itip_object (itip-formatter.c:784)
==1872==    by 0x537C2FF: efh_object_requested (em-format-html.c:618)
==1872==    by 0x467657F: html_g_cclosure_marshal_BOOLEAN__OBJECT (in /usr/lib/libgtkhtml-3.14.so.19.1.0)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==1872==    by 0x23E0AE: g_signal_emit_valist (gsignal.c:2207)
==1872==    by 0x23E4A8: g_signal_emit (gsignal.c:2241)

==1872== 1,508 (128 direct, 1,380 indirect) bytes in 4 blocks are definitely lost in loss record 243 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x45BD5BB: icalproperty_new_impl (icalproperty.c:102)
==1872==    by 0x45AA908: icalproperty_new_description (icalderivedproperty.c:1046)
==1872==    by 0x4590CAB: set_alarm_description_cb (e-cal-component.c:4185)
==1872==    by 0x17A565: g_hash_table_foreach (ghash.c:662)
==1872==    by 0x459299F: e_cal_component_set_summary (e-cal-component.c:4273)
==1872==    by 0x70E2B53: find_cal_opened_cb (itip-formatter.c:385)
==1872==    by 0x238EB8: g_cclosure_marshal_VOID(i_xx_t) (gmarshal.c:216)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==1872==    by 0x23E2E6: g_signal_emit_valist (gsignal.c:2197)
==1872==    by 0x23E4A8: g_signal_emit (gsignal.c:2241)

==1872== 2,104 (2,064 direct, 40 indirect) bytes in 5 blocks are definitely lost in loss record 251 of 335
==1872==    at 0x40054BB: realloc (vg_replace_malloc.c:306)
==1872==    by 0x18E6AA: g_realloc (gmem.c:168)
==1872==    by 0x169297: g_ptr_array_maybe_expand (garray.c:414)
==1872==    by 0x1692F9: g_ptr_array_add (garray.c:576)
==1872==    by 0x5242625: add_instance_cb (e-cal-model.c:1329)
==1872==    by 0x458C64C: e_cal_generate_instances_for_object (e-cal.c:3772)
==1872==    by 0x524215E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==1872==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==1872==    by 0x23E2E6: g_signal_emit_valist (gsignal.c:2197)
==1872==    by 0x23E4A8: g_signal_emit (gsignal.c:2241)

==1872== 15,153 bytes in 1,842 blocks are definitely lost in loss record 285 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0xA8D0FA: vasprintf (vasprintf.c:77)
==1872==    by 0x1B06B6: g_vasprintf (gprintf.c:311)
==1872==    by 0x1A25A5: g_strdup_vprintf (gstrfuncs.c:188)
==1872==    by 0x1A25CA: g_strdup_printf (gstrfuncs.c:201)
==1872==    by 0x52588F4: e_day_view_main_item_draw_day_events (e-day-view-main-item.c:1701)
==1872==    by 0x525B97B: e_day_view_main_item_draw (e-day-view-main-item.c:1013)
==1872==    by 0x894025: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x8987B9: (within /usr/lib/libgnomecanvas-2.so.0.1400.0)
==1872==    by 0x4B8C05F: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)
==1872==    by 0x22A638: g_type_class_meta_marshal (gclosure.c:567)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==1872== 82,870 bytes in 1,885 blocks are definitely lost in loss record 307 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0xA9C6DF: strdup (strdup.c:43)
==1872==    by 0x45B9A7C: icalmemory_strdup (icalmemory.c:236)
==1872==    by 0x45BAC89: icalparameter_new_clone (icalparameter.c:131)
==1872==    by 0x45BD6A3: icalproperty_new_clone (icalproperty.c:156)
==1872==    by 0x45B8D23: icalcomponent_new_clone (icalcomponent.c:199)
==1872==    by 0x45841B6: add_instance (e-cal.c:3335)
==1872==    by 0x458AF1E: generate_instances (e-cal.c:3623)
==1872==    by 0x458C470: e_cal_generate_instances_for_object (e-cal.c:3754)
==1872==    by 0x524215E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==1872==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)

==1872== 3,035,630 (3,017,642 direct, 17,988 indirect) bytes in 133,195 blocks are definitely lost in loss record 330 of 335
==1872==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==1872==    by 0x18E7E5: g_malloc (gmem.c:131)
==1872==    by 0x4590F87: get_datetime (e-cal-component.c:2341)
==1872==    by 0x458AD01: generate_instances (e-cal.c:3420)
==1872==    by 0x458C470: e_cal_generate_instances_for_object (e-cal.c:3754)
==1872==    by 0x524215E: e_cal_view_objects_added_cb (e-cal-model.c:1406)
==1872==    by 0x238728: g_cclosure_marshal_VOID__POINTER (gmarshal.c:601)
==1872==    by 0x22BE97: g_closure_invoke (gclosure.c:490)
==1872==    by 0x23CDAA: signal_emit_unlocked_R (gsignal.c:2438)
==1872==    by 0x23E2E6: g_signal_emit_valist (gsignal.c:2197)
==1872==    by 0x23E4A8: g_signal_emit (gsignal.c:2241)
==1872==    by 0x45A3FE8: objects_added_cb (e-cal-view.c:79)

==1872== LEAK SUMMARY:
==1872==    definitely lost: 3,308,524 bytes in 138,759 blocks.
==1872==    indirectly lost: 353,736 bytes in 17,278 blocks.
==1872==      possibly lost: 1,809,101 bytes in 3,158 blocks.
==1872==    still reachable: 92,226,624 bytes in 1,031,148 blocks.
==1872==         suppressed: 0 bytes in 0 blocks.


Note that the (yet unknown) patch can be done also in evolution-data-server package, not only in evolution itself.
Comment 3 Milan Crha 2009-04-21 10:13:25 EDT
Created attachment 340531 [details]
eds patch
Comment 4 Milan Crha 2009-04-21 10:14:03 EDT
Created attachment 340532 [details]
evo patch
Comment 5 Milan Crha 2009-04-21 10:17:07 EDT
These two are for the most leakign parts, except of 
==9498== 509,139 (499,372 direct, 9,767 indirect) bytes in 19,218 blocks are
definitely lost in loss record 308 of 318
==9498==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==9498==    by 0x18E7E5: g_malloc (gmem.c:131)
==9498==    by 0x1A1D98: g_strdup (gstrfuncs.c:91)
==9498==    by 0x4BB6A4: e_contact_get (e-contact.c:1476)
==9498==    by 0x4BC1C3: e_contact_get_property (e-contact.c:1175)
==9498==    by 0x23064D: g_object_get_property (gobject.c:656)
==9498==    by 0x2D9BBB: e_contact_store_get_value (e-contact-store.c:1219)
==9498==    by 0x4C64564: gtk_tree_model_get_value (in
/usr/lib/libgtk-x11-2.0.so.0.1000.4)
==9498==    by 0x2E3981: override_email_address (e-name-selector-model.c:228)
==9498==    by 0x2EDCDC: e_tree_model_generator_get_value
(e-tree-model-generator.c:1319)
==9498==    by 0x4C64564: gtk_tree_model_get_value (in
/usr/lib/libgtk-x11-2.0.so.0.1000.4)
==9498==    by 0x4C5FD4D: (within /usr/lib/libgtk-x11-2.0.so.0.1000.4)

Do you know how to reproduce this? Some steps and data would be awesome.

By the way, I would prefer to include at least those two patches in 5.4, as the part for the calendar itself, when generating detached instances, might leak like a hell.
Comment 6 Milan Crha 2009-04-21 11:00:04 EDT
It seems the above leak comes when autocompleting a contact list as an attendee in the meeting, though I do not see it leaking in actual upstream version, even with the very similar code here. A wild guess is some change in glib or gtk.
Comment 7 RHEL Product and Program Management 2009-11-06 14:17:35 EST
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".
Comment 8 RHEL Product and Program Management 2014-03-07 08:35:11 EST
This bug/component is not included in scope for RHEL-5.11.0 which is the last RHEL5 minor release. This Bugzilla will soon be CLOSED as WONTFIX (at the end of RHEL5.11 development phase (Apr 22, 2014)). Please contact your account manager or support representative in case you need to escalate this bug.
Comment 9 RHEL Product and Program Management 2014-06-03 08:37:10 EDT
Thank you for submitting this request for inclusion in Red Hat Enterprise Linux 5. We've carefully evaluated the request, but are unable to include it in RHEL5 stream. If the issue is critical for your business, please provide additional business justification through the appropriate support channels (https://access.redhat.com/site/support).

Note You need to log in before you can comment on or make changes to this bug.