2013-01-22 16:15:28 |
Chris Coulson |
bug |
|
|
added bug |
2013-01-22 16:15:36 |
Chris Coulson |
bug task added |
|
libdbusmenu |
|
2013-01-22 16:25:33 |
Launchpad Janitor |
branch linked |
|
lp:~chrisccoulson/libdbusmenu/lp1103050 |
|
2013-01-22 17:50:57 |
Charles Kerr |
libdbusmenu: status |
New |
In Progress |
|
2013-01-22 17:51:06 |
Charles Kerr |
libdbusmenu: assignee |
|
Chris Coulson (chrisccoulson) |
|
2013-01-22 17:51:10 |
Charles Kerr |
libdbusmenu: importance |
Undecided |
Medium |
|
2013-01-22 18:12:26 |
PS Jenkins bot |
libdbusmenu: status |
In Progress |
Fix Committed |
|
2013-01-30 11:10:18 |
Sebastien Bacher |
libdbusmenu (Ubuntu): importance |
Undecided |
High |
|
2013-01-30 11:10:22 |
Sebastien Bacher |
libdbusmenu (Ubuntu): status |
New |
In Progress |
|
2013-01-30 12:14:31 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/raring-proposed/libdbusmenu |
|
2013-01-30 12:47:13 |
Launchpad Janitor |
libdbusmenu (Ubuntu): status |
In Progress |
Fix Released |
|
2013-06-12 18:55:16 |
Mathieu Trudel-Lapierre |
libdbusmenu: status |
Fix Committed |
Fix Released |
|
2013-06-12 18:55:23 |
Mathieu Trudel-Lapierre |
nominated for series |
|
Ubuntu Precise |
|
2013-06-12 18:55:23 |
Mathieu Trudel-Lapierre |
bug task added |
|
libdbusmenu (Ubuntu Precise) |
|
2013-06-12 18:55:23 |
Mathieu Trudel-Lapierre |
nominated for series |
|
Ubuntu Quantal |
|
2013-06-12 18:55:23 |
Mathieu Trudel-Lapierre |
bug task added |
|
libdbusmenu (Ubuntu Quantal) |
|
2013-06-12 19:24:19 |
Mathieu Trudel-Lapierre |
description |
We get tonnes of these in Firefox:
==16593== 16,032 (1,152 direct, 14,880 indirect) bytes in 12 blocks are definitely lost in loss record 8,169 of 8,180
==16593== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16593== by 0xBC83410: g_malloc (gmem.c:159)
==16593== by 0xBC98522: g_slice_alloc (gslice.c:1003)
==16593== by 0xBC98A75: g_slice_alloc0 (gslice.c:1029)
==16593== by 0xBA164A4: g_type_create_instance (gtype.c:1892)
==16593== by 0xB9F9E37: g_object_constructor (gobject.c:1855)
==16593== by 0xB9FB920: g_object_newv (gobject.c:1638)
==16593== by 0xB9FBF6B: g_object_new (gobject.c:1548)
==16593== by 0xDC09C03: _g_dbus_method_invocation_new (gdbusmethodinvocation.c:326)
==16593== by 0xDBF129E: validate_and_maybe_schedule_method_call (gdbusconnection.c:4826)
==16593== by 0xDBF282A: on_worker_message_received (gdbusconnection.c:4890)
==16593== by 0xDC06257: _g_dbus_worker_do_read_cb (gdbusprivate.c:492)
==16593== by 0xDB9EA4D: g_simple_async_result_complete (gsimpleasyncresult.c:777)
==16593== by 0xDB9EB7B: complete_in_idle_cb (gsimpleasyncresult.c:789)
==16593== by 0xBC7D5C4: g_main_context_dispatch (gmain.c:2784)
==16593== by 0xBC7D907: g_main_context_iterate.isra.25 (gmain.c:3359)
==16593== by 0xBC7DD71: g_main_loop_run (gmain.c:3553)
==16593== by 0xDC03D95: gdbus_shared_thread_func (gdbusprivate.c:277)
==16593== by 0xBCA15F4: g_thread_proxy (gthread.c:798)
==16593== by 0x5643F9E: start_thread (pthread_create.c:311)
==16593== by 0x59500CC: clone (clone.S:114)
Basically, dbusmenu needs to unref the GDBusMethodInvocation in its handlers when not sending a reply (ie, not calling one of the g_dbus_method_invocation_return_* functions)
I've got a patch that fixes this already |
[Impact]
* Affected applications with a high number of menu updates reach the maximum value allowed for the ID of a menuitem, and rejects further menu changes. Because the application underneath the menu has already removed the underlying actual GtkMenuItem objects, it is impossible to activate the items -- to effect the actions linked to the menuitems.
* Some indicators and applications have a relatively high and climbing memory usage due to the way they build menus to be displayed in the panel.
[Test Case]
* Run nm-applet for a while (multiple days without shutdown, without killing the application), notice whether the menus are still usable.
* Run indicators for a while, observe memory usage.
[Regression Potential]
Indicators with a very high amount of updates may be affected as circling back past the maximum value, if a new menu item is created with an ID still in use by a menuitem that has not been removed yet, neither or only one of the two menu items might be available to be clicked -- this could confuse users or cause error messages to be displayed.
Risk is low however since network-manager-gnome (nm-applet) is currently the application with the most menu updates.
[Other Info]
We get tonnes of these in Firefox:
==16593== 16,032 (1,152 direct, 14,880 indirect) bytes in 12 blocks are definitely lost in loss record 8,169 of 8,180
==16593== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16593== by 0xBC83410: g_malloc (gmem.c:159)
==16593== by 0xBC98522: g_slice_alloc (gslice.c:1003)
==16593== by 0xBC98A75: g_slice_alloc0 (gslice.c:1029)
==16593== by 0xBA164A4: g_type_create_instance (gtype.c:1892)
==16593== by 0xB9F9E37: g_object_constructor (gobject.c:1855)
==16593== by 0xB9FB920: g_object_newv (gobject.c:1638)
==16593== by 0xB9FBF6B: g_object_new (gobject.c:1548)
==16593== by 0xDC09C03: _g_dbus_method_invocation_new (gdbusmethodinvocation.c:326)
==16593== by 0xDBF129E: validate_and_maybe_schedule_method_call (gdbusconnection.c:4826)
==16593== by 0xDBF282A: on_worker_message_received (gdbusconnection.c:4890)
==16593== by 0xDC06257: _g_dbus_worker_do_read_cb (gdbusprivate.c:492)
==16593== by 0xDB9EA4D: g_simple_async_result_complete (gsimpleasyncresult.c:777)
==16593== by 0xDB9EB7B: complete_in_idle_cb (gsimpleasyncresult.c:789)
==16593== by 0xBC7D5C4: g_main_context_dispatch (gmain.c:2784)
==16593== by 0xBC7D907: g_main_context_iterate.isra.25 (gmain.c:3359)
==16593== by 0xBC7DD71: g_main_loop_run (gmain.c:3553)
==16593== by 0xDC03D95: gdbus_shared_thread_func (gdbusprivate.c:277)
==16593== by 0xBCA15F4: g_thread_proxy (gthread.c:798)
==16593== by 0x5643F9E: start_thread (pthread_create.c:311)
==16593== by 0x59500CC: clone (clone.S:114)
Basically, dbusmenu needs to unref the GDBusMethodInvocation in its handlers when not sending a reply (ie, not calling one of the g_dbus_method_invocation_return_* functions)
I've got a patch that fixes this already |
|
2013-06-12 19:25:50 |
Mathieu Trudel-Lapierre |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2013-06-12 19:26:32 |
Mathieu Trudel-Lapierre |
libdbusmenu (Ubuntu Precise): status |
New |
Triaged |
|
2013-06-12 19:26:35 |
Mathieu Trudel-Lapierre |
libdbusmenu (Ubuntu Quantal): status |
New |
Triaged |
|
2013-06-12 19:26:37 |
Mathieu Trudel-Lapierre |
libdbusmenu (Ubuntu Precise): importance |
Undecided |
High |
|
2013-06-12 19:26:39 |
Mathieu Trudel-Lapierre |
libdbusmenu (Ubuntu Quantal): importance |
Undecided |
High |
|
2013-06-20 23:57:19 |
Brian Murray |
libdbusmenu (Ubuntu Precise): status |
Triaged |
Fix Committed |
|
2013-06-20 23:57:24 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2013-06-20 23:57:26 |
Brian Murray |
tags |
|
verification-needed |
|
2013-06-21 00:07:38 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/precise-proposed/libdbusmenu |
|
2013-08-07 09:32:01 |
Chris Coulson |
tags |
verification-needed |
verification-done |
|
2013-08-08 09:20:49 |
Colin Watson |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2013-08-08 09:20:46 |
Launchpad Janitor |
libdbusmenu (Ubuntu Precise): status |
Fix Committed |
Fix Released |
|
2014-12-03 09:55:22 |
Rolf Leggewie |
libdbusmenu (Ubuntu Quantal): status |
Triaged |
Won't Fix |
|