On 01/06/2012 06:05 PM, Chase Douglas wrote: > Hi all, > > I tried to track down the bug in the X staging ppa > (ppa:ubuntu-x-swat/x-staging) that causes trackpads to flip to the edge > of the screen. This is what I found: > > In the X server when there's a relative motion event it computes an > acceleration for it. You can follow the events from QueuePointerEvents() > to BasicComputeAcceleration(). BasicComputeAcceleration() then calls a > function pointer, which by default for the X synaptics driver calls back > into the driver's SynapticsAccelerationProfile() function. > > If you set a breakpoint in BasicComputeAcceleration() with the condition > of "result > 10000", you'll get a hit. When you continue, your pointer > will flip to an edge of the screen. Generally, the value of the result > variable is on the order of +<some value>e+304 or inf when this occurs. > The next step is to try setting a breakpoint in > SynapticsAccelerationProfile() with the condition "accelfct > 10000" on > the return statement. > > I compiled xserver-xorg-input-synaptics with noopt, but I wasn't able to > trigger the bug. Then, I compiled with the default optimizations, and > the bug reappeared, but the breakpoint with the condition was never hit. > I tried removing the condition, and the breakpoint worked as expected. > > I've sent this to both ubuntu-x and ubuntu-devel to ask if anyone has > any ideas on how to debug this without getting to the level of > compiler/assembly/linker debugging :).
Nevermind, I should have looked closer at the build log. The signature of the acceleration callback changed to returning a double instead of a float. This emitted a warning that I failed to see. -- Chase -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel