Public bug reported:

Binary package hint: indicator-appmenu

Since the indicator stack was ported to GDBus, window registration for
the global menu appears to be racy. This manifests in menus occasionally
not displaying for some applications, although, the menu in Firefox has
stopped working entirely.

unity-panel-service shows things like this:

(unity-panel-service:29554): Indicator-Appmenu-DEBUG: Registering window ID 
71303403 with path /com/canonical/menu/44000EB from :1.229
(unity-panel-service:29554): Indicator-Appmenu-DEBUG: Creating new windows 
menu: 44000EB, :1.229, /com/canonical/menu/44000EB
(unity-panel-service:29554): Indicator-Appmenu-DEBUG: Switching to menus from 
XID 71303403

(unity-panel-service:29554): LIBDBUSMENU-GLIB-WARNING **: Getting layout
failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such
interface `com.canonical.dbusmenu' on object at path
/com/canonical/menu/44000EB

If I attach gdb to unity-panel-service, break in register_window and
then just continue again, window registration works correctly.

What appears to be happening is that applications are calling
RegisterWindow before the menu object is fully exposed on the bus
(presumably this only really happens when an application runs events off
its main loop again), and then indicator-appmenu just gives up.
Certainly, in the case of Firefox, it builds the menu and then calls
RegisterWindow without running any events from the main loop inbetween.

Perhaps indicator-appmenu could handle this a bit more robustly.

** Affects: indicator-appmenu
     Importance: Undecided
         Status: New

** Affects: indicator-appmenu (Ubuntu)
     Importance: High
         Status: New

** Changed in: indicator-appmenu (Ubuntu)
   Importance: Undecided => High

** Description changed:

  Binary package hint: indicator-appmenu
  
  Since the indicator stack was ported to GDBus, window registration for
  the global menu appears to be racy. This manifests in menus occasionally
  not displaying for some applications, although, the menu in Firefox has
  stopped working entirely.
  
  unity-panel-service shows things like this:
  
  (unity-panel-service:29554): Indicator-Appmenu-DEBUG: Registering window ID 
71303403 with path /com/canonical/menu/44000EB from :1.229
  (unity-panel-service:29554): Indicator-Appmenu-DEBUG: Creating new windows 
menu: 44000EB, :1.229, /com/canonical/menu/44000EB
  (unity-panel-service:29554): Indicator-Appmenu-DEBUG: Switching to menus from 
XID 71303403
  
  (unity-panel-service:29554): LIBDBUSMENU-GLIB-WARNING **: Getting layout
  failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such
  interface `com.canonical.dbusmenu' on object at path
  /com/canonical/menu/44000EB
  
  If I attach gdb to unity-panel-service, break in register_window and
  then just continue again, window registration works correctly.
  
  What appears to be happening is that applications are calling
  RegisterWindow before the menu object is fully exposed on the bus
  (presumably this only really happens when an application runs events off
  its main loop again), and then indicator-appmenu just gives up.
- Certainly, in the case of Firefox, it is builds the menu and then calls
+ Certainly, in the case of Firefox, it builds the menu and then calls
  RegisterWindow without running any events from the main loop inbetween.
  
  Perhaps indicator-appmenu could handle this a bit more robustly.

** Also affects: indicator-appmenu
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/703689

Title:
  Window registration racy with GDbus port

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

Reply via email to