Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • xserver xserver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 943
    • Issues 943
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 132
    • Merge requests 132
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Admin message

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • xorgxorg
  • xserverxserver
  • Issues
  • #1280

Xorg seg faults when a USB keyboard is connected with '%' character in the product name

Hello!

I was trying to boot a live usb on my computer and found that if I had a USB keyboard plugged in with a % in the product name then Xorg would segfault immediately after starting, if I plug in a keyboard once it is successfully running then the running Xorg will segfault immediately.

If I reflash the keyboard to be named Test instead of Test% with no other changes, then everything works as expected.

I have been able to reproduce this in a VM and actual hardware.

Here is the logs from the segfault:

[   233.162] (II) event4  - VirtualBox USB Tablet: device is a pointer
[   233.163] (II) config/udev: Adding input device VirtualBox USB Tablet (/dev/input/js0)
[   233.163] (II) No input driver specified, ignoring this device.
[   233.163] (II) This device may have been added with another device file.
[   233.163] (II) config/udev: Adding input device VirtualBox USB Tablet (/dev/input/mouse0)
[   233.163] (II) No input driver specified, ignoring this device.
[   233.163] (II) This device may have been added with another device file.
[   233.164] (II) config/udev: Adding input device Test Manufacturer Test% (/dev/input/event7)
[   233.164] (**) Test Manufacturer Test%: Applying InputClass "libinput keyboard catchall"
[   233.164] (II) Using input driver 'libinput' for 'Test Manufacturer Test%'
[   233.164] (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 32 paused 0
[   233.164] (**) Test Manufacturer Test%: always reports core events
[   233.164] (**) Option "Device" "/dev/input/event7"
[   233.164] (**) Option "_source" "server/udev"
[   233.165] (II) event7  - Test Manufacturer Test%: is tagged by udev as: Keyboard
[   233.165] (II) event7  - Test Manufacturer Test%: device is a keyboard
[   233.166] (II) event7  - Test Manufacturer Test%: device removed
[   233.166] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:06.0/usb1/1-2/1-2:1.0/0003:FB9C:B260.0002/input/input8/event7"
[   233.166] (II) XINPUT: Adding extended input device "Test Manufacturer Test%" (type: KEYBOARD, id 11)
[   233.166] (**) Option "xkb_model" "pc105"
[   233.166] (**) Option "xkb_layout" "us"
[   233.166] (II) event7  - Test Manufacturer Test%: is tagged by udev as: Keyboard
[   233.166] (II) event7  - Test Manufacturer Test%: device is a keyboard
[   233.167] (II) config/udev: Adding input device Test Manufacturer Test% System Control (/dev/input/event9)
[   233.167] (**) Test Manufacturer Test% System Control: Applying InputClass "libinput keyboard catchall"
[   233.167] (II) Using input driver 'libinput' for 'Test Manufacturer Test% System Control'
[   233.168] (II) systemd-logind: got fd for /dev/input/event9 13:73 fd 33 paused 0
[   233.168] (**) Test Manufacturer Test% System Control: always reports core events
[   233.168] (**) Option "Device" "/dev/input/event9"
[   233.168] (**) Option "_source" "server/udev"
[   233.169] (II)(EE) 
[   233.170] (EE) Backtrace:
[   233.170] (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x139) [0x559237746d39]
[   233.170] (EE) 1: /lib/x86_64-linux-gnu/libc.so.6 (__sigaction+0x50) [0x7f1c36e2a520]
[   233.170] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (wcstof128+0x1c75) [0x7f1c36ebf505]
[   233.171] (EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (wcsrtombs+0xae) [0x7f1c36ead63e]
[   233.171] (EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (psiginfo+0x1069b) [0x7f1c36e5a8cb]
[   233.171] (EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (psiginfo+0x1470a) [0x7f1c36e5e93a]
[   233.172] (EE) 6: /lib/x86_64-linux-gnu/libc.so.6 (vscanf+0x14a) [0x7f1c36e7041a]
[   233.172] (EE) 7: /usr/lib/xorg/Xorg (Xvscnprintf+0x27) [0x55923774ec47]
[   233.172] (EE) 8: /usr/lib/xorg/Xorg (LogVMessageVerb+0x69) [0x559237750b09]
[   233.172] (EE) 9: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_device_config_rotation_get_default_angle+0x44d) [0x7f1c2e2c36bd]
[   233.172] (EE) 10: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_device_config_rotation_get_default_angle+0x2a87) [0x7f1c2e2c5cf7]
[   233.172] (EE) 11: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_device_config_rotation_get_default_angle+0x5baf) [0x7f1c2e2c8e1f]
[   233.173] (EE) 12: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_path_create_context+0x58fe) [0x7f1c2e2e54be]
[   233.173] (EE) 13: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_path_create_context+0x5b69) [0x7f1c2e2e5729]
[   233.173] (EE) 14: /lib/x86_64-linux-gnu/libinput.so.10 (libinput_path_add_device+0x115) [0x7f1c2e2e58a5]
[   233.173] (EE) unw_get_proc_name failed: no unwind info found [-10]
[   233.173] (EE) 15: /usr/lib/xorg/modules/input/libinput_drv.so (?+0x0) [0x7f1c2e30a4ef]
[   233.173] (EE) 16: /usr/lib/xorg/Xorg (xf86DeleteInput+0x20c) [0x55923762ba2c]
[   233.173] (EE) 17: /usr/lib/xorg/Xorg (config_fini+0xf70) [0x55923763e690]
[   233.173] (EE) 18: /usr/lib/xorg/Xorg (config_fini+0x1623) [0x55923763ed43]
[   233.173] (EE) 19: /usr/lib/xorg/Xorg (config_init+0xd) [0x55923763d6fd]
[   233.173] (EE) 20: /usr/lib/xorg/Xorg (InitInput+0xc1) [0x559237620901]
[   233.174] (EE) 21: /usr/lib/xorg/Xorg (InitFonts+0x36d) [0x5592375e3a6d]
[   233.174] (EE) 22: /lib/x86_64-linux-gnu/libc.so.6 (__libc_init_first+0x90) [0x7f1c36e11fd0]
[   233.174] (EE) 23: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x7d) [0x7f1c36e1207d]
[   233.174] (EE) 24: /usr/lib/xorg/Xorg (_start+0x2e) [0x5592375ccf0e]
[   233.174] (EE) 
[   233.174] (EE) Segmentation fault at address 0x0
[   233.174] (EE) 
Fatal server error:
[   233.174] (EE) Caught signal 11 (Segmentation fault). Server aborting
[   233.174] (EE) 
[   233.174] (EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[   233.174] (EE) Please also check the log file at "/home/ubuntu/.local/share/xorg/Xorg.0.log" for additional information.
[   233.174] (EE) 
[   233.174] (II) AIGLX: Suspending AIGLX clients for VT switch
[   233.178] (EE) Server terminated with error (1). Closing log file.

Of course this could be unrelated to the %sign but I thought it was interesting and possibly related

Edited Dec 28, 2021 by mini_ninja_64
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking