VS Code crashes Vala Appmenu

Bug #1930615 reported by Ben Reaves
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
vala-panel-appmenu (Ubuntu)
Triaged
Medium
fossfreedom
Focal
Fix Released
Medium
fossfreedom
Groovy
Fix Released
Medium
fossfreedom

Bug Description

[Impact]

 The appmenu provides a in-panel global menu implementation for a number of desktop environments.

 With QT apps such as VSCode, performing certain functions makes the appmenu produce a segmentation fault. Under Budgie, the panel restarts - and does cause the whole user session to be restarted. Under XFCE a dialog is displayed indicating that the appmenu has crashed.

 This upload backports a series of upstream patches designated by the maintainer as a resolution of this issue (https://gitlab.com/vala-panel-project/vala-panel-appmenu/-/issues/327)

 This occurs with the v0.7.3 series of appmenu uploaded to focal and groovy. v0.7.6 that is included with hirsute already contains the fixes.

  In addition whilst developing this patch it was found that the package itself FTBFS. A patch from upstream is included to resolve this issue.

[Test Plan]

 * If using the snap version of vscode, start vscode and observe the menu in the panel. Click on the panel menu option. If using Budgie, observe that the panel restarts i.e. crashes. If using XFCE observe a dialog displayed indicating a crash.

 * If using the deb version of vscode, start vscode and observe the menu in the panel. Click on the File menu and attempt to open a folder. If using Budgie, bbserve that the panel restarts i.e. crashes. If using XFCE observe a dialog displayed indicating a crash.

 * Next enable the proposed repository and install the following package:
   For budgie-desktop budgie-appmenu-applet
   For mate-desktop mate-applet-appmenu
   For xfce-desktop xfce4-appmenu-plugin

 * Logout and login
 * Repeat the vscode tests above - note this time that the panel crash actions do not occur.
 * Next confirm that no additional panel instabilities occur with the following application types
   Libreoffice
   Gtk based game such as Aislerot (solitaire) that do have menus
   CSD based apps such as GNOME Calculator that dont have global menu support
   Try a broad range of apps found on your desktop menu.

[Where problems could occur]

 * Any potential issues with this upload is strictly limited to the package itself - there will be no regression in any other components since the package (per desktop) is self contained.
 * As to the package itself - I suppose the worse case scenario is that not all the patches have been identified and cherry-picked and potentially there could be a further regression causing panel instability.
 * To mitigate this I have carefully reviewed the commits released since 0.7.3 was released by upstream and I haven't identified any commits specifically in this area of code that has been patched.
 * The worse case scenario is that the global menu for a users desktop will have to be removed by the user if any additional regressions are identified over and beyond the issues being fixed.
 * Additional mitigation of the risks are the additional regression tests added to the test plan to cover a broader range to application types beyond the Qt apps crash issue being fixed.

[Other Info]

 * N/A

----

$lsb_release -rd
Description: Ubuntu 20.04.2 LTS
Release: 20.04

Opening VS Code, particularly folders, causes the Vala-panel-appmenu to have segment fault on xfce4 and in the case of Budgie ends the entire user session as the budgie-panel cannot handle it. Backporting commits from 0.7.5 into the current release appears to fix the issue, I believe fossfreedom also backported another commit to aid in building the source properly.

The crash log of Budgie-panel caused by vala-panel-appmenu has been attached.

https://launchpad.net/~ubuntubudgie-dev/+archive/ubuntu/appmenu

diff patch
https://launchpad.net/~ubuntubudgie-dev/+archive/ubuntu/appmenu/+files/vala-panel-appmenu_0.7.3+dfsg1-2_0.7.3+dfsg1-2ubuntu1~ppa1.diff.gz

More information can be found here
https://github.com/UbuntuBudgie/budgie-desktop/issues/68#issuecomment-852748452
https://github.com/solus-project/budgie-desktop/issues/2112
https://gitlab.com/vala-panel-project/vala-panel-appmenu/-/issues/347
https://github.com/microsoft/vscode/issues/125012
https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/498

Revision history for this message
Ben Reaves (rbreaves) wrote :
description: updated
description: updated
Ben Reaves (rbreaves)
description: updated
Ben Reaves (rbreaves)
summary: - VS Code crashes Vala Appmenu
+ VS Code crashes Vala Appmenu - patch included
description: updated
Revision history for this message
fossfreedom (fossfreedom) wrote (last edit ): Re: VS Code crashes Vala Appmenu - patch included

I'll tidy up the patch and will submit it for consideration for the stable release series.

Note - a patch will be needed for both 20.04 and 20.10 since vala-panel-appmenu is similar (but not quite the same)

Hirsute is not impacted since the upstream fixes are in the hirsute release.

Changed in vala-panel-appmenu (Ubuntu):
importance: Undecided → Medium
assignee: nobody → fossfreedom (fossfreedom)
Changed in vala-panel-appmenu (Ubuntu Groovy):
importance: Undecided → Medium
assignee: nobody → fossfreedom (fossfreedom)
Changed in vala-panel-appmenu (Ubuntu Focal):
assignee: nobody → fossfreedom (fossfreedom)
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in vala-panel-appmenu (Ubuntu Focal):
status: New → Confirmed
Changed in vala-panel-appmenu (Ubuntu Groovy):
status: New → Confirmed
Changed in vala-panel-appmenu (Ubuntu):
status: New → Confirmed
Changed in vala-panel-appmenu (Ubuntu):
status: Confirmed → Triaged
summary: - VS Code crashes Vala Appmenu - patch included
+ VS Code crashes Vala Appmenu
description: updated
description: updated
description: updated
Revision history for this message
fossfreedom (fossfreedom) wrote :

Please find the debdiff for the focal upload. My Ubuntu Budgie maintainer rights for some reason don't allow me to upload to focal. However they do allow me to upload to groovy. Not sure why.

The package tested is built and tested in our unstable PPA

https://launchpad.net/~ubuntubudgie-dev/+archive/ubuntu/unstable-test/+packages

Changed in vala-panel-appmenu (Ubuntu Groovy):
status: Confirmed → In Progress
tags: added: patch
Revision history for this message
Brian Murray (brian-murray) wrote (last edit ):

@fossfreedom I'd get in touch with a member of the DMB if you can't upload to focal. Having said that I've gone ahead and sponsored this.

Changed in vala-panel-appmenu (Ubuntu Groovy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Ben, or anyone else affected,

Accepted vala-panel-appmenu into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/vala-panel-appmenu/0.7.3.2+dfsg1-1ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Ben, or anyone else affected,

Accepted vala-panel-appmenu into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/vala-panel-appmenu/0.7.3+dfsg1-2ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in vala-panel-appmenu (Ubuntu Focal):
status: Confirmed → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Jacob Vlijm (vlijm) wrote (last edit ):

Tested 0.7.3+dfsg1-2ubuntu0.1 on Focal. Then opened VSCode, opened a directory (using global menu). Now the panel stays fine.

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
fossfreedom (fossfreedom) wrote :

Tested 0.7.3.2+dfsg1-1ubuntu0.1 on Groovy. Installed deb version of VSCode, opened a folder. Panel OK. Opened libreoffice - global menu invoked various options ok. Switched back to VSCode - all ok. Tried Aislerot, GNOME Calculator, Suduko. All ok.

Suggest this is verified ok.

tags: added: verification-done verification-done-groovy
removed: verification-needed verification-needed-groovy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package vala-panel-appmenu - 0.7.3+dfsg1-2ubuntu0.1

---------------
vala-panel-appmenu (0.7.3+dfsg1-2ubuntu0.1) focal; urgency=medium

  * Resolve segfault crash issues with apps like VSCode
    patches:
    0001-importer-small-fixes.patch
    0001-importer-process-events-after-layout-parse.-For-327.patch
    0001-importer-new-internal-layout.-Fixes-327.patch
    (LP: #1930615)
  * Resolve FTBFS due to mismatched xfce vapi
    0001-vapi-fix-libxfce4panel-vapi.patch

 -- David Mohammed <email address hidden> Tue, 01 Jun 2021 22:30:55 +0100

Changed in vala-panel-appmenu (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote : Update Released

The verification of the Stable Release Update for vala-panel-appmenu has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package vala-panel-appmenu - 0.7.3.2+dfsg1-1ubuntu0.1

---------------
vala-panel-appmenu (0.7.3.2+dfsg1-1ubuntu0.1) groovy; urgency=medium

  * Resolve segfault crash issues with apps like VSCode
    patches:
    0001-importer-small-fixes.patch
    0001-importer-process-events-after-layout-parse.-For-327.patch
    0001-importer-new-internal-layout.-Fixes-327.patch
    (LP: #1930615)

 -- David Mohammed <email address hidden> Thu, 03 Jun 2021 22:04:54 +0100

Changed in vala-panel-appmenu (Ubuntu Groovy):
status: Fix Committed → Fix Released
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.