I have a crash when using evdev on Linux and two keyboards. Tested with xserver-1.4 + fixes found on git branch origin/server-1.4-branch (as of today). To reproduce, just play around with two keyboards (in my setup, one PS2 and other USB, I don't have two USBs to test). It doesn't happen if the evdev driver is not installed. Here is what I get: 1. When I connect the second keyboard (a USB one), X sometimes crashes and sometimes generates spurious mouse events (middle button click, mouse-move) 2. If the xserver survives, when I remove the USB keyboard it crashes imediately. 3. It doesn't start with the two keyboards connected (SIGSEGV) Below is the output from the server when in debug mode plus a backtrace of the crash when starting it. I'll also attach the Xorg.0.log file. FlushingSerial [config/hal] getting input.x11_driver on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logica ldev_input returned evdev [config/hal] getting input.device on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev _input returned /dev/input/event10 [config/hal] getting info.product on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev _input returned USB-compliant keyboard [config/hal] getting input.xkb.rules on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev_input returned base [config/hal] getting input.xkb.model on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logical dev_input returned evdev [config/hal] getting input.xkb.layout on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev_input returned us [config/hal] getting input.xkb.variant on /org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev_input returned (EE) USB-compliant keyboard-usb-0000:00:1d.1-2/input1: AbsoluteTouch: 'DIGI_Touch' does not exist. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212393792 (LWP 23015)] EvdevProc (device=0x0, what=2) at evdev.c:142 142 InputInfoPtr pInfo = device->public.devicePrivate; (gdb) bt #0 EvdevProc (device=0x0, what=2) at evdev.c:142 #1 0xb69dd27c in evdevRescanDevices (pInfo=<value optimized out>) at evdev_brain.c:302 #2 0xb69dd98b in evdevNewDriver (driver=0x84509f0) at evdev_brain.c:460 #3 0xb69dc4d8 in EvdevCorePreInit (drv=0x844bc28, dev=0x8450918, flags=0) at evdev.c:449 #4 0x08101436 in NewInputDeviceRequest (options=0x8449930, pdev=0xbff3994c) at xf86Xinput.c:398 #5 0x080b6196 in device_added (hal_ctx=0x844ad70, udi=0x8449748 "/org/freedesktop/Hal/devices/usb_device_518_2_noserial_if0_logicaldev_input") at hal.c:232 #6 0x080b644d in connect_hook (connection=0x8449418, data=0x824dd40) at hal.c:323 #7 0x080b58c5 in connect_to_bus () at dbus-core.c:169 #8 0x080b5920 in reconnect_timer (timer=0x8272008, time=4568956, arg=0x0) at dbus-core.c:188 #9 0x08212368 in DoTimer (timer=0x8272008, now=4568956, prev=0x826e284) at WaitFor.c:459 #10 0x08211d21 in WaitForSomething (pClientsReady=0xbff39d30) at WaitFor.c:293 #11 0x08085ff1 in Dispatch () at dispatch.c:425 #12 0x0806ed24 in main (argc=1, argv=0xbff3a264, envp=0xbff3a26c) at main.c:452 (gdb)
Created attachment 12512 [details] server log when starting with two keyboards
duh, actually it happens with just one USB keyboard as well, no need to have two: X won't start if I have a USB keyboard connected.
Created attachment 12513 [details] xserver log when starting with only one USB keyboard (SIGSEGV)
*** Bug 13228 has been marked as a duplicate of this bug. ***
I'm seeing this with a simple laptop setup as well (PS/2 keyboard, trackpoint.)
evdev appears to be choking on the: I: Bus=0019 Vendor=0000 Product=0006 Version=0000 N: Name="Video Bus" P: Phys=LNXVIDEO/video/input0 S: Sysfs=/class/input/input8 U: Uniq= H: Handlers=kbd event8 B: EV=3 B: KEY=3f000b00000000 0 0 0 I: Bus=0019 Vendor=0000 Product=0006 Version=0000 N: Name="Video Bus" P: Phys=LNXVIDEO/video/input0 S: Sysfs=/class/input/input9 U: Uniq= H: Handlers=kbd event9 B: EV=3 B: KEY=3f000b00000000 0 0 0 devices.
(In reply to comment #0) > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1212393792 (LWP 23015)] > EvdevProc (device=0x0, what=2) at evdev.c:142 > 142 InputInfoPtr pInfo = device->public.devicePrivate; > (gdb) bt > #0 EvdevProc (device=0x0, what=2) at evdev.c:142 > #1 0xb69dd27c in evdevRescanDevices (pInfo=<value optimized out>) at > evdev_brain.c:302 Both the master and the evdev-1.1-branch do not have evdevRescanDevices anymore. Before input-hotplug, evdev had it's own hotplugging code inside the driver, now it doesn't need to anymore. As I understand, no release has been made since the evdev_brain.c was removed (april this year) Can you please try with the git version of evdev, maybe the evdev-1.1-branch one. If it works, we have to release.
Not a bug. 1.1.x xf86-input-evdev is incompatable with 1.4+ xserver.
Zephaniah: how can you close a bug as invalid if there's no release fixing it yet? Or am I in such a desperate need of coffee that I don't see the new (> 1.1.x) release anywhere?
Well, with origin/master it works, with 1-1-branch it still crashes. I'm reopening the bug and then closing it again as fixed so that we can use it as a reference (maybe add a note on the xserver-1.4.1 release notes about this incompatibility to avoid confusion?).
marking as fixed (please release a new version with the code on git, since xorg-7.3 is broken)
(In reply to comment #11) > marking as fixed (please release a new version with the code on git, since > xorg-7.3 is broken) > daniels just did a release. http://xorg.freedesktop.org/archive/individual/driver/xf86-input-evdev-1.2.0.tar.bz2
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.