Patrick Welche | 5 Apr 13:17 2012
Picon
Picon

at-spi2 and a11ytesting core dump

I am getting a repeatable core dump from ldtp when running the gcalctool.xml
test from a11ytesting (bin/mago --log-level=debug -a a11y -f gcalctool.xml):

Core was generated by `python2.6'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f7ff77d66c0 in ?? ()
(gdb) bt
#0  0x00007f7ff77d66c0 in ?? ()
#1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
    at atspi-event-listener.c:817
#2  0x00007f7fe0e13390 in _atspi_dbus_handle_event (bus=0x7f7ff6788400, 
    message=0x7f7ff77069e0, data=0x0) at atspi-event-listener.c:944
#3  0x00007f7fe0e15c18 in process_deferred_message (closure=0x7f7ff2319320)
    at atspi-misc.c:673
#4  0x00007f7fe0e15d2d in _atspi_process_deferred_messages (data=0x0)
    at atspi-misc.c:703
#5  0x00007f7ff0c3ffd2 in g_main_context_dispatch ()
   from /usr/pkg/lib/libglib-2.0.so.0

(gdb) frame 1
#1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
    at atspi-event-listener.c:817
817             entry->callback (atspi_event_copy (e), entry->user_data);
(gdb) print e
$1 = (AtspiEvent *) 0x7f7fffffa430
(gdb) print *e
$2 = {type = 0x7f7ff23197c0 "object:children-changed:add", 
  source = 0x7f7ff2ff2810, detail1 = 0, detail2 = 0, any_data = {
    g_type = 140187568332640, data = {{v_int = -218158304, 
        v_uint = 4076808992, v_long = 140187514383136, 
(Continue reading)

Nagappan Alagappan | 5 Apr 19:04 2012
Picon

Re: at-spi2 and a11ytesting core dump

Hi Patrick,


Which distribution are you trying with ?

I have seen some issue with at-spi2 in Ubuntu 11.10 / Fedora 14. Most of them got fixed for GNOME 3.4 (at-spi2) which is now part of Ubuntu 12.04.

Thanks
Nagappan

On Thu, Apr 5, 2012 at 4:17 AM, Patrick Welche <prlw1 <at> cam.ac.uk> wrote:
I am getting a repeatable core dump from ldtp when running the gcalctool.xml
test from a11ytesting (bin/mago --log-level=debug -a a11y -f gcalctool.xml):

Core was generated by `python2.6'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f7ff77d66c0 in ?? ()
(gdb) bt
#0  0x00007f7ff77d66c0 in ?? ()
#1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
   at atspi-event-listener.c:817
#2  0x00007f7fe0e13390 in _atspi_dbus_handle_event (bus=0x7f7ff6788400,
   message=0x7f7ff77069e0, data=0x0) at atspi-event-listener.c:944
#3  0x00007f7fe0e15c18 in process_deferred_message (closure=0x7f7ff2319320)
   at atspi-misc.c:673
#4  0x00007f7fe0e15d2d in _atspi_process_deferred_messages (data=0x0)
   at atspi-misc.c:703
#5  0x00007f7ff0c3ffd2 in g_main_context_dispatch ()
  from /usr/pkg/lib/libglib-2.0.so.0

(gdb) frame 1
#1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
   at atspi-event-listener.c:817
817             entry->callback (atspi_event_copy (e), entry->user_data);
(gdb) print e
$1 = (AtspiEvent *) 0x7f7fffffa430
(gdb) print *e
$2 = {type = 0x7f7ff23197c0 "object:children-changed:add",
 source = 0x7f7ff2ff2810, detail1 = 0, detail2 = 0, any_data = {
   g_type = 140187568332640, data = {{v_int = -218158304,
       v_uint = 4076808992, v_long = 140187514383136,
       v_ulong = 140187514383136, v_int64 = 140187514383136,
       v_uint64 = 140187514383136, v_float = -1.0108264e+31,
       v_double = 6.9261834832583127e-310, v_pointer = 0x7f7ff2ff2b20}, {
       v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0,
       v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}}
(gdb) print *entry
$3 = {callback = 0x7f7ff77d66c0, user_data = 0x7f7ff2ff8c50,
 callback_destroyed = 0x7f7ff77d65c0, category = 0x7f7ff7703c50 "Object",
 name = 0x7f7ff77d3a20 "ChildrenChanged", detail = 0x0}


The test box is using (at-spi2-core, at-spi2-atk, pyatspi) all version 2.4,
ldtp 2.3.0, accerciser 3.4.0. (i.e., latest tar balls)

One oddity is that the terminal in which ldtp -v is running generates:
(LDTB_DEBG 2 is set)

ldtp -v
sem_wait: Invalid argument
sem_post: Invalid argument
sem_wait: Invalid argument
sem_post: Invalid argument
sem_wait: Invalid argument
Segmentation fault (core dumped)

Who is using semaphores? (A quick look doesn't find any in at-spi2-core,
accerciser nor ldtp - have I missed some?)


The only trivial change I made to a11ytesting was:

--- mago/cmd/result.py  2011-10-09 16:01:33 +0000
+++ mago/cmd/result.py  2012-04-05 11:10:55 +0000
<at> -45,4 +45,4 <at> <at>
          self.append('screenshot', _logFile)
        except:
          # Screenshots fail to connect to xmlrpc socket in GNOME 3.0
-          self.append('screenshot failed',_logFile)
+          self.append('screenshot_failed',_logFile)

so I basically have no local modifications in the long string of
dependencies...


Any thoughts on where to look?

Cheers,

Patrick
_______________________________________________
gnome-accessibility-devel mailing list
gnome-accessibility-devel <at> gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel



--
Linux Desktop (GUI Application) Testing Project - http://ldtp.freedesktop.org
http://nagappanal.blogspot.com
_______________________________________________
gnome-accessibility-devel mailing list
gnome-accessibility-devel <at> gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
Mike Gorse | 6 Apr 00:31 2012

Re: at-spi2 and a11ytesting core dump

Hi Patrick,

What distro are you running, and what version of pygobject-3 are you 
using? I'll try to reproduce if I can find all of the dependencies and get 
them installed, but there were some pygobject bugs in the past...

Thanks,
-Mike

On Thu, 5 Apr 2012, Patrick Welche wrote:

> I am getting a repeatable core dump from ldtp when running the gcalctool.xml
> test from a11ytesting (bin/mago --log-level=debug -a a11y -f gcalctool.xml):
>
> Core was generated by `python2.6'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x00007f7ff77d66c0 in ?? ()
> (gdb) bt
> #0  0x00007f7ff77d66c0 in ?? ()
> #1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
>    at atspi-event-listener.c:817
> #2  0x00007f7fe0e13390 in _atspi_dbus_handle_event (bus=0x7f7ff6788400,
>    message=0x7f7ff77069e0, data=0x0) at atspi-event-listener.c:944
> #3  0x00007f7fe0e15c18 in process_deferred_message (closure=0x7f7ff2319320)
>    at atspi-misc.c:673
> #4  0x00007f7fe0e15d2d in _atspi_process_deferred_messages (data=0x0)
>    at atspi-misc.c:703
> #5  0x00007f7ff0c3ffd2 in g_main_context_dispatch ()
>   from /usr/pkg/lib/libglib-2.0.so.0
>
> (gdb) frame 1
> #1  0x00007f7fe0e12e05 in _atspi_send_event (e=0x7f7fffffa430)
>    at atspi-event-listener.c:817
> 817             entry->callback (atspi_event_copy (e), entry->user_data);
> (gdb) print e
> $1 = (AtspiEvent *) 0x7f7fffffa430
> (gdb) print *e
> $2 = {type = 0x7f7ff23197c0 "object:children-changed:add",
>  source = 0x7f7ff2ff2810, detail1 = 0, detail2 = 0, any_data = {
>    g_type = 140187568332640, data = {{v_int = -218158304,
>        v_uint = 4076808992, v_long = 140187514383136,
>        v_ulong = 140187514383136, v_int64 = 140187514383136,
>        v_uint64 = 140187514383136, v_float = -1.0108264e+31,
>        v_double = 6.9261834832583127e-310, v_pointer = 0x7f7ff2ff2b20}, {
>        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0,
>        v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}}
> (gdb) print *entry
> $3 = {callback = 0x7f7ff77d66c0, user_data = 0x7f7ff2ff8c50,
>  callback_destroyed = 0x7f7ff77d65c0, category = 0x7f7ff7703c50 "Object",
>  name = 0x7f7ff77d3a20 "ChildrenChanged", detail = 0x0}
>
>
> The test box is using (at-spi2-core, at-spi2-atk, pyatspi) all version 2.4,
> ldtp 2.3.0, accerciser 3.4.0. (i.e., latest tar balls)
>
> One oddity is that the terminal in which ldtp -v is running generates:
> (LDTB_DEBG 2 is set)
>
> ldtp -v
> sem_wait: Invalid argument
> sem_post: Invalid argument
> sem_wait: Invalid argument
> sem_post: Invalid argument
> sem_wait: Invalid argument
> Segmentation fault (core dumped)
>
> Who is using semaphores? (A quick look doesn't find any in at-spi2-core,
> accerciser nor ldtp - have I missed some?)
>
>
> The only trivial change I made to a11ytesting was:
>
> --- mago/cmd/result.py  2011-10-09 16:01:33 +0000
> +++ mago/cmd/result.py  2012-04-05 11:10:55 +0000
>  <at>  -45,4 +45,4  <at>  <at> 
>           self.append('screenshot', _logFile)
>         except:
>           # Screenshots fail to connect to xmlrpc socket in GNOME 3.0
> -          self.append('screenshot failed',_logFile)
> +          self.append('screenshot_failed',_logFile)
>
> so I basically have no local modifications in the long string of
> dependencies...
>
>
> Any thoughts on where to look?
>
> Cheers,
>
> Patrick
> _______________________________________________
> gnome-accessibility-devel mailing list
> gnome-accessibility-devel <at> gnome.org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
>
Patrick Welche | 6 Apr 13:52 2012
Picon
Picon

Re: at-spi2 and a11ytesting core dump

On Thu, Apr 05, 2012 at 06:31:31PM -0400, Mike Gorse wrote:
> What distro are you running, and what version of pygobject-3 are you
> using? I'll try to reproduce if I can find all of the dependencies
> and get them installed, but there were some pygobject bugs in the
> past...

Thanks for the responses Nagappan and Mike.

Being one of those old traditional coders, I am not using a "distro"
(hence my list of versions from tar files).

I'm using pygobject 3.0.4, python 2.6. AFAICT I can't attempt to use a
newer one because I only have glib 2.30.3, and upgrading glib is non-trivial.

Can you think of anything special about the "object:children-changed:add"
event? Or anywhere in the mound of dependencies which uses semaphores?
(Those sem_wait messages for ldtp surprise me...)

Cheers,

Patrick
Mike Gorse | 16 Apr 21:37 2012

ANNOUNCE: at-spi2-core 2.4.1 released

At-spi2-core 2.4.1 is now available for download at:

http://download.gnome.org/sources/at-spi2-core/2.4/

What is AT-SPI2
===============

AT-SPI2 is a D-Bus based accessibility framework. It defines a D-Bus
protocol for providing and accessing application accessibility
information. The project includes a library for bridging the D-Bus
protocol to the ATK API, allowing Gtk based applications to be made
accessible. It also contains a client (AT) side library in C and a wrapper
for Python.

What's changed in AT-SPI 2.4.0

* Fix a GError set when a method call returns a reply of the wrong type.

* Do not time out method calls for the first 15 seconds that an
   application is on the bus (work-around for Orca setting an application's
   script as "default" after a timeout on a slow-starting application).

Where can I get more information about AT-SPI2
==============================================

The project wiki is available at:

http://www.a11y.org/d-bus

How can I contribute to AT-SPI2?
================================

We need help testing with Gnome accessibility technologies, improving
performance, and generally tying up loose ends.  The above-referenced page
contains a list of known issues that should be fixed.

IRC   : #a11y on Gimpnet
E-Mail: accessibility-atspi <at> lists.linux-foundation.org

Development repositories can be found at:

git://git.gnome.org/pyatspi2
git://git.gnome.org/at-spi2-core
git://git.gnome.org/at-spi2-atk
Patrick Welche | 18 Apr 16:04 2012
Picon
Picon

Re: at-spi2 and a11ytesting core dump

On Thu, Apr 05, 2012 at 12:17:04PM +0100, Patrick Welche wrote:
> I am getting a repeatable core dump from ldtp when running the gcalctool.xml
> test from a11ytesting (bin/mago --log-level=debug -a a11y -f gcalctool.xml):
> 
> Core was generated by `python2.6'.
...
> $1 = (AtspiEvent *) 0x7f7fffffa430
> (gdb) print *e
> $2 = {type = 0x7f7ff23197c0 "object:children-changed:add", 
>   source = 0x7f7ff2ff2810, detail1 = 0, detail2 = 0, any_data = {
>     g_type = 140187568332640, data = {{v_int = -218158304, 
>         v_uint = 4076808992, v_long = 140187514383136, 
>         v_ulong = 140187514383136, v_int64 = 140187514383136, 
>         v_uint64 = 140187514383136, v_float = -1.0108264e+31, 
>         v_double = 6.9261834832583127e-310, v_pointer = 0x7f7ff2ff2b20}, {
>         v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, 
>         v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}}
> (gdb) print *entry
> $3 = {callback = 0x7f7ff77d66c0, user_data = 0x7f7ff2ff8c50, 
>   callback_destroyed = 0x7f7ff77d65c0, category = 0x7f7ff7703c50 "Object", 
>   name = 0x7f7ff77d3a20 "ChildrenChanged", detail = 0x0}
> 
> 
> The test box is using (at-spi2-core, at-spi2-atk, pyatspi) all version 2.4,
> ldtp 2.3.0, accerciser 3.4.0. (i.e., latest tar balls)

I just tried again after upgrading to at-spi2-core 2.4.1 and accerciser 3.4.1,
but no change (not too surprising given the changelogs...)

Is there any more information I could provide? (I have a repeatable test,
nice core dump etc.)

Cheers,

Patrick
Mike Gorse | 19 Apr 23:58 2012

Re: at-spi2 and a11ytesting core dump

On Fri, 6 Apr 2012, Patrick Welche wrote:

> Thanks for the responses Nagappan and Mike.
>
> Being one of those old traditional coders, I am not using a "distro"
> (hence my list of versions from tar files).
>
> I'm using pygobject 3.0.4, python 2.6. AFAICT I can't attempt to use a
> newer one because I only have glib 2.30.3, and upgrading glib is non-trivial.
>
> Can you think of anything special about the "object:children-changed:add"
> event? Or anywhere in the mound of dependencies which uses semaphores?
> (Those sem_wait messages for ldtp surprise me...)

Sorry for not replying sooner--a while ago I tried to set up mago, ran 
into trouble, and then must have started working on something else and 
forgot about your crash.

When I run that test, I get a lot of output--I've placed the log at 
http://mgorse.freeshell.org/gcalctool.txt for now. I don't think I'm 
getting a crash, although it's possible that I am and there's a message 
about it buried somewhere in the 700 odd lines of output.

What versions of gobject-introspection and libffi are you using?

I'm wondering if it's the same issue as bug 673569 / if a dependency needs 
to be upped somewhere (I can't reproduce that crash, either, and in both 
cases it appears to be crashing in a callback created by pygobject, or at 
least I'm guessing that that is the case for the accerciser crash as well, 
since I can't step into the function being called using gdb). I'm using 
python 2.7.1, libffi 4.6.2, pygobject 3.0.4, and gobject-introspection 
1.31.10, for what it's worth.

-Mike
Mike Gorse | 20 Apr 06:10 2012

Re: at-spi2 and a11ytesting core dump

On Fri, 6 Apr 2012, Patrick Welche wrote:

> Being one of those old traditional coders, I am not using a "distro"
> (hence my list of versions from tar files).
>
> I'm using pygobject 3.0.4, python 2.6. AFAICT I can't attempt to use a
> newer one because I only have glib 2.30.3, and upgrading glib is non-trivial.

Also, have you built pygobject 2? If so, you have it built with 
introspection disabled, right? If not, then it will conflict with the 
introspection support in pygobject 3.
Piñeiro | 20 Apr 18:15 2012

About proposing "accessibility on by default" as feature

Hi,

some context: on last ATK/AT-SPI2 accessibility hackfest [1] one of the
ideas that came again to the table was proposing to set accessibility
support on by default. That work would include having the accessibility
nits running all the time, without a accessibility-toolkit setting
switch, and also stop to having the accessibility code loaded as
plugins. At this moment the only remaining plugin is the atk-bridge, so
the idea is having the same functionality as a library call. Something
like a atk_bridge_init (..) call (equivalent to gtk_init).

On our last accessibility meeting we were talking about proposing this
as a new 3.6 feature, as seems a good way to start the discussion with
the community. From that meeting:
Apr 19 16:10:13 <API>    #action Piñeiro after some researching, will
bring the having accessibility by default 3.6 to the accessibility list
Apr 19 16:10:32 <API>    #action Piñeiro after some debate we could
propose it as feature

So after that research I'm here to talk about this (output of that
research at the appendix of this mail).

So lets see the current situation:
 * Accessibility performance and stability has been improving during the
last two releases.
 * GNOME-Shell (for user POV, GNOME) accessibility has improved with the
last release.
 * But there are still several core applications (ie: evolution) without
a proper accessibility support (also crash-prone)
 * Now it is possible to enable accessibility on runtime, without
requiring the uncomfortable logout
 * Most of the bus traffic is not sent unless one AT is listening

As we mentioned on the meeting, having the accessibility running would
provide more testing on the accessibility framework, both on runtime and
on compiling time (as at-spi2-[core/atk] will became a compiling
dependency).

The problems I see are:
  a) About having accessibility enabled all the time: right now
activating the accessibility on runtime works, so some people would be
against adding an inherent risk
  b) About stop to using plugins: some people will not like adding a new
dependency to their projects (this could be irrelevant if the final
solution is add that call on ATK, as randomly suggested on the hackfest)
  c) Although we agree that we want to stop to load the bridge as a
plugin, we are still not sure about how and where implement it.
  d) We didn't debated how all this changes would affect GTK2 apps.
Because the fact is that there are apps still not ported.
  e) My inner pessimist thinks that getting to a conclusion, implement
it, integrate it and test it are too much, and it would be difficult to
have all ready for 3.6

Finally, comment that probably there is a compromise option, that is:
 * Keep working on c), as seems the way to go. Probably with unstable
branches of atk, at-spi, gtk and clutter
 * For this cycle just propose to change the default value of
accessibility-toolkit. In that case we would still have more runtime
testing, and it would be easy to go back if things are failing. If
things are not failing, it would be a good way to minimize a) if we
propose to remove the gsetting switch.

With that compromised option, for this cycle we would just propose to
change the default value of accessibility-toolkit, while working on the
other stuff.

So, ideas, thoughts?

***

Appendix (somewhat offtopic or this mail main topic)
That research that I wanted to do was check why the following was working:
 1. accessibility-toolkit is disabled
 2. gnome-shell is running
 3. Via Universal-Settings you activate "Screen reader", this sets
accessibility-toolkit as enabled
 4. Orca interacts properly with gnome-shell

The "classical GNOME accessibility" wisdom tell us that 4 is not
possible, and you need a logout. Also take into account that gnome-shell
has a custom code that loads that module if that gsetting is enabled.
With GTK3 this was not required anymore thanks to the gsettings-daemon
magic, and the at-spi2-atk.desktop file, that informs that when
accessibility-toolkit became enabled, it should load the bridge.

So, how gnome-shell does that? Well ... thanks to gsettings-daemon, as
gnome-shell also calls gtk_init, so it is also a GTK app. In fact, if
you remove that custom loading-code, in some situations it is still
working (note "some situations", so we can't remove that code yet). As
you can guess, those "some situations" are exactly the situations we
were expecting this all to be failing. In the same way, that
"NO-AT-BRIDGE" "NO-GAIL" code is still required to ensure that AtkUtil
implementation of GTK is not loaded. Yes, all this seems tricky and
fragile, and for sure requires some cleaning, but for now it is working.

BR

[1]
http://blogs.igalia.com/apinheiro/2012/01/24/atkat-spi2-hackfest-2012-days-2345/

--

-- 
Alejandro Piñeiro Iglesias
Peter Korn | 20 Apr 18:41 2012
Picon

Re: About proposing "accessibility on by default" as feature

API,

Accessibility by default has long been a desire.  What about an interim, "prove it" step?  Have it turned on by default for the various 3.5 builds, with the understanding that it will revert to being off if certain metrics aren't met.  BUT... with the plan that they will be met?


Peter

On 4/20/2012 9:15 AM, Piñeiro wrote:
Hi, some context: on last ATK/AT-SPI2 accessibility hackfest [1] one of the ideas that came again to the table was proposing to set accessibility support on by default. That work would include having the accessibility nits running all the time, without a accessibility-toolkit setting switch, and also stop to having the accessibility code loaded as plugins. At this moment the only remaining plugin is the atk-bridge, so the idea is having the same functionality as a library call. Something like a atk_bridge_init (..) call (equivalent to gtk_init). On our last accessibility meeting we were talking about proposing this as a new 3.6 feature, as seems a good way to start the discussion with the community. From that meeting: Apr 19 16:10:13 <API> #action Piñeiro after some researching, will bring the having accessibility by default 3.6 to the accessibility list Apr 19 16:10:32 <API> #action Piñeiro after some debate we could propose it as feature So after that research I'm here to talk about this (output of that research at the appendix of this mail). So lets see the current situation: * Accessibility performance and stability has been improving during the last two releases. * GNOME-Shell (for user POV, GNOME) accessibility has improved with the last release. * But there are still several core applications (ie: evolution) without a proper accessibility support (also crash-prone) * Now it is possible to enable accessibility on runtime, without requiring the uncomfortable logout * Most of the bus traffic is not sent unless one AT is listening As we mentioned on the meeting, having the accessibility running would provide more testing on the accessibility framework, both on runtime and on compiling time (as at-spi2-[core/atk] will became a compiling dependency). The problems I see are: a) About having accessibility enabled all the time: right now activating the accessibility on runtime works, so some people would be against adding an inherent risk b) About stop to using plugins: some people will not like adding a new dependency to their projects (this could be irrelevant if the final solution is add that call on ATK, as randomly suggested on the hackfest) c) Although we agree that we want to stop to load the bridge as a plugin, we are still not sure about how and where implement it. d) We didn't debated how all this changes would affect GTK2 apps. Because the fact is that there are apps still not ported. e) My inner pessimist thinks that getting to a conclusion, implement it, integrate it and test it are too much, and it would be difficult to have all ready for 3.6 Finally, comment that probably there is a compromise option, that is: * Keep working on c), as seems the way to go. Probably with unstable branches of atk, at-spi, gtk and clutter * For this cycle just propose to change the default value of accessibility-toolkit. In that case we would still have more runtime testing, and it would be easy to go back if things are failing. If things are not failing, it would be a good way to minimize a) if we propose to remove the gsetting switch. With that compromised option, for this cycle we would just propose to change the default value of accessibility-toolkit, while working on the other stuff. So, ideas, thoughts? *** Appendix (somewhat offtopic or this mail main topic) That research that I wanted to do was check why the following was working: 1. accessibility-toolkit is disabled 2. gnome-shell is running 3. Via Universal-Settings you activate "Screen reader", this sets accessibility-toolkit as enabled 4. Orca interacts properly with gnome-shell The "classical GNOME accessibility" wisdom tell us that 4 is not possible, and you need a logout. Also take into account that gnome-shell has a custom code that loads that module if that gsetting is enabled. With GTK3 this was not required anymore thanks to the gsettings-daemon magic, and the at-spi2-atk.desktop file, that informs that when accessibility-toolkit became enabled, it should load the bridge. So, how gnome-shell does that? Well ... thanks to gsettings-daemon, as gnome-shell also calls gtk_init, so it is also a GTK app. In fact, if you remove that custom loading-code, in some situations it is still working (note "some situations", so we can't remove that code yet). As you can guess, those "some situations" are exactly the situations we were expecting this all to be failing. In the same way, that "NO-AT-BRIDGE" "NO-GAIL" code is still required to ensure that AtkUtil implementation of GTK is not loaded. Yes, all this seems tricky and fragile, and for sure requires some cleaning, but for now it is working. BR [1] http://blogs.igalia.com/apinheiro/2012/01/24/atkat-spi2-hackfest-2012-days-2345/

--

Peter Korn | Accessibility Principal
Phone: +1 650 5069522
500 Oracle Parkway | Redwood City, CA 94065
Oracle is committed to developing practices and products that help protect the environment
_______________________________________________
gnome-accessibility-devel mailing list
gnome-accessibility-devel <at> gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel

Gmane