Merge ~jbenden/ubuntu/+source/vim:ubuntu/xenial-updates into ~usd-import-team/ubuntu/+source/vim:ubuntu/xenial-updates
| Status: | Needs review | ||||
|---|---|---|---|---|---|
| Proposed branch: | ~jbenden/ubuntu/+source/vim:ubuntu/xenial-updates | ||||
| Merge into: | ~usd-import-team/ubuntu/+source/vim:ubuntu/xenial-updates | ||||
| Diff against target: |
104 lines (+82/-0) 3 files modified
debian/changelog (+10/-0) debian/patches/series (+1/-0) debian/patches/ubuntu-vim-gh-issue-851.patch (+71/-0) |
||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Nish Aravamudan | 2017-08-25 | Needs Information on 2017-08-28 | |
|
Review via email:
|
|||
Description of the Change
[Impact]
A severe regression has been found in the GTK 3 variant of Gvim.
Upon start-up, it crashes immediately with multiple failed
assertions.
A second related, but less severe problem may occur when opening
new tabs within the GTK 3 variant of Gvim.
[Test Case]
Please note that in the following test cases, a given machine may
experience either of the test cases, while being unable to
experience the other test case. Please do /not/ discount
the merits of this SRU on being able to only confirm a single
test case, but not both.
This patch equally corrects both test cases listed below, to
produce a working GTK 3 Gvim variant.
IMPORTANT: Both test cases below require the package "vim-gtk3"
to be installed, prior to testing for either test case's
impact to one's machine.
[[TEST CASE #1]]
1. From a terminal window, launch the GTK 3 variant of Gvim:
$ vim.gtk3
2. Immediately upon launch (whereby the window may or may
not briefly display); the terminal window will show error
messages relating to `unity_gtk_menu_*` critical
assertions.
A full example of the experienced error output shown is:
```
(gvim:13519): GLib-CRITICAL **: g_ptr_array_insert: assertion 'index_ <= (gint)rarray->len' failed
** (gvim:13519): CRITICAL **: unity_gtk_
** (gvim:13519): CRITICAL **: unity_gtk_
** (gvim:13519): CRITICAL **: unity_gtk_
** (gvim:13519): CRITICAL **: unity_gtk_
** (gvim:13519): CRITICAL **: unity_gtk_
```
[[TEST CASE #2]]
1. From a terminal window, launch the GTK 3 variant of Gvim:
$ vim.gtk3
2. Upon the window opening, attempt to open a new tab by entering
the key sequences "<ESC>:tabnew" and pressing <ENTER>. The
program should now SEGV and abort.
[Regression Potential]
* The bug is possibly applicable to all later Ubuntu releases,
which combine Unity and GTK 3.
* The upstream Vim project has not incorporated the fix, and
most likely will not. The specifics behind the fix might
be construed as too specific to the combination of Ubuntu,
Unity, and GTK 3; and not general enough to patch for all
downstream distributions.
[Other Info]
* Further information about this bug is available at the URLs:
https:/
https:/
| Nish Aravamudan (nacc) wrote : | # |
| Nish Aravamudan (nacc) wrote : | # |
Hello Joseph,
Your changes seem good and pass our linting. Thank you very much!
I'm happy to sponsor your changes, but can you please first update the bug with the SRU template from https:/
| Joseph Benden (jbenden) wrote : | # |
I tested with Artful and the problem does not occur, with the default desktop (Ubuntu-branded GNOME 3).
| Nish Aravamudan (nacc) wrote : | # |
Joseph,
Just an FYI, I meant for you to update the bug with the SRU template. I'll copy it over there.
| Nish Aravamudan (nacc) wrote : | # |
Joseph,
As part of the SRU, we need to know if a similar fix is needed in Artful, or if the issues are not reproducible there to begin with. Are you able to confirm this?
| Nish Aravamudan (nacc) wrote : | # |
And finally, while not necessarily super important (because of the nature of how these git merges get sponsored), it is preferred to target the 'devel' branches. The other branches are there primarily for archaeology. In this case, it's fine, because xenial-updates and xenial-devel are at the same commit, but for your own sanity in the future, you'd want to target xenial-devel.
| Joseph Benden (jbenden) wrote : | # |
I do not believe that Artful needs a similar patch; due to Unity being replaced by GNOME 3.
| Nish Aravamudan (nacc) wrote : | # |
On Mon, Aug 28, 2017 at 3:37 PM, Joseph Benden <email address hidden> wrote:
> I do not believe that Artful needs a similar patch; due to Unity being replaced by GNOME 3.
Unfortunately the default (GNOME) is irrelevant. Unity is still
available (unity7 from unity) in 17.10 and it would be preferred that
we test that setup (in 17.10, unity is now in universe not main, but
it's still an Ubuntu package). Are you able to set up a VM with that
configuration by any chance? If not, I can try later this week.
| Joseph Benden (jbenden) wrote : | # |
Due to concerns with DE conflict, I am proposing a slight patch change.
The detection of the GTK version identifier is useful (as it fixes the problem); however, the DE may actually be GNOME, which means that the patch is currently non-sufficient because it will interfere with non-Unity DE's using GTK 3.
I am proposing to check the XDG_CURRENT_DESKTOP env var for being equal to `Unity` as a test for Unity running.
Does this sound more reasonable? In the meantime I will produce an updated patch to this merge request for analysis/review.
| Jeremy Bicha (jbicha) wrote : | # |
In Ubuntu 17.04, XDG_CURRENT_DESKTOP is set to something like Unity7:Unity so you'd want to check if it contains Unity not if it equals Unity. (If that's the approach you end up taking.)
| Jeremy Bicha (jbicha) wrote : | # |
Also, before fixing on 16.04 LTS, it needs to be fixed in any newer supported releases (like 17.04).
- f7ac6ed... by Joseph Benden on 2017-08-30
| Joseph Benden (jbenden) wrote : | # |
I have updated the patch to include Unity DE detection, thereby ensuring the patches side-effects are only applied when ran within the Unity DE.
I have tested these changes on Xubuntu 16.04 and Ubuntu 16.04.
| Joseph Benden (jbenden) wrote : | # |
I have proposed a merge in Artful at:
https:/
Unmerged commits
- f7ac6ed... by Joseph Benden on 2017-08-30
- da4ef25... by Joseph Benden on 2017-08-24


$ git ubuntu lint --verbose jbenden/ ubuntu/ xenial- updates work/imports/ vim/.git/ info/attributes work/imports/ vim/.git/ info/attributes work/imports/ vim/.git/ info/attributes gelog -l- -SSource" gelog -l- -SDistribution" gelog -l- -n1 -SVersion" gelog -l- -n1 -o1 -SVersion" ubuntu/ xenial- updates ubuntu/ xenial- updates fc835b544c1a87d 832cef9b91
08/25/2017 14:34:53 - DEBUG:Executing: git config gitubuntu.lpuser
08/25/2017 14:34:53 - DEBUG:Executing: grep -q "* -ident" /home/nacc/
08/25/2017 14:34:53 - DEBUG:Executing: grep -q "* -text" /home/nacc/
08/25/2017 14:34:53 - DEBUG:Executing: grep -q "* -eol" /home/nacc/
08/25/2017 14:34:53 - DEBUG:Executing: git config gitubuntu.lpuser
08/25/2017 14:34:53 - DEBUG:Executing: sh -c "dpkg-parsechan
08/25/2017 14:34:53 - DEBUG:Executing: sh -c "dpkg-parsechan
Verified that only new modifications to changelog are top-most additions
08/25/2017 14:35:19 - DEBUG:Executing: sh -c "dpkg-parsechan
08/25/2017 14:35:19 - DEBUG:Executing: sh -c "dpkg-parsechan
Verified that debian/changelog version is as expected
08/25/2017 14:35:19 - DEBUG:Executing: git checkout jbenden/
08/25/2017 14:35:20 - DEBUG:Executing: update-maintainer
08/25/2017 14:35:20 - DEBUG:Executing: git --work-tree . add -f -A
08/25/2017 14:35:20 - DEBUG:Executing: git --work-tree . write-tree
08/25/2017 14:35:20 - DEBUG:Executing: git clean -f -d
08/25/2017 14:35:20 - DEBUG:Executing: git reset --hard jbenden/
08/25/2017 14:35:20 - DEBUG:Executing: git checkout edf5ebbb332805c
Verified that update-maintainer has been run
All lint checks passed