← Back to team overview

desktop-packages team mailing list archive

[Bug 805894] Re: gnome-settings-daemon crashed with signal 5 in xkl_process_error()

 

After reading more of a related RedHat bug
(https://bugzilla.redhat.com/show_bug.cgi?id=657726) it would seem that
these crashes are in fact due to some bad messages coming back from
xklavier or xinput, and gnome-settings-daemon not being able to handle
them.  Here is a recent stack trace:

mike@hawty:~$ gdb gnome-settings-daemon 
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/gnome-settings-daemon...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/gnome-settings-daemon 
[Thread debugging using libthread_db enabled]
[New Thread 0xb7ddbb70 (LWP 3131)]
[New Thread 0xb75dab70 (LWP 3132)]
[New Thread 0xb6bffb70 (LWP 3133)]

** (gnome-settings-daemon:3128): WARNING **: Ignoring unknown module 'org.gnome.settings-daemon.plugins.ubuntuone'
[New Thread 0xb63feb70 (LWP 3134)]
[Thread 0xb75dab70 (LWP 3132) exited]
[1316688537,000,xklavier.c:xkl_engine_start_listen/] 	The backend does not require manual layout management - but it is provided by the application

Gdk-ERROR **: The program 'gnome-settings-daemon' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 846 error_code 8 request_code 141 minor_code 22)
  (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.)

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00810e69 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0x00810e69 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0x008111a3 in g_log () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0x00a79ec9 in ?? () from /usr/lib/libgdk-3.so.0
#3  0x00a87c28 in ?? () from /usr/lib/libgdk-3.so.0
#4  0x0163d99a in xkl_process_error () from /usr/lib/libxklavier.so.16
#5  0x00b06d3b in _XError () from /usr/lib/i386-linux-gnu/libX11.so.6
#6  0x00b0390d in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#7  0x00b048f7 in _XReply () from /usr/lib/i386-linux-gnu/libX11.so.6
#8  0x00ea8f3b in XGetFeedbackControl ()
   from /usr/lib/i386-linux-gnu/libXi.so.6
#9  0x01845fcb in ?? () from /usr/lib/gnome-settings-daemon-3.0/libmouse.so
#10 0x01847a6c in ?? () from /usr/lib/gnome-settings-daemon-3.0/libmouse.so
#11 0x01847d77 in ?? () from /usr/lib/gnome-settings-daemon-3.0/libmouse.so
#12 0x008041a0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#13 0x008082ef in g_main_context_dispatch ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#14 0x00808a20 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#15 0x0080902b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#16 0x002a1795 in gtk_main () from /usr/lib/libgtk-3.so.0
#17 0x0804ad11 in main ()
(gdb) quit
A debugging session is active.

        Inferior 1 [process 3128] will be killed.

Quit anyway? (y or n) y


Now let's list what xinput devices I have connected to my computer:

mike@hawty:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ HP HP USB Laser Mouse                   	id=10	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ daskeyboard                             	id=8	[slave  keyboard (3)]
    ↳ daskeyboard                             	id=9	[slave  keyboard (3)]
    ↳ Western Digital My Book                 	id=11	[slave  keyboard (3)]


What the hell? An external USB hard disk is reporting that it is a keyboard!!!! What happens if I disconnect it, then run gnome-settings-daemon again?

root@hawty:~# umount /media/MyBook               (unplugged it)

root@hawty:~# xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ HP HP USB Laser Mouse                   	id=10	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ daskeyboard                             	id=8	[slave  keyboard (3)]
    ↳ daskeyboard                             	id=9	[slave  keyboard (3)]

mike@hawty:~$ gnome-settings-daemon

** (gnome-settings-daemon:3408): WARNING **: Ignoring unknown module 'org.gnome.settings-daemon.plugins.ubuntuone'
[1316689030,000,xklavier.c:xkl_engine_start_listen/] 	The backend does not require manual layout management - but it is provided by the application
common-plugin-Message: checking whether we have a device for 4: yes
common-plugin-Message: checking whether we have a device for 5: yes
common-plugin-Message: checking whether we have a device for 6: yes
common-plugin-Message: checking whether we have a device for 7: yes
common-plugin-Message: checking whether we have a device for 8: yes
common-plugin-Message: checking whether we have a device for 9: yes
common-plugin-Message: checking whether we have a device for 10: yes


Low and behold, no more crashes!  So gsd really needs to trap these types of weird errors somehow.


** Bug watch added: Red Hat Bugzilla #657726
   https://bugzilla.redhat.com/show_bug.cgi?id=657726

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/805894

Title:
  gnome-settings-daemon crashed with signal 5 in xkl_process_error()

Status in “gnome-settings-daemon” package in Ubuntu:
  Confirmed

Bug description:
  Here's a note I included in a similar bug (797947) that may help to
  diagnose as this might be a timing issue:

  I'd like to add that I can never get gnome-settings-daemon to start
  and stay running for more than 5 seconds, UNLESS i take the following
  actions, in which case it applies the themes properly and responds to
  theme changes and generally works just fine:

  1. start 'strace gnome-settings-daemon' in a window
  2. wait until the terminal appears to hang in the middle of the output
  3. switch to a virtual console (ALT+F1) and login
  4. pkill -9 strace
  5. switch back to X - everything is fine!

  This works about 95% of the time.

  This is a laptop that always gets this error on boot up and only has
  one screen, no docking station, so its not anything related to screen
  size I should think.

  ProblemType: Crash
  DistroRelease: Ubuntu 11.10
  Package: gnome-settings-daemon 3.1.2-0ubuntu1
  ProcVersionSignature: Ubuntu 3.0-2.3-generic 3.0.0-rc4
  Uname: Linux 3.0-2-generic i686
  Architecture: i386
  Date: Sun Jul  3 10:35:32 2011
  ExecutablePath: /usr/lib/gnome-settings-daemon/gnome-settings-daemon
  InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Alpha i386 (20100602.2)
  ProcCmdline: /usr/lib/gnome-settings-daemon/gnome-settings-daemon
  ProcEnviron:
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  Signal: 5
  SourcePackage: gnome-settings-daemon
  StacktraceTop:
   ?? () from /usr/lib/libgdk-3.so.0
   ?? () from /usr/lib/libgdk-3.so.0
   xkl_process_error () from /usr/lib/libxklavier.so.16
   _XError () from /usr/lib/i386-linux-gnu/libX11.so.6
   ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
  Title: gnome-settings-daemon crashed with signal 5 in xkl_process_error()
  UpgradeStatus: Upgraded to oneiric on 2011-06-05 (29 days ago)
  UserGroups: adm admin cdrom dialout games libvirtd lpadmin plugdev sambashare

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/805894/+subscriptions