Newer xorg-servers have some kind of automatic input device detection on server startup. I discovered a configuration that makes the server crash during initialisation. I'm talking about crashes on xorg-server-1.1.99.901 and xorg-server-1.1.99.902. This ServerLayout works: Section "ServerLayout" Identifier "normal" Screen "Screen0" Inputdevice "Mouse0" "Corepointer" Inputdevice "Keyboard0" EndSection This ServerLayout also works (autodetection): Section "ServerLayout" Identifier "normal" Screen "Screen0" EndSection This one crashes (say: semi-automatic): Section "ServerLayout" Identifier "normal" Screen "Screen0" Inputdevice "Mouse0" "Corepointer" EndSection The crash only happens when using anything but "mouse" or "void" (for example: "evdev") in the Inputdevice section of Mouse0. I looked into this problem further and found this: xorg-server-1.1.1 is OK xorg-server-1.1.99.901 is CRASHING xorg-server-1.1.99.902 is CRASHING The code causing the crash is this (hw/xfree86/common/xf86Config.c): 1616 for (i = servlayoutp->inputs; i->driver; i++) { 1617 if (!strcmp(i->driver, "void") || !strcmp(i->driver, "mouse")) { 1618 found = 1; break; 1619 } 1620 } If this code wants to iterate over the inputs, then i->diver must be set to NULL at the end of the array or the code crashes. Use i->identifier instead OR the patch I put on my webspace: http://gerte.nietbelangrijk.nl/xorg-server-segpatch.txt Thank you, Gerte
Using i->identifier seems to be more reasonable, as I've seen (without much looking) three additional places that would have to be patched to NULL ->driver as well. Other than that, trivially correct. Commiting. Adding as a potential 7.2 commit candidate as well.
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.