Another setting that makes Xorg segfault is AutoEnableDevices "false". All 
these settings
have one common behavior: it xf86ConfigLayout.inputs to contain a list of 
devices.

In xf86Init.c:809 InitInput(), the loop is executed if the above condition 
(Auto*Devices
false) holds. An excerpt:
 808     /* Initialize all configured input devices */
 809     for (pInfo = xf86ConfigLayout.inputs; pInfo && *pInfo; pInfo++) {
 810         (*pInfo)->options = xf86AddNewOption((*pInfo)->options, "driver", 
(*pInfo)->driver);
 811         (*pInfo)->options = xf86AddNewOption((*pInfo)->options, 
"identifier", (*pInfo)->name);
 812         /* If one fails, the others will too */
 813         if (NewInputDeviceRequest((*pInfo)->options, NULL, &dev) == 
BadAlloc)
 814             break;
 815     }

Line 813 is the one to pay attention to. It passes 
xf86ConfigLayout.inputs->options to
NewInputDeviceRequest. This seems to be a XF86OptionPtr:
(gdb) print *(XF86OptionPtr)xf86ConfigLayout.inputs->options
$1 = {list = {next = 0x555555a17910}, opt_name = 0x555555a179a0 "CorePointer", 
opt_val = 0x555555a17980 "on", opt_used = 0, opt_comment = 0x0}

NewInputDeviceRequest expects an InputOption * which will look like:
(gdb) print *(InputOption*)xf86ConfigLayout.inputs->options
$2 = {key = 0x555555a17910 "@z\241UUU", value = 0x555555a179a0 "CorePointer", 
next = 0x555555a17980}
That's exactly the garbage that I got in the report. What's more important, 
what change
caused this? Xorg -configure segfaults as well, though I'm not sure if it's 
related to
this issue.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/931397

Title:
  Xorg crashes with AutoAddDevices "false"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/931397/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to