According to the stack trace in #3, the error seems to occur when
set_motion calls XGetFeedbackControl.

>From man XGetFeedbackControl:
A BadMatch error will be generated if the requested device does not support 
feedbacks. Whether or not a given device supports feedbacks can be determined 
by examining the information returned by the XOpenDevice request. For those 
devices that support feedbacks, XOpenDevice will return an XInputClassInfo 
structure with the input_class field equal to the constant FeedbackClass 
(defined in the file XI.h).

Since set_motion (from the gnome-settings-daemon source file gsd-mouse-
manager.c) does not perform this check before calling
XGetFeedbackControl, that is probably the problem.

According to "xinput list --long" the harddisk is a keyboard with mouse 
buttons(!):
--------------------------------------------------------------------------------
Western Digital My Book                         id=9    [slave  keyboard (3)]
        Reporting 1 classes:
                Class originated from: 9. Type: XIButtonClass
                Buttons supported: 20
                Button labels: "Button Left" "Button Middle" "Button Right" 
"Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz 
Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" 
"Button Task" "Button 8" "Button 9" "Button Unknown" "Button Unknown" "Button 
Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
--------------------------------------------------------------------------------
This probably explains why the problem occurs in a mouse handling function.

To fix the problem, we just have to check if the device supports
feedbacks before calling XGetFeedbackControl. See attached patch for the
gnome-settings-daemon package.

I don't know very much about X programming, so the patch needs review
from someone who knows what they're doing. It seems to work nicely for
me so far, though.

** Patch added: "Patch for the gnome-settings-daemon package"
   
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/805894/+attachment/3461641/+files/gsd-check-feedbacks-support.diff

-- 
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:
  Incomplete

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to