Bug 20119 - pyatspi will deadlock if an app tries to inspect itself
Summary: pyatspi will deadlock if an app tries to inspect itself
Status: CLOSED FIXED
Alias: None
Product: at-spi2
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: Mark Doffman
QA Contact:
URL:
Whiteboard:
Keywords:
: 20430 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-14 12:45 UTC by Mike Gorse
Modified: 2015-09-07 15:36 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Mike Gorse 2009-02-14 12:45:14 UTC
An application such as Orca may itself expose information via atk.  Cur
rently, if orca is run, pyatspi will deadlock when it tries to call methods on itself.  Dbind has code to work around this for cspi (it will call dbus_message_read_write_dispatch if the destination is the same as the sender).  An approach like this will not currently work with dbus-python because it calls dbus_bus_get_private for its connection.

I think that we will need to modify dbus-python to add a flag in DBusConnection and the bindings to optionally call dbus_bus_get rather than dbus_bus_get_private, but I wanted to file a bug here to track the issue for at-spi and see if anyone reading this had any other suggestions.
Comment 1 Mark Doffman 2009-03-16 02:17:21 UTC
commit 714510e05fc7b7811c2fa862a8bb4e95ca75fd8e
Author: Mark Doffman <mdoff@silver-wind.(none)>
Date:   Tue Mar 3 17:06:57 2009 +0000

    2009-03-03 Mark Doffman <mark.doffman@codethink.co.uk>
            * pyatspi/applicationcache.py
              Add a hack so that the AT is not accessible
              over AT-SPI. This is until pyatspi has re-entrant
              method calls.

This commit adds a work-around for the problem. Within pyatspi the AT is not accessible. (Cannot call itself)
Comment 2 Mark Doffman 2009-12-11 05:42:54 UTC
Commit ab605bb1dfa167bad6fd614a35d04c94b8b4cdb3

Added re-entrancy for all D-Bus methods. Applications using pyatspi may now inspect AT-SPI methods in the same process.
Comment 3 Mark Doffman 2010-01-24 08:38:24 UTC
*** Bug 20430 has been marked as a duplicate of this bug. ***
Comment 4 vinayak 2015-09-07 15:36:57 UTC
tested in release 06-09-2015 , working as per its functionality


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.