uTouch hangs using XCB back end if X server does not support gesture protocol

Bug #898175 reported by Stephen M. Webb
40
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Geis
Fix Released
Critical
Stephen M. Webb
utouch-geis (Ubuntu)
Fix Released
Undecided
Stephen M. Webb

Bug Description

When attempting to use the XCB back end (either explicitly or as a fallback from the default back end) and the X server does not support the XInput gesture protocol extension the back end does not initialize properly and geis_event_dispatch() will hang.

Related branches

Stephen M. Webb (bregma)
Changed in utouch-geis (Ubuntu):
status: New → Confirmed
assignee: nobody → Stephen M. Webb (bregma)
Revision history for this message
Russ Dill (russ-dill) wrote :
Download full text (6.4 KiB)

russ@russ-laptop:~ $ GEIS_DEBUG=3 evince CSE\ 598/xtp071.pdf
GEIS(warning)-_set_valist:565 back end not specified, defaulting to DBus
GEIS(debug)-geis_backend_by_name:123 creating back end of class "com.canonical.utouch.backend.dbus"
GEIS(debug)-geis_register_gesture_class:967 registering class "Flick" id 128
GEIS(debug)-geis_backend_multiplexor_pump:398 activity 0x1 on fd 14 callback_info=0x7fdd2ad84a90
GEIS(warning)-_locator_message_handler:120 server not found!
GEIS(debug)-geis_backend_multiplexor_pump:398 activity 0x1 on fd 12 callback_info=0x7fdd2adca580
GEIS(debug)-_input_event_handler:214 input event available
GEIS(debug)-_default_output_event_callback:102 posting output event
GEIS(debug)-geis_backend_multiplexor_pump:398 activity 0x1 on fd 12 callback_info=0x7fdd2adca580
GEIS(debug)-_input_event_handler:214 input event available
GEIS(debug)-geis_backend_delete:160 destroying back end com.canonical.utouch.backend.dbus
GEIS(debug)-geis_backend_by_name:123 creating back end of class "com.canonical.utouch.backend.xcb"
GEIS(error)-_verify_xcb_version:285 failed to receive XCB gesture version reply.

russ@russ-laptop:~ $ gdb evince
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/evince...Reading symbols from /usr/lib/debug/usr/bin/evince...done.
done.
(gdb) run CSE\ 598/xtp071.pdf
Starting program: /usr/bin/evince CSE\ 598/xtp071.pdf
[Thread debugging using libthread_db enabled]
[New Thread 0x7fa8ad04a700 (LWP 7756)]
[New Thread 0x7fa8ac849700 (LWP 7757)]
^C
Program received signal SIGINT, Interrupt.
0x00007fa8b59f78d3 in select () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
 in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0 0x00007fa8b59f78d3 in select () at ../sysdeps/unix/syscall-template.S:82
#1 0x00007fa8b0c8ba9f in geis_init () from /usr/lib/libutouch-geis.so.1
#2 0x00007fa8b4eefc53 in ?? () from /usr/lib/libgrip.so.0
#3 0x00007fa8b6887072 in g_object_newv (object_type=140362674175968, n_parameters=0, parameters=0x0)
    at /build/buildd/glib2.0-2.31.0/./gobject/gobject.c:1412
#4 0x00007fa8b68879ec in g_object_new (object_type=140362674175968, first_property_name=0x0) at /build/buildd/glib2.0-2.31.0/./gobject/gobject.c:1322
#5 0x00007fa8b86d15ed in ev_view_set_property (object=<optimized out>, prop_id=<optimized out>, value=0x7fff72b67030, pspec=0x7fa8bb548630)
    at /build/buildd/evince-3.2.1/./libview/ev-view.c:4841
#6 0x00007fa8b6887d11 in object_set_property (nqueue=0x7fa8bb55b4e0, value=0x7fff72b67010, pspec=0x7fa8bb548630, object=0x7fa8bb55e1f0)
    at /build/buildd/glib2.0-2.31.0/./gobject/gobject.c:1199
#7 g_object_set_valist (object=0x7fa8bb55e1f0, first_property_name=<optimized out>, var_args=0...

Read more...

Revision history for this message
meh (meh-deactivatedaccount) wrote :

this completely breaks evince...
could you please not patch the crap out of everything with the bugdriven canoncial stuff?

Revision history for this message
meh (meh-deactivatedaccount) wrote :

replacing this version using the geisless debian version gives me a working evince:
http://ftp.us.debian.org/debian/pool/main/e/evince/evince_3.2.1-1_amd64.deb
http://ftp.us.debian.org/debian/pool/main/e/evince/libevince3-3_3.2.1-1_amd64.deb

how can such a silly but showstopping bug exist for +5 weeks?
i code myself, and i know shit happens, but please maintain your software if you insist on patching it into everything under the sun

Stephen M. Webb (bregma)
Changed in utouch-geis (Ubuntu):
status: Confirmed → In Progress
Changed in utouch-geis:
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Stephen M. Webb (bregma)
milestone: none → utouch-geis-2.2.3
Revision history for this message
Chase Douglas (chasedouglas) wrote :

This bug is a blocker for uploading the new X stack into Precise. We want to merge it as soon as next week, so this has a very high priority.

Revision history for this message
meh (meh-deactivatedaccount) wrote :

This wasn't the first time I was affected by ubuntu specific patches breaking my apps, so I got a little annoyed... sorry about the tone on my last comments.
Thanks for taking care of it.

Stephen M. Webb (bregma)
Changed in utouch-geis:
status: In Progress → Fix Committed
Stephen M. Webb (bregma)
Changed in utouch-geis:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package utouch-geis - 2.2.3-0ubuntu1

---------------
utouch-geis (2.2.3-0ubuntu1) precise; urgency=low

  * New upstream release.
  * Fixed XCB back end hang on failure in fallback mode (LP: #898175).
  * Fixed geisview tool not reporting gestures (LP: #903320).
  * Fixed build failures when XI2.1 is not enabled.
 -- <email address hidden> (Stephen M. Webb) Fri, 13 Jan 2012 06:08:30 -0500

Changed in utouch-geis (Ubuntu):
status: In Progress → 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.