The bug is in the hw/kdrive/ephyr/hostx.c: it is compiled without _XSERVER64 being defined, so KeySym is 64bit wide and kdKeymap is defined as extern pointer to 64bit KeySym. But it is actually defined in other file as pointer to 32bit KeySym. The second problem is that KD_MAX_KEYCODE in hw/kdrive/src/kkeymap.h is defined to be 254, but according to XDisplayKeycodes documentation it should be 255. I'm attaching to patches to fix this problems.
Created attachment 7149 [details] [review] Fixes crash of Xephyr on amd64
Created attachment 7150 [details] [review] Fixes KD_MAX_KEYCODE value (and crash in certain environments)
I can confirm that the patch (https://bugs.freedesktop.org/attachment.cgi?id=7149) works here (kubuntu-6.10, amd64). But stdint.h is only C99 so this might not be a very portable fix.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Has a patch been put in GIT to fix this? Gentoo downstream is looking for an "official" patch before inclusion.
(In reply to comment #5) > Has a patch been put in GIT to fix this? > Gentoo downstream is looking for an "official" patch before inclusion. > it's in the master branch: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=68d39d8571d8717d26cedc84015d537549520a14
I see the named bug is still in xorg-server-1.3 even after thought that patch has been applied to the tree for 1.3. Any news/updates?
Okay I will close the bug for now, as it seems to have been fixed by http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=68d39d8571d8717d26cedc84015d537549520a14 .
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.