Bug#352131: Yet more info

Loïc Minier lool at dooz.org
Sat Mar 4 08:38:42 UTC 2006


tags 352131 + confirmed upstream
retitle 352131 gb layout crashes gnome-settings-daemon
forwarded 352131 https://bugs.freedesktop.org/show_bug.cgi?id=4448
stop

        Hi,

 This is a followup for Debian bug <http://bugs.debian.org/352131>.

On Fri, Feb 10, 2006, Sam Morris wrote:
> Here are the keyboard settings that made gnome-settings-daemon die:
> $ gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd
>  layouts = [gb]
>  model =
>  overrideSettings = false
>  options = [Compose key compose:rwin,grp        grp:alts_toggle]

 Thanks for all the informations you provided, I'm able to reproduce,
 but with slight variations:
 - adding the "gb intl" layout doesn't cause the crash, but each time I
   add a layout or change anything, gnome-settings-daemon is restarted
   in a painfully slow manner (that's probably normal but it's ugly and
   slow)
 - adding the "gb" layout to layouts causes a crash to happen, I then:
   * switch back to a default ugly theme
   * get a popup saying g-s-d died
 - when I removed "gb" from the layouts, and launched
   gnome-settings-daemon from a xterm, it would still crash with:
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 1669 error_code 2 request_code 150 minor_code 9)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
[1141458491,000,xklavier.c:XklStartListen/]     The backend does not require manual layout management - but it is provided by the application%                  bee% gnome-settings-daemon

 I think it was overrideSettings set at the time the popup appeared, so
 I unset it, and it was never set back in my later tests.

 When g-s-d crashes, I often have to start it two times from xterm, the
 first time crashes regularly.

 I could break on gdk_x_error() with my manually launched g-s-d prior to
 adding gb, and got:
Breakpoint 2, gdk_x_error (display=0x809a330, error=0xbf85f34c)
    at gdkmain-x11.c:599
599     gdkmain-x11.c: Aucun fichier ou répertoire de ce type.
        in gdkmain-x11.c
(gdb) bt
#0  gdk_x_error (display=0x809a330, error=0xbf85f34c) at gdkmain-x11.c:599
#1  0xb7391b05 in bonobo_ui_gtk_module_info_get ()
   from /usr/lib/libbonoboui-2.so.0
#2  0xb7f27218 in _XklErrHandler () from /usr/lib/libxklavier.so.10
#3  0xb76a11ff in _XError () from /usr/X11R6/lib/libX11.so.6
#4  0xb76a18ef in _XReply () from /usr/X11R6/lib/libX11.so.6
#5  0xb769c215 in XSync () from /usr/X11R6/lib/libX11.so.6
#6  0xb769c2c3 in XSync () from /usr/X11R6/lib/libX11.so.6
#7  0xb76cd142 in XkbSetMap () from /usr/X11R6/lib/libX11.so.6
#8  0xb73f9ba3 in XkbWriteToServer () from /usr/X11R6/lib/libxkbfile.so.1
#9  0xb7f2a38c in _XklXkbConfigPrepareNative () from /usr/lib/libxklavier.so.10
#10 0xb7f2a71c in _XklXkbConfigActivate () from /usr/lib/libxklavier.so.10
#11 0xb7f28548 in XklConfigActivate () from /usr/lib/libxklavier.so.10
#12 0x08068bc6 in GSwitchItKbdConfigActivate ()
#13 0x080582b1 in gnome_settings_multimedia_keys_load ()
#14 0x08055668 in gnome_settings_daemon_get_invisible ()

 So it seems the problem is with the XkbSetMap call.

 I'm not used to low-level XKB debug, all I could think of was using:
 - setxkbmap -layout $layout
 - setxkbmap -layout $layout -print | xkbcomp - :0.0

 The first version works as expected for all layouts mentionned here
 (us, fr, fr-latin9, gb...).

 The second one works only for layout == us, and nothing else.

 In summary:

 layout   libxklavier   setxkbmap   setxkbmap + xkbcomp
 ======================================================
 us           ok           ok                ok
 gb          error         ok               error
 other        ok           ok               error

 You seem to have identified the precise suboption which causes the bug
 to happen, and it seems to be the same as in:
 <https://bugs.freedesktop.org/show_bug.cgi?id=4448>
 (see also <http://listserv.bat.ru/xkb/Message/880.html>)

 But I'm myself not capable of debugging any further.

-- 
Loïc Minier <lool at dooz.org>
Current Earth status:   NOT DESTROYED





More information about the Pkg-gnome-maintainers mailing list