Bug 3182 - SIGIOT xcb_xlib.c xcb_lock.c Assertion failed
Status: RESOLVED WONTFIX
Alias: None
Product: Unreal Tournament 2003
Classification: Unclassified
Component: Graphical Client
Version: Full (Build 2225)
Hardware: PC Linux
: P3 critical
Assignee: Ryan C. Gordon
QA Contact:
URL:
Depends on:
Blocks:
 
Reported: 2007-05-26 21:23 EDT by icculus.bugzilla.gopher9
Modified: 2009-09-14 02:14:33 EDT
0 users

See Also:



Description icculus.bugzilla.gopher9 2007-05-26 21:23:38 EDT
Game crashes immediately on startup. Output:

ut2003-bin: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

Backtrace:
[ 1]  ./Core.so [0xb753171a]
[ 2]  [0xb7f95420]
[ 3]  /lib/libc.so.6(abort+0x101) [0xb72f8801]
[ 4]  /lib/libc.so.6(__assert_fail+0xfb) [0xb72f07bb]
[ 5]  /usr/lib/libxcb-xlib.so.0 [0xb7170742]
[ 6]  /usr/lib/libX11.so.6(_XReply+0xd2) [0xb71f2492]
[ 7]  ./libSDL-1.2.so.0(SDL_XF86VidModeQueryVersion+0x8d) [0xb7f2d42d]
[ 8]  ./libSDL-1.2.so.0(X11_GetVideoModes+0x170) [0xb7f28428]
[ 9]  ./libSDL-1.2.so.0 [0xb7f2a348]
[10]  ./libSDL-1.2.so.0(SDL_VideoInit+0x2b2) [0xb7f1ff96]
[11]  ./libSDL-1.2.so.0(SDL_InitSubSystem+0x4a) [0xb7f024fe]
[12]  ./libSDL-1.2.so.0(SDL_Init+0x24) [0xb7f025fc]
[13]  ./ut2003-bin(ValidateCDKey__Fv+0x119) [0x805139d]
[14]  ./ut2003-bin(main+0x1fbc) [0x805785c]
[15]  /lib/libc.so.6(__libc_start_main+0xdc) [0xb72e3f9c]
[16]  ./ut2003-bin(ValidateCDKey__Fv+0x4d) [0x80512d1]
Signal: SIGIOT [iot trap]
Aborting.

This happened after a recent xorg upgrade, minor version stayed at 7.2. See <http://lwn.net/Articles/211808/>. There's a workaround that successfully fixed some other software I have:
   export LIBXCB_ALLOW_SLOPPY_LOCK=1

Then, still, the game displays the splash screen and crashes after a couple of seconds with output:

ut2003-bin: xcb_lock.c:62: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed.

Backtrace:
[ 1]  ./Core.so [0xb74e371a]
[ 2]  [0xb7f47420]
[ 3]  /lib/libc.so.6(abort+0x101) [0xb72aa801]
[ 4]  /lib/libc.so.6(__assert_fail+0xfb) [0xb72a27bb]
[ 5]  /usr/lib/libX11.so.6 [0xb71a3314]
[ 6]  /usr/lib/libX11.so.6 [0xb71a34c4]
[ 7]  /usr/lib/libX11.so.6(XWarpPointer+0x25) [0xb719a675]
[ 8]  ./libSDL-1.2.so.0 [0xb7eda15f]
[ 9]  ./libSDL-1.2.so.0(X11_ResizeFullScreen+0x67) [0xb7edad1f]
[10]  ./libSDL-1.2.so.0(X11_EnterFullScreen+0x155) [0xb7edafe5]
[11]  ./libSDL-1.2.so.0 [0xb7edd1c2]
[12]  ./libSDL-1.2.so.0 [0xb7edd41b]
[13]  ./libSDL-1.2.so.0(SDL_SetVideoMode+0x1b3) [0xb7ed280f]
[14]  /home/user/ut2003/System/SDLDrv.so(ResizeViewport__12USDLViewportUiiii+0x39a) [0xb4767efa]
[15]  /home/user/ut2003/System/OpenGLDrv.so(SetRes__19UOpenGLRenderDeviceP9UViewportiiiii+0x199) [0xb4736bc9]
[16]  /home/user/ut2003/System/SDLDrv.so(TryRenderDevice__12USDLViewportPCwiii+0x11e) [0xb4767976]
[17]  /home/user/ut2003/System/SDLDrv.so(OpenWindow__12USDLViewportUiiiiii+0x223) [0xb47668b3]
[18]  ./Engine.so(Init__11UGameEngine+0x12f1) [0xb77a1e65]
[19]  ./ut2003-bin [0x805520e]
[20]  ./ut2003-bin(main+0x296e) [0x805820e]
[21]  /lib/libc.so.6(__libc_start_main+0xdc) [0xb7295f9c]
[22]  ./ut2003-bin(ValidateCDKey__Fv+0x4d) [0x80512d1]
Signal: SIGIOT [iot trap]
Aborting.
ut2003-bin: xcb_lock.c:62: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)' failed.
Comment 1 Ryan C. Gordon 2007-05-27 02:24:55 EDT
The first assertion is a bug in SDL (not ut200x), but I'm inclined to believe the other is a libxcb bug. I'll look into the SDL issue...we might have inadvertently fixed that one since the version we shipped with UT2003 almost five years ago...if you are so inclined, you can try swapping in your own SDL build from more recent sources to replace the one we shipped with.

--ryan.

Comment 2 icculus.bugzilla.gopher9 2007-05-28 14:38:53 EDT
I replaced the library, thus:

    cd ut2003/System
    mv libSDL-1.2.so.0 disabled-libSDL-1.2.so.0
    ln -s /usr/lib/libSDL-1.2.so.0 .

The game then works, no longer showing the symptoms described above. Thanks for the tip! The same procedure can be used to fix the audio problem reported in bug #645.

    mv openal.so disabled-openal.so
    ln -s /usr/lib/libopenal.so.0 openal.so
Comment 3 Ryan C. Gordon 2009-09-14 02:14:33 EDT
Closing an old bug...no formal fix, but at least there's a workaround!

--ryan.