When x11-libs/libX11-1.1.5 is compiled with the xcb USE flag vmware-server-console can't start with the following output: Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb6fba7aa] vmware-server-console: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. Reproducible: Always Steps to Reproduce: 1. Install libX11 with xcb support (USE=xcb) 2. Attempt to launch vmware-server-console Actual Results: The application crashes on this assert: Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb6fba7aa] vmware-server-console: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. Expected Results: The application should launch. Until vmware fixes the application there exists a workaround: 1. Download http://http.us.debian.org/debian/pool/main/libx/libx11/libx11-6_1.0.3-7_i386.deb 2. Unpack and put the lib in /opt/vmware/server/console/lib/lib/libX11.so.6/ 3. Edit /opt/vmware/server/console/lib/lib/wrapper-gtk24.sh and add vm_append_lib 'libX11.so.6' after the vm_append_lib 'libXrender.so.1' Now the application will be launched using the "non-xcb" library and not crash on the assert. Thanks to http://support.zenwalk.org/viewtopic.php?t=17086 for the fix.
I have libX11-1.1.5 compiled with XCB, and vmware-server-console starts fine, so could you please attach your emerge --info, and mention if you think there's anything unusual about your setup that might be causing this problem? Could you also try running vmware-server-console with the environment variable LIBXCB_ALLOW_SLOPPY_LOCK="1", since that seems like a much easier workaround for people if it works?
I can confirm this one. Here is my backtrace: $ vmware-server-console Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb6ff3858] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb6ff39b1] #2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb7e67c5d] #3 /opt/vmware/server/console/lib/lib/libXrender.so.1/libXrender.so.1(XRenderQueryFormats+0x109) [0xb7d45969] #4 /opt/vmware/server/console/lib/lib/libXrender.so.1/libXrender.so.1(XRenderFindFormat+0x4c) [0xb7d45f4c] #5 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b8b180] #6 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b8bd2c] #7 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b5bc14] #8 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b6824f] #9 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b5bc14] #10 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xb7b67b34] #11 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a6c298] #12 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a6c586] #13 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a6e77e] #14 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb7c81459] #15 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c693a1] #16 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb7c69076] #17 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c806eb] #18 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit_valist+0x91e) [0xb7c7fd46] #19 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit+0x38) [0xb7c800b8] vmware-server-console: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed. Tried this with the following library versions: USE="xcb ipv6" libX11-1.1.4, libxcb-1.1, xcb-proto-1.1 USE="xcb ipv6" libX11-1.1.5, libxcb-1.1, xcb-proto-1.1 USE="xcb -ipv6" libX11-1.1.5, libxcb-1.1, xcb-proto-1.1 USE="xcb -ipv6" libX11-1.1.5, libxcb-1.1.90.1, xcb-proto-1.2 All the same assertion failure as above. Then I've set the environment variable: $ export LIBXCB_ALLOW_SLOPPY_LOCK="1" After this (with any version of the libs): $ vmware-server-console Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb6fb3858] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb6fb39b1] #2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb7e27c5d] #3 /opt/vmware/server/console/lib/lib/libXrender.so.1/libXrender.so.1(XRenderQueryFormats+0x109) [0xb7d05969] #4 /opt/vmware/server/console/lib/lib/libXrender.so.1/libXrender.so.1(XRenderFindFormat+0x4c) [0xb7d05f4c] #5 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b4b180] #6 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b4bd2c] #7 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b1bc14] #8 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b2824f] #9 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b1bc14] #10 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xb7b27b34] #11 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2c298] #12 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2c586] #13 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2e77e] #14 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb7c41459] #15 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c293a1] #16 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb7c29076] #17 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c406eb] #18 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit_valist+0x91e) [0xb7c3fd46] #19 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_signal_emit+0x38) [0xb7c400b8] Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0xb6fb3858] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb6fb391e] #2 /usr/lib/libX11.so.6 [0xb7e26fe8] #3 /usr/lib/libX11.so.6(XAddExtension+0x2c) [0xb7e0a6fc] #4 /opt/vmware/server/console/lib/lib/libXft.so.2/libXft.so.2(_XftDisplayInfoGet+0x77) [0xb7cfded7] #5 /opt/vmware/server/console/lib/lib/libXft.so.2/libXft.so.2 [0xb7cfc8b1] #6 /opt/vmware/server/console/lib/lib/libXft.so.2/libXft.so.2 [0xb7cfcd39] #7 /opt/vmware/server/console/lib/lib/libXft.so.2/libXft.so.2(XftDrawPicture+0x10) [0xb7cfcec0] #8 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b499b6] #9 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b4bd75] #10 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b1bc14] #11 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0 [0xb7b2824f] #12 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_draw_pixbuf+0x270) [0xb7b1bc14] #13 /opt/vmware/server/console/lib/lib/libgdk-x11-2.0.so.0/libgdk-x11-2.0.so.0(gdk_pixbuf_render_pixmap_and_mask_for_colormap+0x255) [0xb7b27b34] #14 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2c298] #15 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2c586] #16 /opt/vmware/server/console/lib/lib/libgtk-x11-2.0.so.0/libgtk-x11-2.0.so.0 [0xb7a2e77e] #17 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0xd1) [0xb7c41459] #18 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0 [0xb7c293a1] #19 /opt/vmware/server/console/lib/lib/libgobject-2.0.so.0/libgobject-2.0.so.0(g_closure_invoke+0x1b1) [0xb7c29076] vmware-server-console: xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed.
The Debian guys here suggest to install gtkhtml-3.18.3: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486507 Well, I've downgraded from gtkhtml-3.24.2 to gtkhtml-3.18.3 to see and it did not fix anything, symptoms remained the same...
Good news. I've started to disable certain combinations of the vmware shipped libs by renaming their directories to *.DISABLED. The concept was to keep the required ancient libs like old openssl, old expat, and also the old lib*mm abstraction level but replace the underlying x11/glib/gtk+ libraries with the modern ones from gentoo /usr/lib that correctly support xcb. Well, one could probably experiment a bit more of what else could be kept or disabled but anyway, below is a working set: # ls -1 /opt/vmware/server/console/lib/lib libXft.so.2.DISABLED libXrender.so.1.DISABLED libart_lgpl_2.so.2 libatk-1.0.so.0.DISABLED libatkmm-1.6.so.1 libcrypto.so.0.9.7 libexpat.so.0 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk-x11-2.0.so.0.DISABLED libgdk_pixbuf-2.0.so.0.DISABLED libgdkmm-2.4.so.1.DISABLED libglade-2.0.so.0.DISABLED libglib-2.0.so.0.DISABLED libglibmm-2.4.so.1 libglibmm_generate_extra_defs-2.4.so.1 libgmodule-2.0.so.0.DISABLED libgnomecanvas-2.so.0.DISABLED libgnomecanvasmm-2.6.so.1 libgobject-2.0.so.0.DISABLED libgthread-2.0.so.0.DISABLED libgtk-x11-2.0.so.0.DISABLED libgtkmm-2.4.so.1 libpango-1.0.so.0.DISABLED libpangoft2-1.0.so.0.DISABLED libpangomm-1.4.so.1 libpangox-1.0.so.0.DISABLED libpangoxft-1.0.so.0.DISABLED libpng12.so.0.DISABLED librsvg-2.so.2 libsexy.so.1 libsexymm.so.1 libsigc-2.0.so.0 libssl.so.0.9.7 libstdc++.so.5 libview.so.2 libxml2.so.2 With this set of libs and with LIBXCB_ALLOW_SLOPPY_LOCK="0" I was able to start vmware-server-console without any errors.
Bundled libs are evil :) Not an xcb bug then. Thanks
vmware-server 1.0.x not in the portage anymore. Bug 354383.