FS#23577 - [xf86-input-joystick] Segmentation fault upon startup
Attached to Project:
Arch Linux
Opened by Paul McCartney (stinke) - Sunday, 03 April 2011, 18:18 GMT
Last edited by Jan de Groot (JGC) - Friday, 18 November 2011, 09:36 GMT
Opened by Paul McCartney (stinke) - Sunday, 03 April 2011, 18:18 GMT
Last edited by Jan de Groot (JGC) - Friday, 18 November 2011, 09:36 GMT
|
Details
Description:
Segmentation fault upon startup Additional info: * package version(s) * config and/or log files etc. Steps to reproduce: XOrg Config ////////////////////////////////////////////////////////////////////////////////////////// Section "InputDevice" Identifier "Joystick1" Driver "joystick" Option "Device" "/dev/input/by-id/usb-Jess_Technology_Co.__Ltd._USB_Game_Controller-event-joystick" # Option "Device" "/dev/input/js0" Option "DebugLevel" "0" #"3" Option "StartKeysEnabled" "True" Option "StartMouseEnabled" "True" Option "SendCoreEvents" "false" Option "AutoRepeat" "200 4" Option "MapAxis1" "mode=relative keyhigh=114 keylow=113 deadzone=1000 axis=0.2" Option "MapAxis2" "mode=relative keylow=111 keyhigh=116 deadzone=1000 axis=0.2" Option "MapButton1" "key=36" # Return Option "MapButton2" "key=53" # X Option "MapButton3" "key=9" # Escape Option "MapButton5" "key=21" # Volume Plus Option "MapButton7" "key=20" # Volume Minus Option "MapButton9" "key=54" # C - options in XMBC EndSection XOrg output ////////////////////////////////////////////////////////////////////////////////////////// This is a pre-release version of the X server from The X.Org Foundation. It is not supported in any way. Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/. Select the "xorg" product for bugs you find in this release. Before reporting bugs in pre-release versions please check the latest version in the X.Org Foundation git repository. See http://wiki.x.org/wiki/GitPage for git access instructions. X.Org X Server 1.10.0.901 (1.10.1 RC 1) Release Date: 2011-03-29 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.37-ARCH x86_64 Current Operating System: Linux gray 2.6.38-ARCH #1 SMP PREEMPT Wed Mar 30 08:47:36 CEST 2011 x86_64 Kernel command line: root=/dev/sda1 Build Date: 29 March 2011 09:11:14AM Current version of pixman: 0.20.2 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. 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: Sun Apr 3 21:48:04 2011 (==) Using config file: "/etc/X11/xorg.conf" (==) Using config directory: "/etc/X11/xorg.conf.d" (EE) Failed to load module "fbdev" (module does not exist, 0) Backtrace: 0: /usr/bin/X (xorg_backtrace+0x26) [0x49f3e6] 1: /usr/bin/X (0x400000+0x60b69) [0x460b69] 2: /lib/libpthread.so.0 (0x7fa490240000+0xf750) [0x7fa49024f750] 3: /lib/libc.so.6 (strlen+0x11) [0x7fa48f222541] 4: /lib/libc.so.6 (__strdup+0x16) [0x7fa48f222296] 5: /usr/bin/X (xf86AddNewOption+0x21) [0x473c71] 6: /usr/bin/X (xf86OptionListDuplicate+0x31) [0x473e61] 7: /usr/lib/xorg/modules/input/joystick_drv.so (0x7fa48cfc3000+0x3976) [0x7fa48cfc6976] 8: /usr/lib/xorg/modules/input/joystick_drv.so (0x7fa48cfc3000+0x19ee) [0x7fa48cfc49ee] 9: /usr/bin/X (0x400000+0x7b191) [0x47b191] 10: /usr/bin/X (InitInput+0x52) [0x46e392] 11: /usr/bin/X (0x400000+0x22ac6) [0x422ac6] 12: /lib/libc.so.6 (__libc_start_main+0xed) [0x7fa48f1c6f6d] 13: /usr/bin/X (0x400000+0x22ded) [0x422ded] Segmentation fault at address 0x8 Fatal server error: Caught signal 11 (Segmentation fault). Server aborting Please consult the The X.Org Foundation support at http://wiki.x.org for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information. xinit: giving up xinit: unable to connect to X server: Connection refused xinit: server error |
This task depends upon
Closed by Jan de Groot (JGC)
Friday, 18 November 2011, 09:36 GMT
Reason for closing: Fixed
Additional comments about closing: fixed in xf86-input-joystick 1.6.0-3 (current git master).
Friday, 18 November 2011, 09:36 GMT
Reason for closing: Fixed
Additional comments about closing: fixed in xf86-input-joystick 1.6.0-3 (current git master).
Did you install your graphic cards driveR?
I tried to comment out all / single option lines without success.
The crash does not take place when I completely disable the joystick
input device.
I tried to comment out all / single option lines without success.
The crash does not take place when I completely disable the joystick
input device.
I have:
extra/xorg-server 1.10.2-1 (xorg)
extra/xorg-server-common 1.10.2-1
extra/xf86-input-joystick 1.6.0-1
Backtrace:
0: /usr/bin/X (xorg_backtrace+0x26) [0x49f546]
1: /usr/bin/X (0x400000+0x60cf9) [0x460cf9]
2: /lib/libpthread.so.0 (0x7feb4a086000+0xf750) [0x7feb4a095750]
3: /lib/libc.so.6 (strlen+0x11) [0x7feb49062541]
4: /lib/libc.so.6 (__strdup+0x16) [0x7feb49062296]
5: /usr/bin/X (xf86AddNewOption+0x21) [0x473db1]
6: /usr/lib/xorg/modules/input/joystick_drv.so (0x7feb46e1e000+0x3f7d) [0x7feb46e21f7d]
7: /usr/lib/xorg/modules/input/joystick_drv.so (0x7feb46e1e000+0x21ac) [0x7feb46e201ac]
8: /usr/bin/X (0x400000+0x7b341) [0x47b341]
9: /usr/bin/X (InitInput+0x52) [0x46e4d2]
10: /usr/bin/X (0x400000+0x22b46) [0x422b46]
11: /lib/libc.so.6 (__libc_start_main+0xed) [0x7feb49006f6d]
12: /usr/bin/X (0x400000+0x22e6d) [0x422e6d]
Segmentation fault at address 0x8
Approach:
I dumped the options parameters passed to xf86AddNewOption
in xf86-input-joystick-1.6.0/src/jstk_key.c->jstkKeyboardHotplug(InputInfoPtr pInfo, int flags)
.. the pInfo->options list has this entry:
SendcoreEvents=(null)
strdup in xf86AddNewOption doesn't like that.
As far as I can tell my xorg.conf is perfectly fine however.
Just so see if thats the only issue I remove the option from the options list
while printing it out.
Anyways..
with this fix X doesn't crash anymore but X tells me
I didn't supply a driver option (!). True; It's not in
the options dump but is needed by the
NewInputDeviceRequest(iopts, attrs, &dev) function.
So I do a
xf86AddNewOption(o, "Driver","Joystick");
... and everything works perfectly.
Summary:
- X (/whoever) is passing the SendcoreEvents without a value in the InputInfoPtr option to jstkKeyboardHotplug
- The Driver option is not passed along so that NewInputDeviceRequest(iopts, attrs, &dev) fails.
I added my patched up file with outputs in the Xorg.0.log
jstk_key.c (9.7 KiB)