Comment 5 for bug 466532

Revision history for this message
Tom Jaeger (thjaeger) wrote : Re: [Bug 466532] Re: [Karmic]Easystroke: Crash when record. (kernel)

MephSnake wrote:
> /home/daniel
>> apt-get source easystroke
> (.....)
> gpgv: Firmado el jue 20 ago 2009 18:50:04 CEST usando clave DSA ID 491E5389
> gpgv: Imposible comprobar la firma: Clave pública no encontrada
> dpkg-source: aviso: fallo al verificar la firma en ./easystroke_0.4.9-0ubuntu1.dsc
> dpkg-source: información: extrayendo easystroke en easystroke-0.4.9
> dpkg-source: información: easystroke_0.4.9.orig.tar.gz desempaquetado
> dpkg-source: información: aplicando easystroke_0.4.9-0ubuntu1.diff.gz
>
> This means that the sources packet, is signed by ID 491E5389, and this
> ID is from Julien Lavergne, that's actually working in the AWN
> applications, whis is a coincidence? an error? Did Julien, packed the
> sources for ubuntu? I'm confused.

Julian uploaded the package to ubuntu, since I'm not a MOTU and
therefore can't do the upload myself.

>
> As for your instructions:
>
> Leyendo símbolos desde /home/daniel/easystroke-0.4.9/easystroke...done.
> (gdb) run
> Starting program: /home/daniel/easystroke-0.4.9/easystroke
> [Thread debugging using libthread_db enabled]
>
> Program received signal SIGFPE, Arithmetic exception.
> 0x000000000046e09e in Grabber::XiDevice::normalize_pressure (
> this=0x7fffffffe6d0, ev=...) at grabber.h:94
> 94 return 255 * (pressure - pressure_min) / (pressure_max - pressure_min);
> (gdb) bt
> #0 0x000000000046e09e in Grabber::XiDevice::normalize_pressure (
> this=0x7fffffffe6d0, ev=...) at grabber.h:94
> #1 Main::handle_event (this=0x7fffffffe6d0, ev=...) at main.cc:1810
> Cannot access memory in adress 0x7fffffffce98

Thanks, this was very helpful. So your mouse reports 3 or more axes,
and easystroke assumes that the third axis represents pressure and is in
absolute coordinates, without actually making sure that this is an
absolute axis, so there is a division by zero when normalizing the axis
range. The solution is to only support pressure if the pressure axis
has min < max.

I'm curious, though, what kind of device this is and what information
the third axis contains. Can you attach the output of 'xinput list'?

I've fixed this in git and uploaded an updated package to my PPA, which
should build within the next hour or so. Please just install the
package and don't add the PPA to your sources.list, as I use the PPA as
a dumping ground for all sorts of strange packages:

https://launchpad.net/~thjaeger/+archive/ppa/+packages

Once xserver-1.7 gets uploaded to lucid, I'll get easystroke 0.5 plus
this fix into ubuntu, and after that we can think about a SRU.