keyboard crashes in current git

Daniel Stone daniel at fooishbar.org
Mon Mar 3 14:31:27 PST 2008


On Mon, Mar 03, 2008 at 10:41:37AM -0800, David Miller wrote:
> From: Daniel Stone <daniel at fooishbar.org>
> Date: Mon, 3 Mar 2008 10:37:53 +0200
> 
> > On Sun, Mar 02, 2008 at 10:31:09PM -0800, David Miller wrote:
> > > I suspect it's caused by all of the recent XKB work by Daniel Stone.
> > > 
> > > My keyboard is using pre-XKB keymaps, the curKeySyms.map is NULL for
> > > the device so even the very first getevents call gets a SIGSEGV.
> > 
> > While you have definitely encountered a bug, I'd definitely recommend
> > using a real keymap, rather than having a broken setup whereby it falls
> > back to defaults.
> 
> If you look at the InputDevice section I provided, I do.  It's not
> getting picked up for some reason.

Yes, I saw that.  'Falling back to pre-XKB keymap' means that you failed
to compile an XKB keymap.

> When I traced the code all of the 'names' members are NULL when
> XkbDDXLoadKeymapsByNames() is called by XkbInitKeyboardDeviceStruct.
> Perhaps some bug got introduced into the config parser or some other
> area of this xkb code.

Generally it means that it's pointing to a rules file which doesn't
exist (I'm just going the Occam's route here, since I haven't actually
touched the rules code at all, and I don't believe my Herculean ability
to constantly break the world extends to code I haven't even touched,
but feel free to prove me wrong), and it's thus just you having a broken
local configuration.  The XKB data should be in $datadir/X11/xkb, e.g.
$prefix/share/X11/xkb/rules/xorg.  You can use strace if you feel like
it.

> > > So XKB is passing in the non-NULL pSyms but for some reason
> > > it isn't getting attached to dev->key->curKeySyms.map
> > > 
> > > GetKeyboardValuatorEvents: pDev(0x338bb8) map((nil))
> > > 
> > > And then we crash in GetKeyboardValuatorEvents because it is
> > > NULL.
> > 
> > Please file a bug at http://bugs.freedesktop.org.
> 
> Sorry, I don't have time to do this.

Okay.

> I did however fully track down the cause of the problem and traced the
> whole initialization of the keyboard map and showed why the code sets
> it to NULL.  And if you read the rest of my replies you'll see not
> only that information, but the exact changeset of your's that
> introduced the crash.
> 
> So hopefully you'll be motivated enough by that to fix the regression
> you changes added.  Although, in my opinion, the mere existence of a
> known regression like this one should be sufficient for that.

Yes, I am fixing this, surprisingly, but it's kind of hard to keep track
of every single problem around when 99% of them use our bug tracking
tool, and 1% of them refuses to be tracked using same.  It's like if
someone couldn't be bothered sending a message to netdev or whatever
it's called and insisted on giving you bug reports scribbled into the
margin of a newspaper.

> BTW, even with this oops fixed there are lots of other keyboard
> related problems resulting from your changes.  For example, xterm's
> "Alt/Numlock Modifiers" setting no longer has any effect.

That's because you can't compile a keymap (see first paragraph).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg/attachments/20080304/08e317c8/attachment.pgp>


More information about the xorg mailing list