Back in August, along with many others, my desktop would freeze when I used OpenOffice.org. The bug turned out to be in xserver and was widely documented:

https://bugs.freedesktop.org/show_bug.cgi?id=10525
http://qa.openoffice.org/issues/show_bug.cgi?id=75578
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=395354
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411287
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=433131
https://bugzilla.novell.com/show_bug.cgi?id=245711

There's a Fedora patch at
http://cvs.fedora.redhat.com/viewcvs/devel/xorg-x11-server/xserver-1.3.0-xkb-and-loathing.patch?view=markup

Something like it was applied in Debian on Thu, 09 Aug 2007:

xorg-server (2:1.3.0.0.dfsg-12) unstable; urgency=low

[ Brice Goglin ]
* Add 51_xkb-and-loathing.diff to fix a hang in OpenOffice.org

And then promptly disabled in the Sat, 18 Aug 2007 update:

xorg-server (2:1.3.99.0-1) experimental; urgency=low

[ Julien Cristau, David Nusinow ]
  + 51_xkb-and-loathing.diff disabled for now.

I'm getting this same bug still with both the 32-bit and the 64-bit version of OpenOffice.org, using xserver-xorg 1:7.3+8 and xserver-xorg-core 2:1.4.1~git20071212-1.

Specifically, the bug is triggered when selecting any of the main menu items. Cf. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440974

The test case below freezes X11 at 100% CPU utilization and xorg has to be -9 killed.

What was the problem with the fix? This is a really debilitating bug; is there a workaround? A discussion somewhere I missed? An odd configuration on my system?

Cheers,
Dave


/*
* gcc keyboard.c -lX11
* ./a.out
*/


#include </share/usr/include/X11/Xlib.h>
#include </share/usr/include/X11/XKBlib.h>

#include </share/usr/include/stdio.h>

int main(void)
{
  XkbDescPtr pXkbDesc = NULL;
  Display * pDisplay = XOpenDisplay(NULL);

  pXkbDesc = XkbGetKeyboard(pDisplay, XkbAllComponentsMask,
XkbUseCoreKbd );

  if (pXkbDesc)
  {
      const char* pAtom = NULL;
      if( pXkbDesc->names->groups[0] )
      {
          pAtom = XGetAtomName( pDisplay, pXkbDesc->names->groups[0] );
          printf("Keyboard Name is %s\n", pAtom);
          XFree( (void*)pAtom );
      }

      XkbFreeKeyboard( pXkbDesc, XkbAllComponentsMask, True );
  }

  XCloseDisplay(pDisplay);
  return 0;
}


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to