enabling accessibility without gdm

Ian Lawrence irlawrence at googlemail.com
Fri Nov 23 15:36:19 GMT 2007

I am working on the Ubuntu Mobile Edition project which uses Hildon
Desktop http://live.gnome.org/Hildon
Currently there is no concept of users on the UME system so we have no
gdm. We start the UI (on a normal workstation) using a script called
I tried putting

echo "enabling accessibility"
export GTK_MODULES=gail:atk-bridge
gconftool-2 --set --type bool /desktop/gnome/interface/accessibility true
/usr/lib/at-spi/at-spi-registryd &

inside ume-xephyr-start.
Running the testing script gave the same bug report error

Setting the environment variables inside gdb
(gdb) set environment GTK_MODULES=gail:atk-bridge
(gdb) run

GTK Accessibility Module Initialized
atk-bridge-warning: AT_SPI_REGISTRY was not started at session startup
atk-bridge-warning: IOR not set
atk-bridge-warning: Could not locate registry

and then the Program exited with code 0377 which means garbage was
returned by the OS

I also compiled hail (Hildon Accessibility Library) inside the target
and substituted hail for gail like:
export GTK_MODULES=/usr/lib/gtk-2.0/modules/lib/gtk-2.0/modules/libhail:atk-bridge

putting this inside the ume-xephyr-start script meant the UI would not
start with this error:
FreeFontPath: FPE "/usr/share/fonts/X11/misc" refcount is 2, should be
1; fixing.

commenting this out in ume-xephyr-start and exporting it directly from a
shell inside the UI gave this:

python moblin-media
creating logfile at /tmp/dogtail/logs/moblin-media/20071119-111356_debug
Hildon Accessibility Module Initialized
Error file accessible.c line 554 (spi_accessible_construct): assertion failed
Aborted (core dumped)

a bit more digging uncovered this:

Hildon Accessibility Module initialized

** ERROR **: file accessible.c: line 554 (spi_accessible_construct):
assertion failed: (o)

Program received signal SIGABRT, Aborted.
[Switching to Thread -1227409744 (LWP 24587)]
0xffffe410 in __kernel_vsyscall ()
(gdb) where
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb717c875 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb717e201 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7459f4a in g_logv () from /usr/lib/libglib-2.0.so.0
#4  0xb7459f89 in g_log () from /usr/lib/libglib-2.0.so.0
#5  0xb745a006 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#6  0xb6ad77f2 in spi_accessible_construct () from /usr/lib/libspi.so.0
#7  0xb6ad86c2 in spi_application_new () from /usr/lib/libspi.so.0
#8  0xb6c4877f in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#9  0x00000000 in ?? ()

here are the relevant lines from http://codebrowse.launchpad.net/~vcs-

545              SpiAccessible *
546             spi_accessible_construct (GType type, AtkObject *o)
547             {
548                 SpiAccessible *retval;
549                 CORBA_Environment ev;
551                 CORBA_exception_init (&ev);
553                 g_assert (o);
554                 g_assert (g_type_is_a (type, SPI_ACCESSIBLE_TYPE));

Can anyone help with this or have any idea of what to do next?

More information about the Ubuntu-accessibility mailing list