After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 77203 - gnome2-settings-daemon cores on keyboard accesibility settings.
gnome2-settings-daemon cores on keyboard accesibility settings.
Status: VERIFIED FIXED
Product: gnome-control-center
Classification: Core
Component: [obsolete] Keyboard Accessibility
unspecified
Other Solaris
: Urgent critical
: GNOME2.0
Assigned To: Jody Goldberg
Control-Center Maintainers
: 77725 77775 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-04-01 14:45 UTC by Brian Nitz
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.0


Attachments
Be anal retentive (2.44 KB, patch)
2002-04-01 15:53 UTC, Jody Goldberg
none Details | Review

Description Brian Nitz 2002-04-01 14:45:43 UTC
Solaris nightly CVS tip build from:  

 cvs -q co -D 'Mon Apr  1 04:26:00 BST 2002' gnome-control-center

Starting gnome-session causes gnome2-settings-daemon to core with the
following traceback:

program terminated by signal SEGV (no mapping at the fault address)
Current function is set_server_from_gconf
  104           desc->ctrls->ax_options = XkbAX_LatchToLockMask;
(.../forte/6u2_FCS/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)
where              
current thread: t@1
=>[1] set_server_from_gconf(ignored = (nil)), line 104 in
"gnome-settings-accessibility-keyboard.c"
  [2] gnome_settings_accessibility_keyboard_load(client = 0x96aa8), line
301 in "gnome-settings-accessibility-keyboard.c"
  [3] gnome_settings_daemon_new(), line 270 in "gnome-settings-daemon.c"
  [4] main(argc = 2, argv = 0xffbffbe4), line 31 in "factory.c"
(.../forte/6u2_FCS/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) 
(.../forte/6u2_FCS/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)
_LatchToLockMask    <
dbx: "XkbAX_LatchToLockMask" is not defined in the scope
`gnome2-settings-daemon`gnome-settings-accessibility-keyboard.c`set_server_from_gconf`
dbx: see `help scope' for details
(.../forte/6u2_FCS/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) print
XkbAX_LatchTo >
dbx: "XkbAX_LatchToLockMask" is not defined in the scope
`gnome2-settings-daemon`gnome-settings-accessibility-keyboard.c`set_server_from_gconf`
(.../forte/6u2_FCS/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx)
>ctrls->ax_options  <
dbx: cannot access address 0x22
Comment 1 Brian Nitz 2002-04-01 14:50:59 UTC
desc at the time of the crash:
print *desc
*desc = {
    dpy          = 0x70410
    flags        = 0
    device_spec  = 256U
    min_key_code = '\0'
    max_key_code = '\0'
    ctrls        = (nil)
    server       = (nil)
    map          = 0xb1018
    indicators   = (nil)
    names        = (nil)
    compat       = (nil)
    geom         = (nil)
}
Comment 2 Jody Goldberg 2002-04-01 15:53:01 UTC
Created attachment 7499 [details] [review]
Be anal retentive
Comment 3 Jody Goldberg 2002-04-01 15:56:02 UTC
This does not solve the underlying problem of why your X server is not
populating that field as expected.  The code in question was taken directly
from the X11R6 source tree, so much for that idea.  This patch just adds more protection around the X calls to keepus from crashing.  The real question that should be answered before this bug is closed is
	Why did your X server not handle that call ?

I'll guess that the XKB extension is not installed or disabled ?  If so we
should handle that more gracefully than spewing warnings in the settings daemon.
Comment 4 Brian Nitz 2002-04-01 16:45:14 UTC
Jody,
	Good point looking at the man page for XkbGetMap, I'm not sure how
anything is populated when the 'which' (2nd argument) is 0:

    To allocate an XkbDescRec structure and populate it with the
     server's  keyboard client map and server map, use XkbGetMap.
     XkbGetMap is similar to XkbGetKeyboard, but is used only for
     obtaining  the  address  of  an XkbDescRec structure that is
     populated with keyboard mapping components. It allows  finer
     control  over  which  substructures  of the keyboard mapping
     components  are  to  be  populated.   XkbGetKeyboard  always
     returns  fully  populated components, while XkbGetMap can be
     instructed to return a partially populated component.

     The which mask is a bitwise inclusive those portions of  the
     keyboard  server  map  and the keyboard client maps that are
     specified in which are allocated and populated.
Comment 5 Brian Nitz 2002-04-04 16:17:35 UTC
This no longer cores as of April 4 CVS tip.  I'm not sure if the
accessibility settings work as they should though.
Comment 6 Brian Nitz 2002-04-04 16:18:39 UTC
This no longer cores as of April 4 CVS tip.  I'm not sure if the
accessibility settings work as they should though.
Comment 7 Brian Nitz 2002-04-04 17:07:29 UTC
Ignore/Remove that last attachment.  The crash still occurs on the
latest build
Comment 8 Luis Villa 2002-04-09 15:39:53 UTC
*** Bug 77725 has been marked as a duplicate of this bug. ***
Comment 9 Luis Villa 2002-04-09 15:41:01 UTC
*** Bug 77775 has been marked as a duplicate of this bug. ***
Comment 10 Luis Villa 2002-04-09 15:43:20 UTC
From one of the duplicates:
---
this prevents changes being applied through the following capplets:

- Font (bugid: 73566)
- Keyboard (bugid: 73571)
- Mouse (bugid: 73572)
---

Jody, Jacob: if you guys could look into this, I'd appreciate it- it
looks like a pretty bad Solaris problem that we should fix ASAP.
Comment 11 Jody Goldberg 2002-04-10 02:26:28 UTC
I've got a patch that I'm testing.

The comment that XkbGetMap may act strangely is possible, the docs are unclear.
However, almost every usage that I can find passes which=0.  I've tacked on a
which == everything and attempted to init ctrls to NULL just to be sure.  There
is probably a leak in here too,  but the docs and the common practice are at
odds again.  As a result, I'll play it safe and just leak a touch, rather than
risk screwed the heap.

Comment 12 Luis Villa 2002-04-10 02:52:03 UTC
Updating all cc bugs that have the GNOME2 keyword set to the GNOME2.0 milestone,
to help jrb triage/prioritize cc bugs. Filter on 'luis doing GNOME2 work' to
ignore this spam.
Comment 13 Jody Goldberg 2002-04-10 20:58:21 UTC
Ok, the updated patch is in cvs and sun-patches.  If this doesn't fix it I
don't know what will.  I can't get much more anal than this.
Comment 14 Shane O'Connor 2002-04-18 13:57:46 UTC
tested this against a nightly from 17th april and the GSD runs fine.

closing as verified fixed.
Comment 15 Shane O'Connor 2002-04-18 13:58:15 UTC
closing