Bug 12538 - X Error of failed request: BadValue (integer parameter out of range for operation)
Summary: X Error of failed request: BadValue (integer parameter out of range for oper...
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other FreeBSD
: medium critical
Assignee: xkb
QA Contact:
URL: http://lists.freebsd.org/pipermail/fr...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-23 17:50 UTC by nakaji
Modified: 2008-11-26 15:46 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description nakaji 2007-09-23 17:50:24 UTC
As I reported to freebsd-x11 list, on FreeBSD/pc98, "Major opcode of failed request:  101 (X_GetKeyboardMapping)" error occurs when I hit any key on xterm or kterm, after the upgrade of xorg to 7.3.

All applications which depend on xorg were recompiled after xorg upgrade.

Please see the URL for more information.

Note: the platform "pc98" is NEC's PC, it is simillar to x86(ia32) but different.
Comment 1 Peter Hutterer 2007-12-06 21:51:08 UTC
(In reply to comment #0)
> As I reported to freebsd-x11 list, on FreeBSD/pc98, "Major opcode of failed
> request:  101 (X_GetKeyboardMapping)" error occurs when I hit any key on xterm
> or kterm, after the upgrade of xorg to 7.3.
> 
> Note: the platform "pc98" is NEC's PC, it is simillar to x86(ia32) but
> different.

this is a server/keymap problem. pc98 generates a keymap with a max keycode of 134. the core keyboard is initialised to a max code of 255. On the initial connection reply, this is the range the client receives, and when it calls GetKeyboardMapping it supplies this map range. The server then responds with an error, because the keymap has changed to 8-134 when you hit the key. 

The main problem is that client's don't deal with shrinking/growing keymaps. 
The only way to get around that is force smaller keymaps (like pc98) to be max 255.

Find your xfree98 file (/usr/share/X11/xkb/keycodes/xfree98) and replace the "maximum = 134" with "maximum=255". I'm not sure if it necessary to pad the keymaps with empty symbols reach the max keycode 255 though. 

I suspect this procedure needs to be applied to all keymaps < 255.
alternatively, xkbcomp could be modified to auto-pad everything.
Comment 2 nakaji 2007-12-09 06:14:32 UTC
(In reply to comment #1)
> Find your xfree98 file (/usr/share/X11/xkb/keycodes/xfree98) and replace the
> "maximum = 134" with "maximum=255". I'm not sure if it necessary to pad the
> keymaps with empty symbols reach the max keycode 255 though. 

It worked! Thanks!!
Comment 3 Daniel Stone 2007-12-09 06:31:56 UTC
sergey, could you please give all keyboard maps a range of 8-255?
Comment 4 Sergey V. Udaltsov 2007-12-09 06:33:40 UTC
Daniel, what about the memory consumption?
Comment 5 Sergey V. Udaltsov 2008-11-26 15:46:04 UTC
anyway, committed.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.