X server testing

Thomas Jaeger thjaeger at gmail.com
Mon Jun 15 19:49:28 PDT 2009


Hi Peter,

Here's another list of issues I've noticed over the past few weeks and
questions that have come up.

* The server crashes (Xext/xtest.c, line 386) when a virtual XTest is
detached due to a device grab and a client tries to send an event
through that device.  Similarly, removing a master device whose XTest
device is floated due to a grab will result in a crash.

* A related question is what the best way to detect virtual XTest
devices is.  I'm currently checking whether the device name ends in
"Xtst pointer", which seems slightly hackish, but should be fine as long
as the servers keeps using a predictable name for the device.

* I'm seeing random crashes when using the xi2 branch of easystroke that
I can't make any sense of (gdb backtrace attached).  I currently don't
know how to reproduce the issue, but I'll keep you posted as I find out
more.

* The super modifier (Mod4Mask) isn't reported any longer in state field
of core events and passive grabs containing this modifier in their
modifier mask don't work anymore.

* My tablet's valuators (which should be absolute) are reported as
having mode 3 (as opposed to XIModeAbsolute == 1 or XIModeRelative ==
0), which causes xinput to list them as relative devices.

* set_valuators (in dix/getevents.c) seems fishy to me, should this be
i instead of first_valuator + i?

* xinput will crash if remove-master is called with returnMode
AttachToMaster but no further argument.  I've attached two patches that
will return the pointer/keyboard back to the VCP/VCK in this case.  The
first patch assumes that the first pointer/keyboard master device is the
VCP/VCK, the second - slightly simpler - patch identifies VCP and VCK by
name -- I couldn't decide which one is better.

* Since people are likely to turn to xinput for example code, I've also
attached a patch replacing the custom BitIsOn/SetBit macros by the
standard XIMaskIsSet/XISetMask macros.

* xinput's test-xi2 reports incorrect event coordinates.  Patch attached

* Proximity events aren't reported as XI2 events at this points.  This
is not a big deal to me, I'm basically just making sure that you're
aware of this.

* Subpixel coordinates are not working for me.  Glancing through the
code, I think this is to be expected for devices like my tablet whose
device resolution is higher than the screen resolution, but it seems
that this should work for accelerated devices like my trackpoint.  Once
again, not really a big deal.

Thanks,
Tom
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xserver-crash.txt
Url: http://lists.x.org/archives/xorg-devel/attachments/20090615/42f2898f/attachment.txt 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-reattach-Default-to-return-to-VCP-VCK-1.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20090615/42f2898f/attachment.bin 


More information about the xorg-devel mailing list