Bug 45544 - Xserver blocks/crashes with two usb keyboards connected
Summary: Xserver blocks/crashes with two usb keyboards connected
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Input/Core (show other bugs)
Version: 7.7 (2012.06)
Hardware: x86 (IA32) All
: medium major
Assignee: Daniel Stone
QA Contact: Xorg Project Team
Whiteboard: 2012BRB_Reviewed
Keywords: regression
Depends on:
Reported: 2012-02-02 06:55 UTC by Enrique Arizon Benito
Modified: 2012-06-14 04:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Enrique Arizon Benito 2012-02-02 06:55:12 UTC
After upgrading Ubuntu to 11.10 I can not use two keyboards anymore. 

- The server sometimes randomly crashes after pressing a key, or just after plugin the keyboard.

- Sometimes an infinite loop of events are generated without crashing the desktops. For example a window start to move over the desktop until I unplug one of the keyboards. 

- Some other times the keyboards get completely disabled. The X server doesn't crash, but only the mouse pointer work.

- ...

The Xorg.0.log shows:

  1 [   201.570]
  2 X.Org X Server 1.10.4
  3 Release Date: 2011-08-19

Another test I made. As root:

  # stop lightdm
  # startx

Sometimes the server just block with no CPU ussage (dead-lock?). 
Some other it crashes with next backtrace:

(EE) CHICONY USB Keyboard: failed to initialize for relative axes.

0: /usr/bin/X (xorg_backtrace+0x37) [0x80a66f7]
1: /usr/bin/X (0x8048000+0x62b3a) [0x80aab3a]
2: (vdso) (__kernel_rt_sigreturn+0x0) [0xf4040c]
3: /usr/bin/X (0x8048000+0xebd04) [0x8133d04]
4: /usr/bin/X (0x8048000+0x2ff62) [0x8077f62]
5: /usr/bin/X (0x8048000+0x3603b) [0x807e03b]
6: /usr/bin/X (ProcSetInputFocus+0x6a) [0x808019a]
7: /usr/bin/X (0x8048000+0x2a117) [0x8072117]
8: /usr/bin/X (0x8048000+0x1c70c) [0x806470c]
9: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [0xc05113]
10: /usr/bin/X (0x8048000+0x1ca21) [0x8064a21]
Segmentation fault at address (nil)

Caught signal 11 (Segmentation fault). Server aborting

It looks that "somewhere" there is a race condition.

I tried with different keyboards models.
Comment 1 Enrique Arizon Benito 2012-02-02 07:00:21 UTC

There are two good reasons to use two keyboards:

- It's much cheaper to use them than to buy a 300$ split-keyboard.

- There are many TV cards that come with a remote control that in the end is no more than a second keyboard with a remote-control shape.
Comment 2 Peter Hutterer 2012-02-09 03:18:29 UTC
have you been able to reproduce this with the upstream xorg? ubuntu has _a lot_ of patches, so I'd rather verify that this isn't caused by those.
Comment 3 Enrique Arizon Benito 2012-02-09 04:39:38 UTC
(In reply to comment #2)
> have you been able to reproduce this with the upstream xorg? ubuntu has _a lot_
> of patches, so I'd rather verify that this isn't caused by those.

Not actually. I wasn't aware that Ubuntu is not using the upstream xorg. Still I don't think they (Ubuntu) will have any need to change Server->Input->Core. I guess they will be more centered on User-level code.

 Anyway if I find some free time I will try to check with the upstream and see the results.
Comment 4 Peter Hutterer 2012-02-09 04:52:41 UTC
fwiw, ubuntu added touch support on top of upstream releases which is very much input core. for the next version, they'll go as far as using server 1.12 with all input patches from 1.12 backported. Hence my reluctance, it's really worth testing whether this is an upstream bug.
Comment 5 Peter Hutterer 2012-06-13 22:35:34 UTC
any updates on whether this is a ubuntu-specific bug?
Comment 6 Enrique Arizon Benito 2012-06-13 23:54:39 UTC
I upgraded my system and the problem looks to have disappeared (xserver-xorg-core version 2:1.10.4-1ubuntu4). 
Still, not sure if that was Xorg or Ubuntu specific.
Comment 7 Peter Hutterer 2012-06-14 04:31:41 UTC
ok, no worries. closing for now, please reopen if you can reproduce it again.

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.