[vim/vim] gvim menu items do not work on remote x11 (#1187)

74 views
Skip to first unread message

Steven Fusco

unread,
Oct 20, 2016, 3:44:10 PM10/20/16
to vim/vim

repro steps

  • install gvim 8.0 on remote archlinux server
  • ssh into remote archlinux server using x11 forwarding
  • gvim a file on the remote server
  • notice that the top menu with File / Edit / Tools does not render anything

system info

⎆ archey3

               +                OS: Arch Linux x86_64
               #                Hostname: arch64.dev
              ###               Kernel Release: 4.8.2-1-ARCH
             #####              Uptime: 2:14
             ######             WM: None
            ; #####;            DE: None
           +##.#####            Packages: 526
          +##########           RAM: 174 MB / 7988 MB
         #############;         Processor Type: Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz
        ###############+        $EDITOR: vim
       #######   #######        Root: 16G / 491G (3%) (ext4)
     .######;     ;###;`".
    .#######;     ;#####.
    #########.   .########`
   ######'           '######
  ;####                 ####;
  ##'                     '##
 #'                         `#

⎆ gvim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 26 2016 10:00:18)
Included patches: 1-13
Compiled by Arch Linux
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/dyn
+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/dyn        +vertsplit
+cmdline_hist    +keymap          +persistent_undo +virtualedit
+cmdline_info    +lambda          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       +python/dyn      +vreplace
+cscope          +lispindent      +python3/dyn     +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con_gui  +lua/dyn         +rightleft       +writebackup
+diff            +menu            +ruby/dyn        +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: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lieee -lm

⎆ pacman -Q
acl 2.2.52-2
adwaita-icon-theme 3.22.0-1
alsa-lib 1.1.2-1
apache 2.4.23-1
apr 1.5.2-1
apr-util 1.5.4-2
archey3 0.5-4
archlinux-keyring 20160812-1
at-spi2-atk 2.22.0-1
at-spi2-core 2.22.0-1
atk 2.22+1+gd57f97d-1
atool 0.39.0-4
attr 2.4.47-1
autoconf 2.69-4
automake 1.15-2
avahi 0.6.32-2
bash 4.3.046-1
bc 1.06.95-2
bind-tools 9.11.0-2
binutils 2.27-1
bison 3.0.4-2
bluez-libs 5.42-1
boost 1.61.0-2
boost-libs 1.61.0-2
bridge-utils 1.6-1
brltty 5.4-2
busybox 1.25.1-1
bzip2 1.0.6-5
ca-certificates 20160507-1
ca-certificates-cacert 20140824-3
ca-certificates-mozilla 3.26-1
ca-certificates-utils 20160507-1
cadaver 0.23.3-7
cairo 1.14.6-2
cargo-bin 20150915-1
cdparanoia 10.2-5
cdrkit 1.1.11-3
celt0.5.1 0.5.1.3-3
clang 3.8.1-1
clang-tools-extra 3.8.1-1
cmake 3.6.2-2
cmark 0.26.1-1
colord 1.3.3-1
compositeproto 0.4.2-3
confuse 2.8-2
coreutils 8.25-2
cracklib 2.9.6-1
cryptsetup 1.7.2-1
ctags 5.8-5
curl 7.50.3-1
cython 0.24.1-1
damageproto 1.2.1-3
db 5.3.28-3
dbus 1.10.10-3
dbus-glib 0.106-1
dconf 0.26.0-2
desktop-file-utils 0.23-1
device-mapper 2.02.166-1
dhcpcd 6.11.3-1
diffutils 3.5-1
dmenu 4.6-1
dnssec-anchors 20150403-1
dos2unix 7.3.4-1
dstat 0.7.3-2
e2fsprogs 1.43.3-1
elfutils 0.167-1
erlang-nox 19.1.1-1
espeak 1.48.04-2
expat 2.2.0-2
fakeroot 1.21-2
file 5.28-1
filesystem 2015.09-1
findutils 4.6.0-2
fish 2.3.1-1
fixesproto 5.0-3
flac 1.3.1-3
flex 2.6.1-1
fontconfig 2.12.1-3
fontsproto 2.1.3-1
freetds 1.00.15-1
freetype2 2.7-2
gawk 4.1.4-1
gc 7.6.0-1
gcc 6.2.1-1
gcc-libs 6.2.1-1
gd 2.2.3-3
gdbm 1.12-2
gdk-pixbuf2 2.36.0+2+ga7c869a-1
geoclue 0.12.99-2
geoip 1.6.6-2
geoip-database 20161004-1
gettext 0.19.8.1-2
giflib 5.1.4-1
git 2.10.0-1
glib-networking 2.50.0-1
glib2 2.50.1-1
glibc 2.24-2
gmp 6.1.1-1
gnu-netcat 0.7.1-6
gnupg 2.1.15-1
gnuplot 5.0.4-2
gnutls 3.4.16-1
go 2:1.7.1-1
godep 2:74-1
gpgme 1.6.0-3
gpm 1.20.7-7
graphite 1:1.3.8-1
grep 2.26-1
groff 1.22.3-7
grub 1:2.02.beta3-3
gsettings-desktop-schemas 3.22.0+1+g6f52ab5-1
gst-plugins-base 1.9.90+12+g667931e-1
gst-plugins-base-libs 1.9.90+12+g667931e-1
gstreamer 1.9.90+8+g6d0d350-1
gstreamer0.10 0.10.36-4
gstreamer0.10-base 0.10.36-3
gtest 1.8.0-1
gtk-update-icon-cache 3.22.1+8+ge11df6c-2
gtk2 2.24.31-1
gtk3 3.22.1+8+ge11df6c-2
guile 2.0.13-1
gvim 8.0.0013-1
gzip 1.8-2
harfbuzz 1.3.2-1
hicolor-icon-theme 0.15-1
highlight 3.32-1
htop 2.0.2-1
http-parser 2.7.1-1
hwids 20160801-1
i3-wm 4.12-1
i3status 2.10-1
iana-etc 20160927-1
icu 57.1-1
idnkit 1.0-3
indent 2.2.11-4
inetutils 1.9.4-4
inputproto 2.3.2-1
iproute2 4.8.0-1
iptables 1.6.0-1
iputils 20160308.0db72a4-1
jack 0.125.0-1
jansson 2.9-1
jasper 1.900.5-1
java-environment-common 2-2
java-runtime-common 2-2
jdk8-openjdk 8.u102-1
jemalloc 4.2.1-1
jfsutils 1.1.15-4
jre8-openjdk 8.u102-1
jre8-openjdk-headless 8.u102-1
jruby 9.1.5.0-1
js17 17.0.0-3
jshon 20131105-1
json-c 0.12.1-1
json-glib 1.2.2+4+gd725fb5-1
jsoncpp 1.7.7-1
kbd 2.0.3-1
kbproto 1.0.7-1
keyutils 1.5.9-1
kmod 23-1
krb5 1.13.4-1
lcms2 2.8-1
ldns 1.6.17-4
less 481-2
libaio 0.3.110-1
libarchive 3.2.1-2
libassuan 2.4.3-1
libasyncns 0.8+3+g68cd5af-1
libatomic_ops 7.4.4-1
libcacard 2.5.2-1
libcap 2.25-1
libcap-ng 0.7.8-1
libcroco 0.6.11-1
libcups 2.2.1-1
libdaemon 0.14-3
libdatrie 0.2.10-1
libdrm 2.4.71-1
libedit 20160903_3.1-1
libelf 0.167-1
libepoxy 1.3.1-1
libev 4.22-1
libevdev 1.5.4-1
libevent 2.0.22-2
libffi 3.2.1-2
libfontenc 1.1.3-1
libgcrypt 1.7.3-1
libgit2 1:0.24.2-1
libgpg-error 1.24-1
libgudev 230-1
libgusb 0.2.9-1
libice 1.0.9-1
libidn 1.33-1
libinput 1.5.0-1
libjpeg-turbo 1.5.1-1
libksba 1.3.4-2
libldap 2.4.44-2
libmariadbclient 10.1.18-1
libmediainfo 0.7.89-1
libmms 0.6.4-1
libmnl 1.0.4-1
libmpc 1.0.3-2
libnfs 1.11.0-1
libnftnl 1.0.6-1
libnl 3.2.28-1
libogg 1.3.2-1
libomxil-bellagio 0.9.3-1
libpcap 1.7.4-1
libpciaccess 0.13.4-1
libpgm 5.2.122-2
libpipeline 1.4.1-1
libpng 1.6.25-1
libproxy 0.4.12-2
libpulse 9.0-1
librsvg 2:2.40.16-1
libsamplerate 0.1.9-1
libsasl 2.1.26-8
libseccomp 2.3.1-1
libsecret 0.18.5-1
libsm 1.2.2-2
libsndfile 1.0.27-1
libsodium 1.0.11-1
libsoup 2.56.0-1
libssh2 1.7.0-2
libsystemd 231-4
libtasn1 4.9-2
libthai 0.1.24-1
libtheora 1.1.1-3
libtiff 4.0.6-2
libtirpc 1.0.1-2
libtool 2.4.6-6
libtxc_dxtn 1.0.1-6
libunistring 0.9.6-2
libunwind 1.1-3
libusb 1.0.20-1
libutil-linux 2.28.2-1
libuv 1.9.1-1
libvisual 0.4.0-6
libvorbis 1.3.5-1
libvpx 1.6.0-2
libwacom 0.22-1
libwebp 0.5.1-1
libx11 1.6.4-1
libxau 1.0.8-2
libxaw 1.0.13-1
libxcb 1.12-1
libxcomposite 0.4.4-2
libxcursor 1.1.14-2
libxdamage 1.1.4-2
libxdmcp 1.1.2-1
libxext 1.3.3-1
libxfixes 5.0.3-1
libxfont 1.5.2-1
libxft 2.3.2-1
libxi 1.7.7-1
libxinerama 1.1.3-2
libxkbcommon 0.6.1-1
libxkbcommon-x11 0.6.1-1
libxkbfile 1.0.9-1
libxml2 2.9.4+4+g3169602-1
libxmu 1.1.2-1
libxpm 3.5.11-1
libxrandr 1.5.1-1
libxrender 0.9.10-1
libxshmfence 1.2-1
libxslt 1.1.29-1
libxss 1.2.2-2
libxt 1.1.5-1
libxtst 1.2.3-1
libxv 1.0.11-1
libxxf86vm 1.1.4-1
libyaml 0.1.7-1
libzen 0.4.33-1
libzip 1.1.3-1
licenses 20140629-1
linux 4.8.2-1
linux-api-headers 4.7-1
linux-firmware 20161005.9c71af9-1
linux-headers 4.8.2-1
llvm-libs 3.8.1-1
lm_sensors 3.4.0-1
logrotate 3.10.0-1
lua 5.3.3-1
lua52 5.2.4-1
lvm2 2.02.166-1
lz4 131-2
lzo 2.09-1
m4 1.4.17-2
make 4.2.1-1
man-db 2.7.5-4
man-pages 4.08-1
mariadb 10.1.18-1
mariadb-clients 10.1.18-1
mdadm 3.4-1
mediainfo 0.7.89-1
memcached 1.4.31-1
mercurial 3.9.2-1
mesa 12.0.3-3
mesa-libgl 12.0.3-3
miller-git 20150817-1
mkinitcpio 21-1
mkinitcpio-busybox 1.24.2-1
moreutils 0.60-1
mpfr 3.1.5-1
mtdev 1.1.5-1
nano 2.7.0-1
nasm 2.11.08-2
ncurses 6.0-4
neon 0.30.1-2
net-tools 1.60.20160710git-1
netctl 1.12-2
nettle 3.3-1
nginx 1.10.1-1
nmap 7.30-1
nodejs 6.9.1-1
npm 3.10.8-1
npth 1.2-1
nspr 4.12-1
nss 3.26-1
numactl 2.0.11-1
openresolv 3.8.1-1
openssh 7.3p1-2
openssl 1.0.2.j-1
opus 1.1.3-2
orc 0.4.26-1
p11-kit 0.23.2-1
p4 2016.1.1411799-1
pacman 5.0.1-4
pacman-mirrorlist 20161013-1
pam 1.3.0-1
pambase 20130928-1
pandoc 1.17.2-13
pango 1.40.3-1
patch 2.7.5-1
pciutils 3.5.1-1
pcmciautils 018-7
pcre 8.39-1
pcre2 10.22-1
perl 5.24.0-2
perl-anyevent 4:7.13-1
perl-anyevent-i3 0.16-2
perl-canary-stability 2012-1
perl-common-sense 3.74-1
perl-dbd-mysql 4.037-1
perl-dbi 1.636-2
perl-error 0.17024-1
perl-io-tty 1.12-3
perl-ipc-run 0.94-1
perl-json-xs 3.02-3
perl-time-duration 1:1.20-1
perl-timedate 2.30-2
perl-types-serialiser 1.0-1
php 7.0.12-1
php-apache 7.0.12-1
php-cgi 7.0.12-1
php-dblib 7.0.12-1
php-docs 7.0.1-1
php-geoip 1.1.1-1
php-memcache 3.0.8-4
php-tidy 7.0.12-1
pinentry 0.9.7-3
pixman 0.34.0-1
pkg-config 0.29.1-2
polkit 0.113-4
popt 1.16-8
portaudio 19_20140130-3
powerline 2.5-1
powerline-common 2.5-1
powerline-fonts 2.5-1
prips 0.9.9-1
procps-ng 3.3.12-1
protobuf 2.6.1-2
psmisc 22.21-3
pth 2.0.7-5
pv 1.6.0-2
pygmentize 2.1.3-1
python 3.5.2-1
python-appdirs 1.4.0-4
python-cffi 1.8.3-1
python-packaging 16.7-1
python-pip 8.1.2-1
python-ply 3.9-1
python-powerline 2.5-1
python-psutil 4.3.1-1
python-pycparser 2.14-2
python-pygit2 0.24.1-1
python-pygments 2.1.3-1
python-pyparsing 2.1.10-1
python-setuptools 1:28.6.1-1
python-six 1.10.0-2
python-unidecode 0.04.19-2
python2 2.7.12-1
python2-appdirs 1.4.0-4
python2-packaging 16.7-1
python2-pip 8.1.2-1
python2-pyparsing 2.1.10-1
python2-setuptools 1:28.6.1-1
python2-six 1.10.0-2
q 1.5.0-1
qemu 2.7.0-2
qemu-arch-extra 2.7.0-2
qt5-base 5.7.0-3
qt5-declarative 5.7.0-3
qt5-location 5.7.0-1
qt5-sensors 5.7.0-1
qt5-svg 5.7.0-1
qt5-tools 5.7.0-2
qt5-translations 5.7.0-1
qt5-webchannel 5.7.0-1
qt5-webkit 5.7.0-1
qt5-xmlpatterns 5.7.0-2
rabbitmq 3.6.5-1
randrproto 1.5.0-1
ranger 1.7.2-1
readline 6.3.008-4
recordproto 1.14.2-2
reiserfsprogs 3.6.25-1
renderproto 0.11.1-3
rest 0.8.0-1
rsync 3.1.2-1
ruby 2.3.1-1
rust-nightly 1.4.0_2015.09.11-1
rxvt 2.7.10-7
rxvt-unicode 9.22-2
rxvt-unicode-terminfo 9.22-2
s-nail 14.8.12-1
scrnsaverproto 1.2.2-2
sdl 1.2.15-7
sdl2 2.0.4-2
seabios 1.9.3-1
sed 4.2.2-4
semver 5.3.0-1
serf 1.3.8-2
shadow 4.2.1-3
shared-mime-info 1.7-1
snappy 1.1.3-2
spice 0.12.8-1
sqlite 3.15.0-1
startup-notification 0.12-4
subversion 1.9.4-1
sudo 1.8.18-1
sysfsutils 2.1.0-9
sysstat 11.4.0-1
systemd 231-4
systemd-sysvcompat 231-4
tar 1.29-1
tcl 8.6.6-1
tcpdump 4.7.4-1
terminus-font 4.40-2
termite 12-1
termite-terminfo 12-1
texinfo 6.3-1
the_silver_searcher 0.33.0-1
thin-provisioning-tools 0.6.3-1
tidy 5.2.0-1
tk 8.6.6-1
tree 1.7.0-1
tslib 1.1-1
tzdata 2016g-1
units 2.13-1
unixodbc 2.3.4-1
unzip 6.0-12
urxvt-perls 2.2-1
usbredir 0.7-1
usbutils 008-1
util-linux 2.28.2-1
valgrind 3.11.0-4
vbindiff 3.0_beta4-7
vde2 2.3.2-8
vi 1:070224-2
videoproto 2.3.3-1
vim-runtime 8.0.0013-1
virglrenderer 0.5.0-1
virtualbox-guest-modules-arch 5.1.8-1
virtualbox-guest-utils 5.1.8-1
visualvm 1.3.8-1
vte-common 0.46.0+5+g398a3f8-1
vte3-ng 0.46.0.a-1
w3m 0.5.3.git20160413-1
wayland 1.12.0-1
wayland-protocols 1.7-1
wget 1.18-1
which 2.21-2
whois 5.2.12-1
wireless_tools 30.pre9-1
wxgtk 3.0.2-5
xcb-proto 1.12-2
xcb-util 0.4.0-1
xcb-util-cursor 0.1.3-1
xcb-util-image 0.4.0-1
xcb-util-keysyms 0.4.0-1
xcb-util-renderutil 0.3.9-1
xcb-util-wm 0.4.1-1
xdg-utils 1.1.1-4
xextproto 7.3.0-1
xf86-input-evdev 2.10.4-1
xf86vidmodeproto 2.3.1-3
xfsprogs 4.7.0-1
xineramaproto 1.2.1-3
xkeyboard-config 2.19-1
xml2 0.5-1
xmlstarlet 1.6.1-1
xmlto 0.0.28-1
xorg-bdftopcf 1.0.5-1
xorg-font-util 1.3.1-1
xorg-font-utils 7.6-4
xorg-fonts-alias 1.0.3-1
xorg-fonts-encodings 1.0.4-4
xorg-fonts-misc 1.0.3-4
xorg-mkfontdir 1.0.7-2
xorg-mkfontscale 1.1.2-1
xorg-server 1.18.4-1
xorg-server-common 1.18.4-1
xorg-setxkbmap 1.3.1-1
xorg-xauth 1.0.9-1
xorg-xkbcomp 1.3.1-1
xorg-xrandr 1.5.0-1
xorg-xset 1.2.3-1
xproto 7.0.31-1
xsel 1.2.0.20160929-1
xz 5.2.2-1
yajl 2.1.0-1
zeromq 4.1.5-1
zita-alsa-pcmi 0.2.0-3
zita-resampler 1.3.0-5
zlib 1.2.8-4
zsh 5.2-1

command line log


(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug

*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug


(gvim:3239): Gtk-WARNING **: Negative content width -7 (allocation 1, extents 4x4) while allocating gadget (node arrow, owner GtkMenu)

(gvim:3239): Gtk-WARNING **: Negative content width -7 (allocation 1, extents 4x4) while allocating gadget (node arrow, owner GtkMenu)
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug


(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed

(gvim:3239): Gtk-CRITICAL **: gtk_widget_get_preferred_height_for_width: assertion 'width >= 0' failed
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug

*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug


(gvim:3239): Gtk-WARNING **: Negative content width -7 (allocation 1, extents 4x4) while allocating gadget (node arrow, owner GtkMenu)

(gvim:3239): Gtk-WARNING **: Negative content width -7 (allocation 1, extents 4x4) while allocating gadget (node arrow, owner GtkMenu)
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug


(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content height -7 (allocation 1, extents 4x4) while allocating gadget (node menuitem, owner GtkMenu

(gvim:3239): Gtk-WARNING **: Negative content width -11 (allocation 1, extents 6x6) while allocating gadget (node menuitem, owner GtkMenu


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub

Christian Brabandt

unread,
Oct 21, 2016, 5:16:49 AM10/21/16
to vim/vim

does this only happen with the gtk3 gui? does it work if you use ssh -Y ?

Cubittus

unread,
Nov 23, 2016, 7:46:53 AM11/23/16
to vim/vim

I get the same problem and same error messages when tunnelling from gentoo linux to Cygwin/X.
This occurs with both gvim-8.0.0005 and the latest git. The problem goes away if I downgrade gtk+ to 3.20.9.
See also https://bugs.gentoo.org/show_bug.cgi?id=598876.
I think its related to gtk+ 3.22 changes mentioned in #1193, but neither gtk+-3.22.4 nor commit 182707a fix this problem when using remote X.

nuko8

unread,
Nov 23, 2016, 4:02:50 PM11/23/16
to vim/vim

I think its related to gtk+ 3.22 changes mentioned in #1193, but neither gtk+-3.22.4 nor commit 182707a fix this problem when using remote X.

In the GTK+ repository, the mentioned change was reverted last week, and the reversion was eventually merged into 3.22.4.

Following that, the mentioned patch 182707a was proposed to disable the code that was introduced to fix #1193 for 3.22.2 and 3.22.3, and was, thanks to the reversion, turned out to be unnecessary for 3.22.4.

Accordingly, as far as 3.22.4 is concerned, the part of our current codebase that was relevant to #1193 is now identical to that of 8.0.0005. Vim 8.0.0095 built against 3.22.4 should work just like 8.0.0005 against 3.20.9 in that regard.

Cubittus

unread,
Nov 24, 2016, 11:06:25 AM11/24/16
to vim/vim

You are corrent - my theory is obviously wrong.

I tried looking through other changes between gtk 3.20 and 3.22 that may behave differently between XF86 on linux and Cygwin/X, but that quickly became too much work.

For now I've rebuilt gvim against gtk+:2 and that is working perfectly.

nuko8

unread,
Nov 24, 2016, 11:46:19 AM11/24/16
to vim/vim

For now I've rebuilt gvim against gtk+:2 and that is working perfectly.

Good. If stability and reliability matter for you, please choose gtk+ 2 gvim; if not, try gtk3 gvim. That's why our configure script still chooses gtk+ 2 gvim by default.

Nicolas Goy

unread,
Mar 27, 2017, 11:10:04 PM3/27/17
to vim/vim, Subscribed

I have the same issue with all gtk3 app. In the meantime I downgraded to gtk 3.20.

Kazunobu Kuriyama

unread,
Mar 28, 2017, 12:25:12 AM3/28/17
to vim/vim, Subscribed

@kuon

Thank you for the additional information. It still looks like some changes in 3.22 are causing the trouble.

For anyone who can run GTK+ 3.22 gvim on remote, I'd appreciate it if you could try:

  1. Press F10 in normal mode
  2. :popup File in normal mode
  3. Hovering the mouse pointer over the place to and fro where the menu bar is expected to appear.

and report back the result here. Did the File menu pop up by the key press or the popup command? Was the menu item drawn by the hover?

Michal Grochmal

unread,
Mar 28, 2017, 11:13:58 AM3/28/17
to vim/vim, Subscribed

I will argue that this is a backward compatibility GTK-3.22.2 screwup. Just like @nuko8 said in #1193. The tests above run fine when using GTK-3.22.10 on the remote.

A test that I did using 3.22.10 as the remote and 3.14 (yes, that's old, but is what i have) as the host revealed hundreds of warnings/critical conds. GTK3 is just huge, and trying to make RPC calls from a newer one into an older one will always result in some issues.

Therefore @kuon, check that your GTK-3.22 is at least GTK-3.22.4 and that your local GTK3 is at least as new as the remote one. That last part avoids a lot of issues that are very hard to track.

Nicolas Goy

unread,
Mar 28, 2017, 11:35:25 AM3/28/17
to vim/vim, Subscribed

My GTK-3.22 is 3.22.10.

I think the bug we are hitting is: https://bugzilla.gnome.org/show_bug.cgi?id=780101 which may be unrelated to gvim

neubian

unread,
May 26, 2017, 8:27:03 PM5/26/17
to vim/vim, Subscribed

bravo kuon. Reverting gtk3 to 3.20.9 fixed for now. Would still like to see cygwin binaries compatible with 3.22+ though.

Reply all
Reply to author
Forward
0 new messages