GVim crashes when opening new tab
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
vim (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
Xenial |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
[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:/
---
When I open new tab using :tabnew command, GVim crashes in unity_gtk_
Steps to reproduce:
1. Run gvim from vim-gtk3 package
2. Type `:tabnew`
3. GVim exits, the window closes
Stack trace obtained via gdb:
mymedia@comp2:~$ gdb -silent --args gvim -f -u /dev/null -U /dev/null --noplugin
Reading symbols from gvim...(no debugging symbols found)...done.
gdb$ run
Starting program: /usr/bin/gvim -f -u /dev/null -U /dev/null --noplugin
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_
[New Thread 0x7fffe986d700 (LWP 11042)]
[New Thread 0x7fffe906c700 (LWP 11043)]
[New Thread 0x7fffe886b700 (LWP 11044)]
(gvim:11038): GLib-CRITICAL **: g_ptr_array_insert: assertion 'index_ <= (gint)rarray->len' failed
** (gvim:11038): CRITICAL **: unity_gtk_
** (gvim:11038): CRITICAL **: unity_gtk_
** (gvim:11038): CRITICAL **: unity_gtk_
** (gvim:11038): CRITICAL **: unity_gtk_
** (gvim:11038): CRITICAL **: unity_gtk_
Thread 1 "gvim" received signal SIGSEGV, Segmentation fault.
unity_gtk_
attributes=
130 ../../.
gdb$ backtrace
#0 0x00007fffe9a82083 in unity_gtk_
#1 0x00007ffff653f23c in g_menu_
#2 0x00007ffff6541070 in g_menu_
#3 0x00007ffff65414be in g_menu_
#4 0x00007fffee607e18 in ffi_call_unix64 () at /usr/lib/
#5 0x00007fffee60787a in ffi_call () at /usr/lib/
#10 0x00007ffff626efaf in <emit signal ??? on instance 0x555556016160 [UnityGtkMenuSe
at ././gobject/
#6 0x00007ffff62547ae in g_cclosure_
#7 0x00007ffff6253f75 in g_closure_invoke (closure=
#8 0x00007ffff6265f82 in signal_
#9 0x00007ffff626ebcc in g_signal_
at ././gobject/
#14 0x00007ffff626efaf in <emit signal ??? on instance 0x555555e7b9c0 [GtkMenu]> (instance=
#11 0x00007ffff6253f75 in g_closure_invoke (closure=
#12 0x00007ffff6265f82 in signal_
l@entry=0, instance=
#13 0x00007ffff626ebcc in g_signal_
at ././gobject/
#15 0x000055555575edef in gui_mch_
#16 0x000055555566c0e0 in ()
#17 0x000055555566c976 in ex_menu ()
#18 0x000055555561e4cf in do_cmdline ()
#19 0x00005555555e7afe in ex_execute ()
#20 0x000055555561e4cf in do_cmdline ()
#21 0x0000555555746879 in call_func ()
#22 0x00005555557472d5 in get_func_tv ()
#23 0x0000555555749d0f in ex_call ()
#24 0x000055555561e4cf in do_cmdline ()
#25 0x0000555555746879 in call_func ()
#26 0x00005555557472d5 in get_func_tv ()
#27 0x0000555555749d0f in ex_call ()
#28 0x000055555561e4cf in do_cmdline ()
#29 0x0000555555639d76 in ()
#30 0x000055555563a5e4 in apply_autocmds ()
#31 0x00005555555c2965 in buflist_new ()
#32 0x000055555560323b in do_ecmd ()
#33 0x00005555556228c4 in do_exedit ()
#34 0x000055555562300b in ex_splitview ()
#35 0x000055555561e4cf in do_cmdline ()
#36 0x0000555555690135 in ()
#37 0x0000555555699b85 in normal_cmd ()
#38 0x0000555555793435 in main_loop ()
#39 0x00005555557945b0 in vim_main2 ()
#40 0x00005555555b7421 in main ()
gdb$ continue
Continuing.
Vim: Caught deadly signal SEGV
Vim: Finished.
Thread 1 "gvim" received signal SIGSEGV, Segmentation fault.
0x00007ffff2d78b17 in kill () at ../sysdeps/
84 ../sysdeps/
gdb$ quit
A debugging session is active.
Inferior 1 [process 11038] will be killed.
Quit anyway? (y or n) y
mymedia@comp2:~$
Versions:
mymedia@comp2:~$ LANG=C gvim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 06 2016 10:03:48)
Included patches: 1-95
Modified by <email address hidden>
Compiled by <email address hidden>
Huge version with GTK3 GUI. Features included (+) or not (-):
+acl +file_in_path +mouse_sgr +tag_old_static
+arabic +find_in_path -mouse_sysmouse -tag_any_white
+autocmd +float +mouse_urxvt +tcl
+balloon_eval +folding +mouse_xterm +termguicolors
+browse -footer +multi_byte +terminfo
++builtin_terms +fork() +multi_lang +termresponse
+byte_offset +gettext -mzscheme +textobjects
+channel -hangul_input +netbeans_intg +timers
+cindent +iconv +num64 +title
+clientserver +insert_expand +packages +toolbar
+clipboard +job +path_extra +user_commands
+cmdline_compl +jumplist +perl +vertsplit
+cmdline_hist +keymap +persistent_undo +virtualedit
+cmdline_info +lambda +postscript +visual
+comments +langmap +printer +visualextra
+conceal +libcall +profile +viminfo
+cryptv +linebreak -python +vreplace
+cscope +lispindent +python3 +wildignore
+cursorbind +listcmds +quickfix +wildmenu
+cursorshape +localmap +reltime +windows
+dialog_con_gui +lua +rightleft +writebackup
+diff +menu +ruby +X11
+digraphs +mksession +scrollbind -xfontset
+dnd +modify_fname +signs +xim
-ebcdic +mouse +smartindent +xpm
+emacs_tags +mouseshape +startuptime +xsmp_interact
+eval +mouse_dec +statusline +xterm_clipboard
+ex_extra +mouse_gpm -sun_workshop -xterm_save
+extra_search -mouse_jsbterm +syntax
+farsi +mouse_netterm +tag_binary
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
defaults file: "$VIMRUNTIME/
system menu file: "$VIMRUNTIME/
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/
Linking: gcc -L. -Wl,-Bsymbolic-
mymedia@comp2:~$ LANG=C apt policy libunity-
libunity-
Installed: 0.0.0+16.
Candidate: 0.0.0+16.
Version table:
*** 0.0.0+16.
500 http://
100 /var/lib/
vim-gtk3:
Installed: 2:8.0.0095-1ubuntu2
Candidate: 2:8.0.0095-1ubuntu2
Version table:
2:8.0.0134-1 200
200 http://
*** 2:8.0.0095-1ubuntu2 500
500 http://
100 /var/lib/
N: Ignoring file '50unattended-
mymedia@comp2:~$ lsb_release -rd
Description: Ubuntu Zesty Zapus (development branch)
Release: 17.04
mymedia@comp2:~$
Sorry for my bad English, this is not my native language, but what else should I provide?
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: vim-gtk3 2:8.0.0095-1ubuntu2
ProcVersionSign
Uname: Linux 4.8.0-30-generic x86_64
ApportVersion: 2.20.4-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Dec 16 22:05:07 2016
ExecutablePath: /usr/bin/vim.gtk3
SourcePackage: vim
UpgradeStatus: No upgrade log present (probably fresh install)
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.