Geis crashes when it fails to connect to XCB gesture service

Bug #825359 reported by Alessandro Crismani
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Geis
Fix Released
Medium
Stephen M. Webb
utouch-geis (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hi everybody, I am trying to use utouch and touchegg on Arch Linux. I've compiled the following packages from bzr master as of today:

local/utouch-evemu-bzr 41-1 (unity2d-bzr)
    Event Emulation for the uTouch Stack
local/utouch-frame-bzr 41-1 (unity2d-bzr)
    Touch Frame Library
local/utouch-geis-bzr 156-1 (unity2d-bzr)
    Implementation of the GEIS (Gesture Engine Interface and Support) interface.
local/utouch-grail-bzr 166-1 (unity2d-bzr)
    Gesture Recognition And Instantiation Library

When I run geistest I get:

alessandro at alessandro-thinky in utouch-geis-bzr
$ geistest $(xwininfo -root | grep "Window id" | awk '{print $4}')
*** glibc detected *** geistest: free(): invalid pointer: 0x0000000001d79b58 ***
======= Backtrace: =========
/lib/libc.so.6(+0x7366a)[0x7fd8f6d0466a]
/lib/libc.so.6(cfree+0x6c)[0x7fd8f6d0854c]
/usr/lib/libutouch-geis.so.1(+0x633f)[0x7fd8f743033f]
/usr/lib/libutouch-geis.so.1(geis_new+0x275)[0x7fd8f7435ff5]
/usr/lib/libutouch-geis.so.1(geis_init+0x79)[0x7fd8f7435289]
geistest[0x4016f9]
geistest[0x401807]
geistest[0x400fbd]
/lib/libc.so.6(__libc_start_main+0xed)[0x7fd8f6cb217d]
geistest[0x401291]
======= Memory map: ========
00400000-00403000 r-xp 00000000 08:11 961940 /usr/bin/geistest
00602000-00603000 rw-p 00002000 08:11 961940 /usr/bin/geistest
01d74000-01d95000 rw-p 00000000 00:00 0 [heap]
7fd8f0000000-7fd8f0021000 rw-p 00000000 00:00 0
7fd8f0021000-7fd8f4000000 ---p 00000000 00:00 0
7fd8f5444000-7fd8f5459000 r-xp 00000000 08:11 924797 /usr/lib/libgcc_s.so.1
7fd8f5459000-7fd8f5659000 ---p 00015000 08:11 924797 /usr/lib/libgcc_s.so.1
7fd8f5659000-7fd8f565a000 rw-p 00015000 08:11 924797 /usr/lib/libgcc_s.so.1
7fd8f565a000-7fd8f566c000 r-xp 00000000 08:11 938089 /usr/lib/libXext.so.6.4.0
7fd8f566c000-7fd8f586b000 ---p 00012000 08:11 938089 /usr/lib/libXext.so.6.4.0
7fd8f586b000-7fd8f586c000 rw-p 00011000 08:11 938089 /usr/lib/libXext.so.6.4.0
7fd8f586c000-7fd8f5871000 r-xp 00000000 08:11 936767 /usr/lib/libXdmcp.so.6.0.0
7fd8f5871000-7fd8f5a70000 ---p 00005000 08:11 936767 /usr/lib/libXdmcp.so.6.0.0
7fd8f5a70000-7fd8f5a71000 rw-p 00004000 08:11 936767 /usr/lib/libXdmcp.so.6.0.0
7fd8f5a71000-7fd8f5a73000 r-xp 00000000 08:11 936784 /usr/lib/libXau.so.6.0.0
7fd8f5a73000-7fd8f5c72000 ---p 00002000 08:11 936784 /usr/lib/libXau.so.6.0.0
7fd8f5c72000-7fd8f5c73000 rw-p 00001000 08:11 936784 /usr/lib/libXau.so.6.0.0
7fd8f5c73000-7fd8f5c7a000 r-xp 00000000 08:11 788726 /lib/librt-2.14.so
7fd8f5c7a000-7fd8f5e79000 ---p 00007000 08:11 788726 /lib/librt-2.14.so
7fd8f5e79000-7fd8f5e7a000 r--p 00006000 08:11 788726 /lib/librt-2.14.so
7fd8f5e7a000-7fd8f5e7b000 rw-p 00007000 08:11 788726 /lib/librt-2.14.so
7fd8f5e7b000-7fd8f5ebd000 r-xp 00000000 08:11 926530 /usr/lib/libdbus-1.so.3.5.7
7fd8f5ebd000-7fd8f60bd000 ---p 00042000 08:11 926530 /usr/lib/libdbus-1.so.3.5.7
7fd8f60bd000-7fd8f60bf000 rw-p 00042000 08:11 926530 /usr/lib/libdbus-1.so.3.5.7
7fd8f60bf000-7fd8f60c1000 r-xp 00000000 08:11 788007 /lib/libdl-2.14.so
7fd8f60c1000-7fd8f62c1000 ---p 00002000 08:11 788007 /lib/libdl-2.14.so
7fd8f62c1000-7fd8f62c2000 r--p 00002000 08:11 788007 /lib/libdl-2.14.so
7fd8f62c2000-7fd8f62c3000 rw-p 00003000 08:11 788007 /lib/libdl-2.14.so
7fd8f62c3000-7fd8f62d1000 r-xp 00000000 08:11 938228 /usr/lib/libXi.so.6.1.0
7fd8f62d1000-7fd8f64d1000 ---p 0000e000 08:11 938228 /usr/lib/libXi.so.6.1.0
7fd8f64d1000-7fd8f64d2000 rw-p 0000e000 08:11 938228 /usr/lib/libXi.so.6.1.0
7fd8f64d2000-7fd8f6608000 r-xp 00000000 08:11 938021 /usr/lib/libX11.so.6.3.0
7fd8f6608000-7fd8f6808000 ---p 00136000 08:11 938021 /usr/lib/libX11.so.6.3.0
7fd8f6808000-7fd8f680e000 rw-p 00136000 08:11 938021 /usr/lib/libX11.so.6.3.0
7fd8f680e000-7fd8f680f000 r-xp 00000000 08:11 938022 /usr/lib/libX11-xcb.so.1.0.0
7fd8f680f000-7fd8f6a0e000 ---p 00001000 08:11 938022 /usr/lib/libX11-xcb.so.1.0.0
7fd8f6a0e000-7fd8f6a0f000 rw-p 00000000 08:11 938022 /usr/lib/libX11-xcb.so.1.0.0
7fd8f6a0f000-7fd8f6a90000 r-xp 00000000 08:11 788001 /lib/libm-2.14.so
7fd8f6a90000-7fd8f6c8f000 ---p 00081000 08:11 788001 /lib/libm-2.14.so
7fd8f6c8f000-7fd8f6c90000 r--p 00080000 08:11 788001 /lib/libm-2.14.so
7fd8f6c90000-7fd8f6c91000 rw-p 00081000 08:11 788001 /lib/libm-2.14.so
7fd8f6c91000-7fd8f6de8000 r-xp 00000000 08:11 788000 /lib/libc-2.14.so
7fd8f6de8000-7fd8f6fe8000 ---p 00157000 08:11 788000 /lib/libc-2.14.so
7fd8f6fe8000-7fd8f6fec000 r--p 00157000 08:11 788000 /lib/libc-2.14.so
7fd8f6fec000-7fd8f6fed000 rw-p 0015b000 08:11 788000 /lib/libc-2.14.so
7fd8f6fed000-7fd8f6ff2000 rw-p 00000000 00:00 0
7fd8f6ff2000-7fd8f700d000 r-xp 00000000 08:11 936839 /usr/lib/libxcb.so.1.1.0
7fd8f700d000-7fd8f720c000 ---p 0001b000 08:11 936839 /usr/lib/libxcb.so.1.1.0
7fd8f720c000-7fd8f720d000 rw-p 0001a000 08:11 936839 /usr/lib/libxcb.so.1.1.0
7fd8f720d000-7fd8f7224000 r-xp 00000000 08:11 787974 /lib/libpthread-2.14.so
7fd8f7224000-7fd8f7424000 ---p 00017000 08:11 787974 /lib/libpthread-2.14.so
7fd8f7424000-7fd8f7425000 r--p 00017000 08:11 787974 /lib/libpthread-2.14.so
7fd8f7425000-7fd8f7426000 rw-p 00018000 08:11 787974 /lib/libpthread-2.14.so
7fd8f7426000-7fd8f742a000 rw-p 00000000 00:00 0
7fd8f742a000-7fd8f7441000 r-xp 00000000 08:11 961933 /usr/lib/libutouch-geis.so.1.2.0
7fd8f7441000-7fd8f7641000 ---p 00017000 08:11 961933 /usr/lib/libutouch-geis.so.1.2.0
7fd8f7641000-7fd8f7643000 rw-p 00017000 08:11 961933 /usr/lib/libutouch-geis.so.1.2.0
7fd8f7643000-7fd8f7662000 r-xp 00000000 08:11 788003 /lib/ld-2.14.so
7fd8f7831000-7fd8f7839000 rw-p 00000000 00:00 0
7fd8f785f000-7fd8f7861000 rw-p 00000000 00:00 0
7fd8f7861000-7fd8f7862000 r--p 0001e000 08:11 788003 /lib/ld-2.14.so
7fd8f7862000-7fd8f7863000 rw-p 0001f000 08:11 788003 /lib/ld-2.14.so
7fd8f7863000-7fd8f7864000 rw-p 00000000 00:00 0
7fff5504a000-7fff5506b000 rw-p 00000000 00:00 0 [stack]
7fff55118000-7fff55119000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

Hope it helps

Related branches

Revision history for this message
Stephen M. Webb (bregma) wrote :

The crash does not obtain if the '-w' switch is used: geistest -w $(xwininfo -root | grep "Window id" | awk '{print $4}')

Revision history for this message
Stephen M. Webb (bregma) wrote :

Please run

GEIS_DEBUG=2 geistest -w $(xwininfo -root | grep "Window id" | awk '{print $4}') 2>geis_debug.log

and attach the output to this bug.

Changed in utouch-geis:
status: New → Incomplete
Revision history for this message
Alessandro Crismani (alessandro-crismani) wrote :

The log is very small, I am coping and pasting. What I get is

$ cat geis_debug.log
GEIS(error)-_verify_xcb_version:283 failed to receive XCB gesture version reply.

Revision history for this message
Stephen M. Webb (bregma) wrote :

Hmm, the cause is that the required evdev plugin is not available in your X server.

The bug is that geis should not crash under these circumstances.

Changed in utouch-geis:
status: Incomplete → Confirmed
importance: Undecided → Medium
assignee: nobody → Stephen M. Webb (bregma)
milestone: none → 2.1.3
Revision history for this message
Alessandro Crismani (alessandro-crismani) wrote :

Any hints on how can I enable that plugin? Sshould I rebuild the xorg-server pakage with some flags or simply install something that is missing?

Thanks a lot for your time

Stephen M. Webb (bregma)
Changed in utouch-geis:
status: Confirmed → In Progress
Revision history for this message
Chase Douglas (chasedouglas) wrote :

Hi Alessandro,

-- Note: This is a side tangent and unrelated to the bug itself --

Currently uTouch requires a modified X server and input modules. You can find the patches in the Ubuntu packages:

xorg-server:
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/xorg-server/oneiric/view/head:/debian/patches/501_xf86CoordinatesToWindow.patch
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/xorg-server/oneiric/view/head:/debian/patches/502_gestures-extension.patch

xserver-xorg-input-evdev:
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/xserver-xorg-input-evdev/oneiric/view/head:/debian/patches/101-gestures.patch

xserver-xorg-input-synaptics:
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/xserver-xorg-input-synaptics/oneiric/view/head:/debian/patches/117_gestures.patch

We are working to remove the requirement of a modified X server and input modules, but it will likely take around 6 months to get there.

Stephen M. Webb (bregma)
Changed in utouch-geis:
status: In Progress → Fix Committed
Revision history for this message
Thomas Oster (thommy-oster) wrote :

Hi, if someone gets the x-server and modules working with arch linux, please upload the PKGBUILDs to AUR.

To which version exactly do this patches apply? is there a source.tar.gz?

summary: - Invalid pointer error on Arch Linux
+ Geis crashes when it fails to connect to XCB gesture service
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package utouch-geis - 2.1.2-0ubuntu2

---------------
utouch-geis (2.1.2-0ubuntu2) oneiric; urgency=low

  * Fix memory leaks
  * Prevent crash on failure to connect to XCB gesture service (LP: #825359)
 -- Chase Douglas <email address hidden> Thu, 01 Sep 2011 16:37:56 -0700

Changed in utouch-geis (Ubuntu):
status: New → Fix Released
Stephen M. Webb (bregma)
Changed in utouch-geis:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.