Bug 19882 - X server consistently crashes with invalid command line args to 'xinput' utility
Summary: X server consistently crashes with invalid command line args to 'xinput' utility
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/evdev (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-01 15:08 UTC by Andrew Barr
Modified: 2009-02-01 17:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg configuration file (1.91 KB, text/plain)
2009-02-01 15:08 UTC, Andrew Barr
no flags Details
log of crashed X server (24.19 KB, text/plain)
2009-02-01 15:08 UTC, Andrew Barr
no flags Details

Description Andrew Barr 2009-02-01 15:08:04 UTC
Created attachment 22447 [details]
xorg configuration file

I'm not sure where this belongs, nor did I get a (proper) backtrace, but this seems straightforward enough that I hope this is enough information.

All from Debian packages in experimental--
X.org 1.6rc2
inputproto 1.5.0
xf86-input-evdev 2.1.1
libXi 1.2.0
xinput (app) 1.4.0

---
andrewbarr@andrew-laptop:~$ xinput list
"Virtual core pointer"	id=0	[XPointer]
	Num_buttons is 32
	Num_axes is 2
	Mode is Relative
	Motion_buffer is 256
	Axis 0 :
		Min_value is -1
		Max_value is -1
		Resolution is 0
	Axis 1 :
		Min_value is -1
		Max_value is -1
		Resolution is 0
"Virtual core keyboard"	id=1	[XKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
"Synaptics Touchpad"	id=2	[XExtensionPointer]
	Num_buttons is 12
	Num_axes is 2
	Mode is Relative
	Motion_buffer is 256
	Axis 0 :
		Min_value is 1472
		Max_value is 5472
		Resolution is 1
	Axis 1 :
		Min_value is 1408
		Max_value is 4448
		Resolution is 1
"SynPS/2 Synaptics TouchPad"	id=3	[XExtensionPointer]
	Num_buttons is 12
	Num_axes is 2
	Mode is Relative
	Motion_buffer is 256
	Axis 0 :
		Min_value is 1472
		Max_value is 5472
		Resolution is 1
	Axis 1 :
		Min_value is 1408
		Max_value is 4448
		Resolution is 1
"ThinkPad Extra Buttons"	id=4	[XExtensionKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
"Video Bus"	id=5	[XExtensionKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
"/usr/sbin/thinkpad-keys"	id=6	[XExtensionKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
"TPPS/2 IBM TrackPoint"	id=7	[XExtensionPointer]
	Num_buttons is 32
	Num_axes is 2
	Mode is Relative
	Motion_buffer is 256
	Axis 0 :
		Min_value is -1
		Max_value is -1
		Resolution is 1
	Axis 1 :
		Min_value is -1
		Max_value is -1
		Resolution is 1
"AT Translated Set 2 keyboard"	id=8	[XExtensionKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
andrewbarr@andrew-laptop:~$ xinput list-props 7
Device 'TPPS/2 IBM TrackPoint':
	Device Enabled (109):		1
	Evdev Axis Inversion (275):		0, 0
	Evdev Reopen Attempts (272):		10
	Evdev Axis Calibration (273):		
	Evdev Axes Swap (274):		0
	Evdev Middle Button Emulation (276):		1
	Evdev Middle Button Timeout (277):		50
	Evdev Wheel Emulation (278):		1
	Evdev Wheel Emulation Axes (279):		0, 0, 4, 5
	Evdev Wheel Emulation Inertia (280):		10
	Evdev Wheel Emulation Timeout (281):		200
	Evdev Wheel Emulation Button (282):		2
	Evdev Drag Lock Buttons (283):		0

andrewbarr@andrew-laptop:~$ xinput set-int-prop 2 282 8
---

(note the actual property value is missing from the last command)

This last command, if executed, will crash the X server. Any attempt to leave off the actual value of any other property than that one will result in a BadMatch error from the server.

---
Backtrace:
0: /usr/bin/X(xorg_backtrace+0x3b) [0x813159b]
1: /usr/bin/X(xf86SigHandler+0x51) [0x80d1b51]
2: [0xb8037400]
3: /usr/bin/X(XIChangeDeviceProperty+0x1c3) [0x81886d3]
4: /usr/bin/X(ProcXChangeDeviceProperty+0x167) [0x8188a07]
5: /usr/bin/X [0x8181613]
6: /usr/bin/X(Dispatch+0x33f) [0x808c51f]
7: /usr/bin/X(main+0x3c5) [0x80716f5]
8: /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7bfa685]
9: /usr/bin/X [0x8070ba1]

Fatal server error:
Caught signal 11.  Server aborting
---

- Full Xorg.0.log.old and xorg.conf attached.
- HAL is enabled and used to add devices (eg. "AllowEmptyInput" is on)

This bug was also present in 1.6rc1.
Comment 1 Andrew Barr 2009-02-01 15:08:44 UTC
Created attachment 22448 [details]
log of crashed X server
Comment 2 Peter Hutterer 2009-02-01 17:06:10 UTC
Fixed as 

commit 07f40a04df28e9ee6318411beb71eedc7cd6e288.
Author:     Peter Hutterer <peter.hutterer@who-t.net>
AuthorDate: Mon Feb 2 11:00:30 2009 +1000

Protect against zero-sized property values. #19882


Thanks for reporting.


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.