VMWare in Ubuntu 8.04 and the locking assertion failure problem

I am not usually writing in English on this blog but I think that in this language this post could interest more people. I installed VMWare Server 1.06 on Kubuntu Hardy Heron 8.04 and I faced the locking assertion failure problem as some other ubunteros have faced. Here it is how I solved it.

First, I have to say I used the installation script found on this ubuntuforums page. If everything went right during the installation, when I tried to start VMWare i had this huge console outupt (or something like it because I didn’t wrote down the exact output and therefore copy it from another forum)

ERROR: ld.so: object '/usr/lib/vmware/lib/libX11.so.6/libX11.so.6' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib/vmware/lib/libX11.so.6/libX11.so.6' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib/vmware/lib/libX11.so.6/libX11.so.6' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib/vmware/lib/libX11.so.6/libX11.so.6' from LD_PRELOAD cannot be preloaded: ignored.
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb6eb5767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb6eb58b1]
#2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb708b1bd]
#3 /usr/lib/vmware/lib/libXrender.so.1/libXrender.so.1(XRenderQueryFormats+0x109) [0xb745c969]
#4 /usr/lib/vmware/lib/libXrender.so.1/libXrender.so.1(XRenderFindFormat+0x4c) [0xb745cf4c]
#5 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78ce180]
#6 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78ced2c]
#7 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb789ec14]
#8 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78ab24f]
#9 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb789ec14]
#10 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xb78aab34]
#11 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77af298]
#12 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77af586]
#13 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77b177e]
#14 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb79ca459]
#15 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb79b23a1]
#16 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb79b2076]
#17 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb79c96eb]
#18 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit_valist+0x91e) [0xb79c8d46]
#19 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit+0x38) [0xb79c90b8]
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb6eb5767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb6eb581e]
#2 /usr/lib/libX11.so.6 [0xb708a518]
#3 /usr/lib/libX11.so.6(XAddExtension+0x2c) [0xb706dc9c]
#4 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2(_XftDisplayInfoGet+0x77) [0xb746ded7]
#5 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2 [0xb746c8b1]
#6 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2 [0xb746cd39]
#7 /usr/lib/vmware/lib/libXft.so.2/libXft.so.2(XftDrawPicture+0x10) [0xb746cec0]
#8 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78cc9b6]
#9 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78ced75]
#10 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb789ec14]
#11 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb78ab24f]
#12 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb789ec14]
#13 /usr/lib/vmware/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xb78aab34]
#14 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77af298]
#15 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77af586]
#16 /usr/lib/vmware/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb77b177e]
#17 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb79ca459]
#18 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb79b23a1]
#19 /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb79b2076]
vmware: ../../src/xcb_lock.c :77 : _XGetXCBBuffer:  L'assertion « ((int) ((xcb_req) - (dpy->request)) >= 0) » a échoué.

The problem seems to come from an incompatibility of version between the  libX11 library of Ubuntu and the one required from VMWare. How to solve it. First download this old version of the library (don’t worry we wont replace yours but just make VMWare think that it has to use this one). Then in a terminal do the following :

cd /usr/lib/vmware/  (We go into the directory where VMWare is installed)
sudo mkdir lib/libX11.so.6 (We create a directory where we will put the old version of the library that VMWare will use)
sudo cp /path/to/the/downloaded/libX11.so.6 lib/libX11.so.6/ (We copy the old library into the VMware library directory we've just created)

Now you should be able to run VMWare properly. Please comment if it worked for you! You can find other linux ressources on this page

Commentaire

VMWare in Ubuntu 8.04 and the locking assertion failure problem — Un commentaire

  1. Bonjour,

    I had to copy the file into a directory which already existed (I choose lib/libgdk-x11-2.0.so.0 but I guess anything would have done) rather than create my own directory.

    After that everything worked perfectly.

    Thanks for your help.

    Allan