Lotus Notes crashes the app menu

Bug #904275 reported by Tom Ellis
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
AppMenu GTK+
Fix Committed
Undecided
Unassigned
libdbusmenu (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

= Problem =

When running Lotus Notes with the Unity app menu's enabled some sub-menus cause the app menu to crash, which forces a reload of the indicators and app menu. Some menus are also in the wrong order.

= Environment =

* Ubuntu 11.10 (Oneiric) i386
* gir1.2-dbusmenu-gtk-0.4 - 0.5.0-0ubuntu3
* libdbusmenu-gtk3-4 - 0.5.0-0ubuntu3
* libdbusmenu-gtk4 - 0.5.0-0ubuntu3

= Steps to reproduce =

a. Obtain and Install Lotus Notes (proprietary)
1. Open notes and notice that the menus are not in order
2. Click on menus and interact with windows until a blank submenu is present
3. Click on area presented below blank submenu
4. Observe crash

= Additional Information =

Lotus Notes is an Eclipse based Rich Client Platform (RCP) application, a number of bugs were fixed for these applications in the Ubuntu 11.10 (Oneiric) development cycle (menus did not work at all). This bug may affect all RCP apps.

The previous bugs were bug 770263 and bug 618587 which are now fixed, this bug is about the behavior following those fixes.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: libdbusmenu-gtk3-4 0.5.0-0ubuntu3
ProcVersionSignature: Ubuntu 3.0.0-14.23-generic 3.0.9
Uname: Linux 3.0.0-14-generic i686
ApportVersion: 1.23-0ubuntu4
Architecture: i386
Date: Wed Dec 14 13:53:32 2011
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: libdbusmenu
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Tom Ellis (tellis) wrote :
Revision history for this message
Tom Ellis (tellis) wrote :

Attached an image of what the menu ordering looks like when not using the appmenu, ie the expected order.

Revision history for this message
Tom Ellis (tellis) wrote :

I created a video to demonstrate the ordering issue and crash:
http://people.canonical.com/~trellis/lp904275/notes-appmenu.ogv

* 0:40 - Ordering problem is visible, compare it with notes-menu-blacklisted1.png. Note that the "edit" menu is never visible.
* 1:48 - First crash about to occur by clicking around blank sub-menu
* 1:55 - The menu is now in the correct order, until the menus are refreshed by opening another window
* 2:30 - Another crash, it seems like the blank sub-menus appear when a new window refreshes the menu items?

Revision history for this message
Tom Ellis (tellis) wrote :

I've noted that the code in the fix for bug 770263 has a comment:

"Some apps (notably Eclipse RCP apps) don't fill contents of submenus until the menu is shown. So we fake that by toggling the visibility of any submenus we come across. Further, these apps need it done with a delay while they finish initializing, so we put the call in the idle queue."

It may be that due to the wait for the sub-menus to initialise there is a timing/race and clicking on that area causes the crash? and/or that as a consequence the menus do not order correctly.

Revision history for this message
Tom Ellis (tellis) wrote :

I also see the following initial errors appear when launching from a terminal:
(Lotus Notes:333): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion `GTK_IS_MENU_SHELL(menu)' failed

When I enter a menu that is missing its sub-menus I see:
(Lotus Notes:333): LIBDBUSMENU-GLIB-WARNING **: About to Show called on an item wihtout submenus. We're ignoring it.

Revision history for this message
Tom Ellis (tellis) wrote :

When the crash occurs I see the following in dmesg:
[16510.032982] unity-panel-ser[30664]: segfault at bf79cfdc ip 00323d35 sp bf79cfe0 error 6 in libgobject-2.0.so.0.3000.0[2ef000+4d000]
[16802.928885] unity-panel-ser[469]: segfault at bf733ff4 ip 007e7d73 sp bf733fdc error 6 in libpthread-2.13.so[7df000+17000]
[16840.433899] unity-panel-ser[547]: segfault at bf33efec ip 00a43fbb sp bf33eff0 error 6 in libglib-2.0.so.0.3000.0[a2d000+f7000]

Revision history for this message
Tom Ellis (tellis) wrote :

I think the best solution for 12.04 is to blacklist Lotus Notes from the appmenu. I've proposed a patch to do this in appmenu-gtk.

After 12.04, I think we need to do some further testing on the most popular Eclipse/RCP based apps to uncover any underlying bugs like this one.

Changed in libdbusmenu (Ubuntu):
status: New → Confirmed
Michael Terry (mterry)
Changed in appmenu-gtk:
status: New → Fix Committed
Revision history for this message
WenLong FENG (fengwl) wrote :

Hi Tom, I'm not sure how would you blacklist Lotus Notes from the appmenu, but I provide more details in case you need.
The real executable binary launcher should be called "notes" and some organization add an wrapper which set env before launch it, and may add the wrapper named as "notes.bin", so please make sure the "notes" will be considered, thanks.

Revision history for this message
Tom Ellis (tellis) wrote :

Hi WenLong Feng,
I have already written and tested the patches to do this and it works well from my testing.

I know some people already run Notes with an environment variable that achieves the same behaviour: UBUNTU_MENUPROXY=0
The above option was required in Ubuntu 11.10 (Natty) since Eclipse RCP menus were not well supported. In Ubuntu 11.10 (Oneiric) they are working but for Lotus Notes I noticed it would crash.
See video above for more details.

Running it in a wrapper script does not affect it as it uses gtk g_get_prgname, however in this case I noticed that it didn't work as "notes.bin" and would only work with "Lotus Notes".

I am just building a test package for you to be able to see this behaviour in Ubuntu 11.10 (Oneiric), in 24 hrs you should be able to test it using:
$ sudo apt-add-repository ppa:tellis/generic
$ sudo apt-get update
$ sudo apt-get install appmenu-gtk appmenu-gtk3

I would really appreciate your testing to confirm the fix, I have tested quite thoroughly and it works well for me.

Revision history for this message
WenLong FENG (fengwl) wrote :

Hi Tom,
Thanks for your quick response, our tester will confirm it.
And IBM may like to get your solution for the root cause when it is ready, as you know utilizing native behavior is end-user's basic requirement and a black-list solution may not make them happy :-)

Revision history for this message
WenLong FENG (fengwl) wrote :

For IBM lotus products, we have an office suite named "symphony" which is also eclipse based, could we also add it into the blacklist, thanks.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.