i ran valgrind to get an initial idea. test: search for google in
gwibber, wait for about 12 notifications, get this:

First a few probably obvious leaks (stripped a bit); further down the
full valgrind output.

==16630== 
==16630== 
==16630== 58,336 (15,360 direct, 42,976 indirect) bytes in 23 blocks are 
definitely lost in loss record 202 of 218
==16630==    at 0x4C279E1: realloc (vg_replace_malloc.c:429)
==16630==    by 0xA85701B: FcPatternObjectInsertElt (fcpat.c:358)
==16630==    by 0xA857ADC: FcPatternObjectAddWithBinding (fcpat.c:515)
==16630==    by 0xA84D12F: FcDefaultSubstitute (fcdefault.c:136)
==16630==    by 0xA180A9A: (within /usr/lib/libpangoft2-1.0.so.0.2400.5)
==16630==    by 0x7031F18: pango_context_get_metrics (in 
/usr/lib/libpango-1.0.so.0.2400.5)
==16630==    by 0x4192E1: defaults_constructed (defaults.c:409)
==16630==    by 0x7274DE2: g_object_newv (in 
/usr/lib/libgobject-2.0.so.0.2104.0)


==16630== 
==16630== 
==16630== 27,616 (2,368 direct, 25,248 indirect) bytes in 8 blocks are 
definitely lost in loss record 205 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0x6DAF303: (within /usr/lib/libcairo.so.2.10800.8)
==16630==    by 0x6DAF657: (within /usr/lib/libcairo.so.2.10800.8)
==16630==    by 0x412776: _refresh_background (bubble.c:517)
==16630==    by 0x41373E: bubble_recalc_size (bubble.c:3268)
==16630==    by 0x41AFA9: stack_notify_handler (stack.c:645)
==16630==    by 0x41A095: 


==16630== 1,362,696 (54,552 direct, 1,308,144 indirect) bytes in 39 blocks are 
definitely lost in loss record 217 of 218
==16630==    at 0x4C25684: calloc (vg_replace_malloc.c:397)
==16630==    by 0x74ED187: g_malloc0 (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x41D2D7: tile_new (tile.c:56)
==16630==    by 0x4118F6: _refresh_icon (bubble.c:780)
==16630==    by 0x411CD9: bubble_set_icon (bubble.c:2249)
==16630==    by 0x41B0CA: stack_notify_handler (stack.c:617)
==16630==    by 0x41A095: 
dbus_glib_marshal_stack_VOID__STRING_UINT_STRING_STRING_STRING_BOXED_BOXED_INT_POINTER
 (stack-glue.h:100)


Here the full:


==16630== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 14 from 2)
==16630== malloc/free: in use at exit: 4,703,720 bytes in 13,166 blocks.
==16630== malloc/free: 79,139 allocs, 65,973 frees, 13,398,848 bytes allocated.
==16630== For counts of detected errors, rerun with: -v
==16630== searching for pointers to 13,166 not-freed blocks.
==16630== checked 3,839,584 bytes.
==16630== 
==16630== 9 bytes in 1 blocks are definitely lost in loss record 8 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0xA859A93: FcStrCopy (fcstr.c:42)
==16630==    by 0xA85CFD4: FcEndElement (fcxml.c:1936)
==16630==    by 0xCBEAC52: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBEBB93: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBED709: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBEDE2A: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBE4040: XML_ParseBuffer (in /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xA85B4F8: FcConfigParseAndLoad (fcxml.c:2552)
==16630==    by 0xA85B7DD: FcConfigParseAndLoad (fcxml.c:2438)
==16630==    by 0xA85CC34: FcEndElement (fcxml.c:1648)
==16630==    by 0xCBEAC52: (within /usr/lib/libexpat.so.1.5.2)
==16630== 
==16630== 
==16630== 300 (60 direct, 240 indirect) bytes in 1 blocks are definitely lost 
in loss record 52 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0x7A83D8A: nss_parse_service_list (nsswitch.c:618)
==16630==    by 0x7A8467E: __nss_database_lookup (nsswitch.c:164)
==16630==    by 0xD61633F: ???
==16630==    by 0xD616FEE: ???
==16630==    by 0x7A32B62: getpwnam_r@@GLIBC_2.2.5 (getXXbyYY_r.c:253)
==16630==    by 0x75179AC: (within /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x751981C: g_get_home_dir (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x5AB60E6: gtk_rc_add_initial_default_files (gtkrc.c:557)
==16630==    by 0x5AB87BE: _gtk_rc_init (gtkrc.c:896)
==16630==    by 0x5A609B4: post_parse_hook (gtkmain.c:719)
==16630==    by 0x74F3557: g_option_context_parse (in 
/usr/lib/libglib-2.0.so.0.2104.0)
==16630== 
==16630== 
==16630== 112 bytes in 1 blocks are possibly lost in loss record 73 of 218
==16630==    at 0x4C279E1: realloc (vg_replace_malloc.c:429)
==16630==    by 0x74ED10E: g_realloc (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x88E70BC: ORBit_realloc_tcval (in /usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0x88EB173: ORBit_sequence_append (in 
/usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0xFA0CC8D: bonobo_activation_init_activation_env (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xFA109A2: bonobo_activation_orb_init (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xFA10D60: bonobo_activation_init (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xF7B67F1: bonobo_init_full (in /usr/lib/libbonobo-2.so.0.0.0)
==16630==    by 0xF31F503: (within /usr/lib/gtk-2.0/modules/libatk-bridge.so)
==16630==    by 0x5A7E980: default_display_notify_cb (gtkmodules.c:424)
==16630==    by 0x726E67D: g_closure_invoke (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x7284855: (within /usr/lib/libgobject-2.0.so.0.2104.0)
==16630== 
==16630== 
==16630== 173 bytes in 34 blocks are definitely lost in loss record 88 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0x74ED1E2: g_malloc (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x7504BDD: g_strdup (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x504C873: (within /usr/lib/libgconf-2.so.4.1.5)
==16630==    by 0x504DB44: gconf_value_copy (in /usr/lib/libgconf-2.so.4.1.5)
==16630==    by 0x5058467: (within /usr/lib/libgconf-2.so.4.1.5)
==16630==    by 0x5058B52: gconf_client_get_string (in 
/usr/lib/libgconf-2.so.4.1.5)
==16630==    by 0x418E8E: _get_font_size_dpi (defaults.c:179)
==16630==    by 0x419132: defaults_constructed (defaults.c:505)
==16630==    by 0x7274DE2: g_object_newv (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x7275324: g_object_new_valist (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x727547B: g_object_new (in /usr/lib/libgobject-2.0.so.0.2104.0)
==16630== 
==16630== 
==16630== 174 bytes in 8 blocks are possibly lost in loss record 89 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0x74ED1E2: g_malloc (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x88E718C: ORBit_alloc_string (in /usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0x88E6E7C: CORBA_string_dup (in /usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0x88EAFB6: ORBit_copy_value_core (in 
/usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0x88EAD92: ORBit_copy_value_core (in 
/usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0x88EB1A1: ORBit_sequence_append (in 
/usr/lib/libORBit-2.so.0.1.0)
==16630==    by 0xFA0CC8D: bonobo_activation_init_activation_env (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xFA109A2: bonobo_activation_orb_init (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xFA10D60: bonobo_activation_init (in 
/usr/lib/libbonobo-activation.so.4.0.0)
==16630==    by 0xF7B67F1: bonobo_init_full (in /usr/lib/libbonobo-2.so.0.0.0)
==16630==    by 0xF31F503: (within /usr/lib/gtk-2.0/modules/libatk-bridge.so)
==16630== 
==16630== 
==16630== 576 (512 direct, 64 indirect) bytes in 2 blocks are definitely lost 
in loss record 132 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0xA85709A: FcPatternObjectInsertElt (fcpat.c:367)
==16630==    by 0xA857ADC: FcPatternObjectAddWithBinding (fcpat.c:515)
==16630==    by 0xA857BFC: FcPatternAppend (fcpat.c:991)
==16630==    by 0xA85CBB0: FcEndElement (fcxml.c:2023)
==16630==    by 0xCBEAC52: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBEBB93: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBED709: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBEDE2A: (within /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xCBE4040: XML_ParseBuffer (in /usr/lib/libexpat.so.1.5.2)
==16630==    by 0xA85B4F8: FcConfigParseAndLoad (fcxml.c:2552)
==16630==    by 0xA85B7DD: FcConfigParseAndLoad (fcxml.c:2438)
==16630== 
==16630== 
==16630== 2,452 bytes in 43 blocks are possibly lost in loss record 170 of 218
==16630==    at 0x4C25684: calloc (vg_replace_malloc.c:397)
==16630==    by 0x74ED187: g_malloc0 (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x72888C5: (within /usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x7288935: (within /usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x728AA8C: g_type_init_with_debug_flags (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x5F7F121: gdk_pre_parse_libgtk_only (gdk.c:209)
==16630==    by 0x5A6087E: pre_parse_hook (gtkmain.c:646)
==16630==    by 0x74F319F: g_option_context_parse (in 
/usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x5A60570: gtk_parse_args (gtkmain.c:918)
==16630==    by 0x5A605C8: gtk_init_check (gtkmain.c:954)
==16630==    by 0x5A605F8: gtk_init (gtkmain.c:992)
==16630==    by 0x41972B: main (main.c:55)
==16630== 
==16630== 
==16630== 58,336 (15,360 direct, 42,976 indirect) bytes in 23 blocks are 
definitely lost in loss record 202 of 218
==16630==    at 0x4C279E1: realloc (vg_replace_malloc.c:429)
==16630==    by 0xA85701B: FcPatternObjectInsertElt (fcpat.c:358)
==16630==    by 0xA857ADC: FcPatternObjectAddWithBinding (fcpat.c:515)
==16630==    by 0xA84D12F: FcDefaultSubstitute (fcdefault.c:136)
==16630==    by 0xA180A9A: (within /usr/lib/libpangoft2-1.0.so.0.2400.5)
==16630==    by 0x7031F18: pango_context_get_metrics (in 
/usr/lib/libpango-1.0.so.0.2400.5)
==16630==    by 0x4192E1: defaults_constructed (defaults.c:409)
==16630==    by 0x7274DE2: g_object_newv (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x7275324: g_object_new_valist (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x727547B: g_object_new (in /usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x419742: main (main.c:61)
==16630== 
==16630== 
==16630== 27,616 (2,368 direct, 25,248 indirect) bytes in 8 blocks are 
definitely lost in loss record 205 of 218
==16630==    at 0x4C278AE: malloc (vg_replace_malloc.c:207)
==16630==    by 0x6DAF303: (within /usr/lib/libcairo.so.2.10800.8)
==16630==    by 0x6DAF657: (within /usr/lib/libcairo.so.2.10800.8)
==16630==    by 0x412776: _refresh_background (bubble.c:517)
==16630==    by 0x41373E: bubble_recalc_size (bubble.c:3268)
==16630==    by 0x41AFA9: stack_notify_handler (stack.c:645)
==16630==    by 0x41A095: 
dbus_glib_marshal_stack_VOID__STRING_UINT_STRING_STRING_STRING_BOXED_BOXED_INT_POINTER
 (stack-glue.h:100)
==16630==    by 0x52797EB: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630==    by 0x5279CA4: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630==    by 0x54AB61D: (within /lib/libdbus-1.so.3.4.0)
==16630==    by 0x549F3DB: dbus_connection_dispatch (in /lib/libdbus-1.so.3.4.0)
==16630==    by 0x5276B64: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630== 
==16630== 
==16630== 80,672 bytes in 46 blocks are possibly lost in loss record 213 of 218
==16630==    at 0x4C254D0: memalign (vg_replace_malloc.c:460)
==16630==    by 0x4C2558A: posix_memalign (vg_replace_malloc.c:569)
==16630==    by 0x7501821: (within /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x75028D9: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x72828E4: g_signal_connect_data (in 
/usr/lib/libgobject-2.0.so.0.2104.0)
==16630==    by 0x5A7F475: _gtk_modules_init (gtkmodules.c:514)
==16630==    by 0x5A609DA: post_parse_hook (gtkmain.c:728)
==16630==    by 0x74F3557: g_option_context_parse (in 
/usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x5A60570: gtk_parse_args (gtkmain.c:918)
==16630==    by 0x5A605C8: gtk_init_check (gtkmain.c:954)
==16630==    by 0x5A605F8: gtk_init (gtkmain.c:992)
==16630==    by 0x41972B: main (main.c:55)
==16630== 
==16630== 
==16630== 1,362,696 (54,552 direct, 1,308,144 indirect) bytes in 39 blocks are 
definitely lost in loss record 217 of 218
==16630==    at 0x4C25684: calloc (vg_replace_malloc.c:397)
==16630==    by 0x74ED187: g_malloc0 (in /usr/lib/libglib-2.0.so.0.2104.0)
==16630==    by 0x41D2D7: tile_new (tile.c:56)
==16630==    by 0x4118F6: _refresh_icon (bubble.c:780)
==16630==    by 0x411CD9: bubble_set_icon (bubble.c:2249)
==16630==    by 0x41B0CA: stack_notify_handler (stack.c:617)
==16630==    by 0x41A095: 
dbus_glib_marshal_stack_VOID__STRING_UINT_STRING_STRING_STRING_BOXED_BOXED_INT_POINTER
 (stack-glue.h:100)
==16630==    by 0x52797EB: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630==    by 0x5279CA4: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630==    by 0x54AB61D: (within /lib/libdbus-1.so.3.4.0)
==16630==    by 0x549F3DB: dbus_connection_dispatch (in /lib/libdbus-1.so.3.4.0)
==16630==    by 0x5276B64: (within /usr/lib/libdbus-glib-1.so.2.1.0)
==16630== 
==16630== LEAK SUMMARY:
==16630==    definitely lost: 73,034 bytes in 108 blocks.
==16630==    indirectly lost: 1,376,672 bytes in 1,482 blocks.
==16630==      possibly lost: 83,410 bytes in 98 blocks.
==16630==    still reachable: 3,170,604 bytes in 11,478 blocks.
==16630==         suppressed: 0 bytes in 0 blocks.
==16630== Reachable blocks (those to which a pointer was found) are not shown.
==16630== To see them, rerun with: --leak-check=full --show-reachable=yes

-- 
Memory leak in notify-osd
https://bugs.launchpad.net/bugs/378193
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to