Virtualisation avec VMWare
Sources
Troubleshooting
Bug à l'éxécution de VMWare Server Console
- Distribution : Debian Unstable
- Noyau Linux : 2.6.26-1-amd64
Les symptômes
Une fois
VMWare Server Console installé, éxécutez le :
$ vmware-server-console
Si vous vous faites insulter de la sorte vous avez une chance d'avoir le même problème que moi (et donc peut-être aussi la même solution) :
Locking assertion failure. Backtrace:
#0 /usr/lib32/libxcb-xlib.so.0 [0xf701f767]
#1 /usr/lib32/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xf701f8b1]
#2 /usr/lib32/libX11.so.6(_XReply+0x244) [0xf7ebac14]
#3 /usr/lib/vmware-server-console/lib/libXrender.so.1/libXrender.so.1(XRenderQueryFormats+0x109) [0xf7da6969]
#4 /usr/lib/vmware-server-console/lib/libXrender.so.1/libXrender.so.1(XRenderFindFormat+0x4c) [0xf7da6f4c]
#5 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7bec180]
#6 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7becd2c]
#7 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xf7bbcc14]
#8 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7bc924f]
#9 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xf7bbcc14]
#10 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xf7bc8b34]
#11 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acd298]
#12 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acd586]
#13 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acf77e]
#14 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xf7ce3459]
#15 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xf7ccb3a1]
#16 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xf7ccb076]
#17 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xf7ce26eb]
#18 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit_valist+0x91e) [0xf7ce1d46]
#19 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit+0x38) [0xf7ce20b8]
Locking assertion failure. Backtrace:
#0 /usr/lib32/libxcb-xlib.so.0 [0xf701f767]
#1 /usr/lib32/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xf701f81e]
#2 /usr/lib32/libX11.so.6 [0xf7eb9dc9]
#3 /usr/lib32/libX11.so.6(XAddExtension+0x2c) [0xf7e9c23c]
#4 /usr/lib/vmware-server-console/lib/libXft.so.2/libXft.so.2(_XftDisplayInfoGet+0x77) [0xf7d9eed7]
#5 /usr/lib/vmware-server-console/lib/libXft.so.2/libXft.so.2 [0xf7d9d8b1]
#6 /usr/lib/vmware-server-console/lib/libXft.so.2/libXft.so.2 [0xf7d9dd39]
#7 /usr/lib/vmware-server-console/lib/libXft.so.2/libXft.so.2(XftDrawPicture+0x10) [0xf7d9dec0]
#8 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7bea9b6]
#9 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7becd75]
#10 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xf7bbcc14]
#11 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xf7bc924f]
#12 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xf7bbcc14]
#13 /usr/lib/vmware-server-console/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xf7bc8b34]
#14 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acd298]
#15 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acd586]
#16 /usr/lib/vmware-server-console/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xf7acf77e]
#17 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xf7ce3459]
#18 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xf7ccb3a1]
#19 /usr/lib/vmware-server-console/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xf7ccb076]
vmware-server-console: ../../src/xcb_lock.c:77: _XGetXCBBuffer: l'assertion « ((int) ((xcb_req) - (dpy->request)) >= 0) » a échoué.
Le fil suivant m'a énormément aidé à résoudre le pb. Les lignes qui suivent sont essentiellement une mise en forme et un mode opératoire pas à pas pour éviter de faire du tri dans les posts du forum.
Résolution
On va récupérer l'ancienne libX11 que
VMWare Server Console demande (inexistante sur notre système) et modifier sa config pour qu'il l'utilise à la place de la nôtre (trop récente).
1. Initialisation du répertoire où vous avez installé
VMWare Server Console :
# VMWARE=/usr/lib/vmware-server-console
2. Récupérez une ancienne version de
libX11 (celle de Etch par exemple) correspondant à votre architecture (pour moi amd64) sur
http://packages.debian.org/etch/libx11-6
# cd ~
# wget http://ftp.fr.debian.org/debian/pool/main/libx/libx11/libx11-6_1.0.3-7_amd64.deb
# dpkg -x libx11-6_1.0.3-7_amd64.deb
3. Copie de la lib dans le répertoire de
VMWare Server Console :
# mkdir $VMWARE/lib/libX11.so.6/
# cp usr/lib/libX11.so.6 $VMWARE/lib/libX11.so.6/
4. Sauvegardez et éditez le fichier de config du démarrage de
VMWare Server Console :
# cp $VMWARE/wrapper-gtk24.sh $VMWARE/wrapper-gtk24.sh.bak
# vim $VMWARE/wrapper-gtk24.sh
Ajoutez la ligne suivante :
@@ -63,6 +63,7 @@
vm_append_lib 'libfreetype.so.6'
vm_append_lib 'libXft.so.2'
vm_append_lib 'libXrender.so.1'
+ vm_append_lib 'libX11.so.6'
# FontConfig is actually fairly well behaved but the fonts.conf that we
# force when VMWARE_USE_SHIPPED_GTK=yes generates seemingly harmless
5. Ca marche !
$ vmware-server-console
Chez moi cette modif a supprimé l'erreur.
Une autre option consiste aussi à faire un downgrade de la fameuse libX11 (difficilement possible chez moi, d'où ce patch).