Bug#480021: xserver-xorg-core: XKB failure: cause located, here's a patch
Package: xserver-xorg-core
Version: 2:1.4.2-10
Followup-For: Bug #480021
The cause of this bug is that XkbCopyKeymap does a very incomplete job and
leaves a lot of zeros in the destination XkbGeometryRec. Later, that
defective XkbGeometryRec gets passed through XkbWriteXKBGeometry which
generates a defective xkbcomp input file. xkbcomp complains and fails, and
the server refuses to handle xkbset's requests.
The patch below enhances XkbCopyKeymap just enough to get rid of the xkbcomp
errors and warnings that occurred on my system, so xkbset could start working
again. I suspect that people with different keyboard settings will still have
problems because there are still a lot of fields that don't get copied by
XkbCopyKeymap.
--- xorg-server-1.4.2/xkb/xkbUtils.c 2008-06-10 12:57:20.000000000 -0500
+++ xorg-server-1.4.2/xkb/xkbUtils.c 2009-02-23 20:59:01.000000000 -0500
@@ -1699,6 +1699,8 @@
dshape->num_outlines = sshape->num_outlines;
dshape->sz_outlines = sshape->num_outlines;
+
+ dshape->name = sshape->name;
}
dst->geom->num_shapes = src->geom->num_shapes;
@@ -1831,6 +1833,8 @@
}
dsection->num_doodads = ssection->num_doodads;
dsection->sz_doodads = ssection->num_doodads;
+
+ dsection->name = ssection->name;
}
}
else {
@@ -1897,6 +1901,8 @@
ddoodad->text.text = xstrdup(sdoodad->text.text);
if (sdoodad->text.font)
ddoodad->text.font = xstrdup(sdoodad->text.font);
+
+ ddoodad->text.name = sdoodad->text.name;
}
else if (sdoodad->any.type == XkbLogoDoodad) {
if (sdoodad->logo.logo_name)
-- Package-specific info:
Contents of /var/lib/x11/X.roster:
/var/lib/x11/X.md5sum does not exist.
X server symlink status:
lrwxrwxrwx 1 root root 13 Apr 11 2007 /etc/X11/X -> /usr/bin/Xorg
-rwxr-xr-x 1 root root 1950848 Jan 8 23:20 /usr/bin/Xorg
Contents of /var/lib/x11/xorg.conf.roster:
xserver-xorg
VGA-compatible devices on PCI bus:
0001:01:08.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)
/etc/X11/xorg.conf does not match checksum in /var/lib/x11/xorg.conf.md5sum.
Xorg X server configuration file status:
-rw------- 1 root root 3761 Feb 22 02:24 /etc/X11/xorg.conf
Contents of /etc/X11/xorg.conf:
Xorg X server log files on system:
-rw------- 1 root root 45475 Jan 11 2008 /var/log/Xorg.2.log
-rw------- 1 root root 43630 Feb 23 15:33 /var/log/Xorg.0.log
-rw------- 1 root root 42099 Feb 23 20:28 /var/log/Xorg.1.log
Contents of most recent Xorg X server log file
/var/log/Xorg.1.log:
-- System Information:
Debian Release: 5.0
Architecture: powerpc (ppc)
Kernel: Linux 2.6.28.2
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages xserver-xorg-core depends on:
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libdbus-1-3 1.2.1-5 simple interprocess messaging syst
ii libdrm2 2.3.1-2 Userspace interface to kernel DRM
ii libfontenc1 1:1.0.4-3 X11 font encoding library
ii libgcc1 1:4.3.2-1.1 GCC support library
ii libhal1 0.5.11-8 Hardware Abstraction Layer - share
ii libpixman-1-0 0.10.0-2 pixel-manipulation library for X a
ii libxau6 1:1.0.3-3 X11 authorisation library
ii libxdmcp6 1:1.0.2-3 X11 Display Manager Control Protoc
ii libxfont1 1:1.3.3-1 X11 font rasterisation library
ii x11-common 1:7.3+18 X Window System (X.Org) infrastruc
ii xserver-xorg 1:7.3+18 the X.Org X server
Versions of packages xserver-xorg-core recommends:
ii xfonts-base 1:1.0.0-5 standard fonts for X
ii xkb-data 1.3-2 X Keyboard Extension (XKB) configu
Versions of packages xserver-xorg-core suggests:
ii xfonts-100dpi 1:1.0.0-4 100 dpi fonts for X
ii xfonts-75dpi 1:1.0.0-4 75 dpi fonts for X
ii xfonts-scalable 1:1.0.0-6 scalable fonts for X
-- no debconf information
Reply to: