Bug 13246

Summary: evdev from git + xserver-1.4 == crash after pressing shift+numlock
Product: xorg Reporter: Ademar Reis <ademar>
Component: Server/Input/CoreAssignee: Zephaniah E. Hull <warp-spam+fdo>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.3 (2007.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xserver log of the crash none

Description Ademar Reis 2007-11-14 08:03:57 UTC
I still would like to investigate it a little more, but anyway: using xserver-1.4 (from git server-1.4-branch) and evdev git (as of today, last commit is fa15e90993325...), I have a server crash in the following scenario:

- press shift+numlock
- type something else

It doesn't happen if I use the latest released evdev driver (1.1.5, although it's incompatible with xserver-1.4 according to bug #13222).
Comment 1 Ademar Reis 2007-11-14 08:30:12 UTC
Created attachment 12545 [details]
xserver log of the crash
Comment 2 Ademar Reis 2007-11-14 09:11:11 UTC
backtrace:

Starting program: /usr/bin/Xorg
[Thread debugging using libthread_db enabled]
[New Thread -1211705664 (LWP 2914)]

X.Org X Server 1.4.0
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux_2.6.23.1-desktop-1mdv Mandriva
Current Operating System: Linux optimus.conectiva 2.6.23.1-desktop-1mdv #1 SMP Wed Oct 31 22:32:29 CET 2007 i686
Build Date: 14 November 2007  02:19:25PM

        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Nov 14 15:06:59 2007
(==) Using config file: "/etc/X11/xorg.conf"
[tcsetpgrp failed in terminal_inferior: Operation not permitted]
(II) Module "ramdac" already built-in
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Multiple names for keycode 211
>                   Using <I211>, ignoring <AB11>
Errors from xkbcomp are not fatal to the X server

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211705664 (LWP 2914)]
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x08191cb4 in XkbHandleBell (force=0 '\0', eventOnly=0 '\0', kbd=0x840cfe8, percent=50 '2', pCtrl=0x840d248,
    class=<value optimized out>, name=257, pWin=0x0, pClient=0x0) at xkbEvents.c:408
#2  0x081ada83 in _XkbDDXBeepExpire (timer=0x0, now=0, arg=0x840cfe8) at ddxBeep.c:291
#3  0x081adc5d in XkbDDXAccessXBeep (dev=0x840cfe8, what=1, which=16) at ddxBeep.c:329
#4  0x0819a1f3 in _XkbFilterControls (xkbi=0x840d168, filter=0x8411594, keycode=<value optimized out>, pAction=0xbfa2c684)
    at xkbActions.c:756
#5  0x0819b635 in XkbHandleActions (dev=0x840cfe8, kbd=0x840cfe8, xE=0x820febc, count=1) at xkbActions.c:1224
#6  0x0819b960 in XkbProcessKeyboardEvent (xE=0x820febc, keybd=0x840cfe8, count=1) at xkbPrKeyEv.c:189
#7  0x081938a4 in AccessXFilterPressEvent (xE=0x820febc, keybd=0x840cfe8, count=1) at xkbAccessX.c:568
#8  0x0819be78 in ProcessKeyboardEvent (xE=0x820febc, keybd=0x840cfe8, count=1) at xkbPrKeyEv.c:225
#9  0x0811cf0c in mieqProcessInputEvents () at mieq.c:249
#10 0x080c3bac in ProcessInputEvents () at xf86Events.c:241
#11 0x080889ad in Dispatch () at dispatch.c:421
(gdb)

I'm using a PS2 Logitech Access Keyboard, on Linux.
Comment 3 Daniel Stone 2007-11-14 13:03:40 UTC
An embarassingly trivial patch is at:
http://people.freedesktop.org/~daniels/bellproc-of-despair.diff
Comment 4 Zephaniah E. Hull 2007-11-14 15:39:22 UTC
Agreed, this is an Xserver bug.

Though, I could have sworn that we fixed this before the 1.4 release.
Comment 5 Daniel Stone 2007-11-17 13:36:31 UTC
pushed as 55888552769ce6361174285b09dfb78ee22c170d.

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.