Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jeremy Huddleston <jeremyhu-2kanFRK1NckAvxtiuMwx3w <at> public.gmane.org>
Subject: libXi regression (was Re: XQuartz tablet mouse events are at the wrong location and other Xinput headaches)
Newsgroups: gmane.comp.freedesktop.xorg.devel
Date: Thursday 15th March 2012 01:00:00 UTC (over 5 years ago)
Reverting c1a5a70b51f12dedf354102217c7cd4247ed3a4b from libXi fixed the
issue for me.  I haven't looked into why, but the patch's changes are
certainly related:

good: libXi-1.5.99.3
bad: libXi-1.6.0

$ git bisect log
# bad: [70b730b0548ca9e408f14f2576b972beb32a0ad0] libXi 1.6.0
# good: [34964b05c16161de65709d60799b9ad97ce56296] libXi 1.5.99.3
git bisect start 'libXi-1.6.0' 'libXi-1.5.99.3'
# 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
commit c1a5a70b51f12dedf354102217c7cd4247ed3a4b
Author: Michał Masłowski 
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.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=38331
    Signed-off-by: Michał Masłowski 
    Signed-off-by: Peter Hutterer 

:040000 040000 6b49f07dcdd66ae31add8e9b543e6d6a0586231c
a389cffc1796584cc7e90ea296b57f7ecf2224d9 M	src


On Mar 14, 2012, at 5:06 PM, Peter Hutterer 
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 1.5.99.2 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.
> 
> Cheers,
>  Peter

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel
 
CD: 4ms