libXi regression (was Re: XQuartz tablet mouse events are at the wrong location and other Xinput headaches)
jeremyhu at apple.com
Wed Mar 14 18:00:00 PDT 2012
Reverting c1a5a70b51f12dedf354102217c7cd4247ed3a4b from libXi fixed the issue for me. I haven't looked into why, but the patch's changes are certainly related:
$ git bisect log
# bad: [70b730b0548ca9e408f14f2576b972beb32a0ad0] libXi 1.6.0
# good: [34964b05c16161de65709d60799b9ad97ce56296] libXi 220.127.116.11
git bisect start 'libXi-1.6.0' 'libXi-18.104.22.168'
# bad: [1b9f0394c3d4d3833f8560ae8170a4d5842419ab] Fix XIScrollClass increment value on 32-bit machines
git bisect bad 1b9f0394c3d4d3833f8560ae8170a4d5842419ab
# bad: [c1a5a70b51f12dedf354102217c7cd4247ed3a4b] Fix bus error on MIPS N32 for bug #38331.
git bisect bad c1a5a70b51f12dedf354102217c7cd4247ed3a4b
c1a5a70b51f12dedf354102217c7cd4247ed3a4b is the first bad commit
Author: Michał Masłowski <mtjm at mtjm.eu>
Date: Tue Feb 21 20:54:40 2012 +0100
Fix bus error on MIPS N32 for bug #38331.
XIValuatorClassInfo and XIScrollClassInfo might have an address
of 4 bytes modulo 8, while they contain doubles which need 8 byte
alignment. This is fixed by adding extra padding after each structure
or array in sizeDeviceClassType and adding helper functions to
determine sizes and padding only in one place.
Signed-off-by: Michał Masłowski <mtjm at mtjm.eu>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
:040000 040000 6b49f07dcdd66ae31add8e9b543e6d6a0586231c a389cffc1796584cc7e90ea296b57f7ecf2224d9 M src
On Mar 14, 2012, at 5:06 PM, Peter Hutterer <peter.hutterer at who-t.net> wrote:
>> (gdb) print b->num_buttons
>> $24 = 7
>> (gdb) print b->labels[-1]
>> $25 = 498216206336
>> Based on xlsatoms, I'd expect 116-122 as the button atoms:
>> 116 Button Left
>> 117 Button Middle
>> 118 Button Right
>> 119 Button Wheel Up
>> 120 Button Wheel Down
>> 121 Button Horiz Wheel Left
>> 122 Button Horiz Wheel Right
>> It works when the client is i386/Linux or i386/darwin and fails when x86_64/darwin, ppc/Linux, or ppc64/Linux ... is this possibly an inputproto issue?
> libXi or xinput, I suspect. curious though, since it works fine here in
> x86_64. Can you bisect libXi from 22.214.171.124 to 1.6.0, I wonder if we
> introduced a bug here with the alignments.
> 2d638fc37b0dbf28e5c826f74f68ada83a8c3e2b is another possible candidate to
> revert and test.
> put a breakpoint in libXi's copy_classes on the XIButtonClass case and see
> what comes down the wire and where the offset is introduced. if it's already
> wrong on the wire, then the server has a bug here.
More information about the xorg-devel