This article describes a Java-related assertion failure apparently due to a recent video driver update in Debian (and Ubuntu). The assertion dumps a backtrace to the console, but the Potential RPG Alpha client appears to be otherwise unaffected.

The remainder of this article describes the problem and how to work around it.

I’m running Debian testing with Java 1.6.0_05, which as of today generates this assertion failure:

Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb7d2e767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb7d2e81e]
#2 /usr/lib/libX11.so.6 [0xb4e5cdc9]
#3 /usr/lib/libX11.so.6(XGetVisualInfo+0x26) [0xb4e53136]
#4 /opt/jdk1.6.0_05/jre/lib/i386/xawt/libmawt.so [0xb4f42319]
#5 /opt/jdk1.6.0_05/jre/lib/i386/xawt/libmawt.so [0xb4f42565]
#6 /opt/jdk1.6.0_05/jre/lib/i386/xawt/libmawt.so [0xb4f433c9]
#7 /opt/jdk1.6.0_05/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xb4f4361f]
#8 [0xb5cd4e9d]
#9 [0xb5ccdedd]
#10 [0xb5ccdedd]
#11 [0xb5ccb249]
#12 /opt/jdk1.6.0_05/jre/lib/i386/client/libjvm.so [0x621c40d]
#13 /opt/jdk1.6.0_05/jre/lib/i386/client/libjvm.so [0x6310378]
#14 /opt/jdk1.6.0_05/jre/lib/i386/client/libjvm.so [0x621c2a0]
#15 /opt/jdk1.6.0_05/jre/lib/i386/client/libjvm.so(JVM_DoPrivileged+0x363) [0x6272153]
#16 /opt/jdk1.6.0_05/jre/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7ce696d]
#17 [0xb5cd4e9d]
#18 [0xb5ccdd77]
#19 [0xb5ccb249]

This workaround worked for me:

  1. Find the file JAVA_INSTALL/jre/lib/i386/xawt/libmawt.so
  2. Run sed -i 's/XINERAMA/FAKEEXTN/g' libmawt.so
Share and Enjoy:
  • Digg
  • del.icio.us
  • Reddit