After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 710730 - Calling Atspi.Component.contains fails sometimes
Calling Atspi.Component.contains fails sometimes
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: at-spi2-core
unspecified
Other Linux
: Normal normal
: ---
Assigned To: At-spi maintainer(s)
At-spi maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-10-23 15:33 UTC by Vadim Rutkovsky
Modified: 2013-10-24 15:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test to reproduce the bug (2.34 KB, text/x-csrc)
2013-10-23 17:15 UTC, Alejandro Piñeiro Iglesias (IRC: infapi00)
Details

Description Vadim Rutkovsky 2013-10-23 15:33:26 UTC
Calling pyatspi.Component.contains with any params crashes with:

  • File "/usr/lib/python2.7/site-packages/pyatspi/component.py", line 94 in contains
    return Atspi.Component.contains(self.obj, x, y, coord_type)
  • File "/usr/lib64/python2.7/site-packages/gi/types.py", line 113 in function
    return info.invoke(*args, **kwargs)
GError: Method "Contains" with signature "iin" on interface "org.a11y.atspi.Component" doesn't exist

Reproduced in python-pyatspi_2.10.0+dfsg-0ubuntu1_all and pyatspi-2.8.0-2
Comment 1 Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-10-23 17:15:49 UTC
Created attachment 257939 [details]
Test to reproduce the bug

At first I was not able to reproduce this bug. Finally I got that, so I will upload the steps.

STEPS TO REPRODUCE IT
1. Compile test attached (is a little C program that adds some atspi listeners).
2. Open gedit
3. Run the listener in a different terminal
4. Click with the mouse on one of the Gedit menus

NOTES
If you do that, you get that message, but only the first time. I needed to do Click on one of the elements of gedit. I was not able to reproduce it just by Alt-tab on gedit window.

As you can see, I was able to reproduce it using directly atspi library. So it doesn't seems a bug on pyatspi. So I will move the bug to a different component.
Comment 2 Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-10-23 17:16:27 UTC
Moving to at-spi2-core. See comment 1.
Comment 3 Alejandro Piñeiro Iglesias (IRC: infapi00) 2013-10-23 17:19:03 UTC
Editing the summary. This is not a crash. My program (and a equivalent one written in python) doesn't crash, but just the method call fails (and not always).
Comment 4 Mike Gorse 2013-10-23 20:51:31 UTC
I'm surprised no one noticed that it was broken until now.

There were tro separate problems (at-spi2-atk named the method "contains", rather than "Contains", and at-spi2-core was sending an int16 for the coord type rather than a uint32).

Should be fixed in master and gnome-3-10, anyhow, but you'll need to update at-spi2-core and at-spi2-atk. Thanks for the report.
Comment 5 Vadim Rutkovsky 2013-10-24 09:43:58 UTC
This looks like a simple fix, can this be also backported to gnome-3-8?
Comment 6 Mike Gorse 2013-10-24 15:44:40 UTC
I've just cherry-picked the commits and applied them to the gnome-3-8 branch, and they apply as-is, although I hadn't been planning on making any more 3.8 releases.