[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: