Leak in appmenu-gtk
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
AppMenu GTK+ |
Triaged
|
Low
|
Unassigned | ||
appmenu-gtk (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
Binary package hint: indicator-
This is a *may have been found* because I'm not 100% certain it's not nm-applet patch to use libappindicator which actually leaks, but I have reason to believe this is an issue in libappindicator:
==25714== 8 bytes in 1 blocks are definitely lost in loss record 1,720 of 7,879
==25714== at 0x4025BD3: malloc (vg_replace_
==25714== by 0x48255C3: g_malloc (gmem.c:164)
==25714== by 0x4825902: g_malloc_n (gmem.c:381)
==25714== by 0x47C839A: g_type_children (gtype.c:3512)
==25714== by 0x4284C6D: ubuntu_
==25714== by 0x428465C: ubuntu_
==25714== by 0x4285E45: gtk_menu_shell_init (gtkmenushell.
==25714== by 0x47C8FD4: g_type_
==25714== by 0x47A4C54: g_object_
==25714== by 0x47A8326: g_object_newv (gobject.c:1386)
==25714== by 0x47A900F: g_object_new (gobject.c:1298)
==25714== by 0x427A4A6: gtk_menu_new (gtkmenu.c:1313)
==25714== 50 bytes in 1 blocks are definitely lost in loss record 5,699 of 7,879
==25714== at 0x4025BD3: malloc (vg_replace_
==25714== by 0x48255C3: g_malloc (gmem.c:164)
==25714== by 0x483F486: g_strconcat (gstrfuncs.c:327)
==25714== by 0x4C2BC59: g_module_build_path (gmodule-dl.c:161)
==25714== by 0x428CFB3: _gtk_find_module (gtkmodules.c:202)
==25714== by 0x4284A3C: ubuntu_
==25714== by 0x47CC323: g_type_module_use (gtypemodule.c:256)
==25714== by 0x4284C55: ubuntu_
==25714== by 0x428465C: ubuntu_
==25714== by 0x4285E45: gtk_menu_shell_init (gtkmenushell.
==25714== by 0x47C8FD4: g_type_
==25714== by 0x47A4C54: g_object_
==25714== 10,224 bytes in 1,278 blocks are definitely lost in loss record 7,714 of 7,879
==25714== at 0x4024F12: calloc (vg_replace_
==25714== by 0x482563B: g_malloc0 (gmem.c:196)
==25714== by 0x5A77793: ??? (in /usr/lib/
==25714== by 0x5A789B1: ??? (in /usr/lib/
==25714== by 0x4284702: ubuntu_
==25714== by 0x4285FAE: gtk_menu_
==25714== by 0x428601F: gtk_menu_
==25714== by 0x805EA48: ??? (in /usr/bin/nm-applet)
==25714== by 0x481FE0B: g_timeout_dispatch (gmain.c:3688)
==25714== by 0x481E4E7: g_main_
==25714== by 0x481ECAF: g_main_
==25714== by 0x481F372: g_main_loop_run (gmain.c:3110)
I'm not certain, and I'm certainly no valgrind wizard, but I believe that due to nm-applet building a fairly complex menu with label menuitems with markup, GtkImageMenuItems, and custom widgets implementing GtkMenuItem; along with the fact that the menus are being destroyed and rebuilt every 15 seconds, some of the data not used by libappindicator is not properly handled and leads to memory leaks.
indicator- application doesn't use the menu_proxy interface, that is used by appmenu-gtk. Moving this over to that project.