Comment 36 for bug 870874

Revision history for this message
Shawn Haggett (podge-9) wrote :

I'm guessing the change linked to in #33 that fixes this is:
  * Remove 90qt-a11y: Qt accessibility is not stable enough in Oneiric to be
    enabled by default for all applications. A patch for unity-2d specifically
    enables accessibility for it so that the desktop remains accessible.
    (LP: #877358)
And the next change:
  * Actually remove 90qt-a11y if it is already installed.

I just upgraded to 12.04 and at-spi2-core version 2.4.0-1 and the 90qt-a11y file is back and exhibiting the same symptoms. So far I have found (always using an LDAP/Kerberos user with a Kerberised NFS4 home directory):

Logging into the virtual console, and running the gsettings command from #3 and it prints "false" and hangs.
Running gsettings under strace on the virtual console, it exits fine.
Running gsettings from a terminal in X, it exits fine.

Next I ran an instance at the virtual console and left it hung, then (after fetching the debug symbols) attached to the hung process with gdb. I find there's two threads:
(gdb) thread find .*
Thread 2 has target name 'dconf worker'
Thread 2 has target id 'Thread 0x7f51717b5700 (LWP 22479)'
Thread 1 has target name 'gsettings'
Thread 1 has target id 'Thread 0x7f51779fc7c0 (LWP 22478)'

Thread 1 (which is the one gdb chooses when you attach), shows a backtrace of:
(gdb) bt
#0 __unregister_atfork (dso_handle=<optimised out>)
    at ../nptl/sysdeps/unix/sysv/linux/unregister-atfork.c:117
#1 0x00007f5174fe8716 in __do_global_dtors_aux () from /lib/x86_64-linux-gnu/libnss_ldap.so.2
#2 0x00007ffffa9b0430 in ?? ()
#3 0x00007ffffa9b0600 in ?? ()
#4 0x00007f5174ff5371 in _fini () from /lib/x86_64-linux-gnu/libnss_ldap.so.2
#5 0x000000000000002c in ?? ()
#6 0x00007f517780992d in _dl_fini () at dl-fini.c:259
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 shows a backtrace of:
(gdb) bt
#0 0x00007f517675e89c in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00007f517675a065 in _L_lock_858 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2 0x00007f5176759eba in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00007f5174feab78 in _nss_ldap_enter () at ldap-nss.c:597
#4 0x00007f5176c680c5 in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c:96
#5 0x00007f517758a249 in fork_exec_with_pipes (intermediate_child=0, working_directory=0x0,
    argv=0x7f516c004830, envp=0x0, close_descriptors=1, search_path=1, stdout_to_null=0,
    stderr_to_null=0, child_inherits_stdin=0, file_and_argv_zero=0, child_setup=0, user_data=0x0,
    child_pid=0x7f51717b4a68, standard_input=0x0, standard_output=0x7f51717b4a60,
    standard_error=0x7f51717b4a64, error=0x7f51717b4ba8)
    at /build/buildd/glib2.0-2.32.0/./glib/gspawn.c:1232
#6 0x00007f517758aa44 in g_spawn_sync (working_directory=<optimised out>, argv=<optimised out>,
    envp=<optimised out>, flags=<optimised out>, child_setup=<optimised out>, user_data=0x0,
    standard_output=0x7f51717b4b38, standard_error=0x7f51717b4b40, exit_status=0x7f51717b4b4c,
    error=0x7f51717b4ba8) at /build/buildd/glib2.0-2.32.0/./glib/gspawn.c:285
#7 0x00007f517758b149 in g_spawn_command_line_sync (command_line=<optimised out>,
    standard_output=0x7f51717b4b38, standard_error=0x7f51717b4b40, exit_status=0x7f51717b4b4c,
    error=0x7f51717b4ba8) at /build/buildd/glib2.0-2.32.0/./glib/gspawn.c:722
#8 0x00007f5177013629 in get_session_address_dbus_launch (error=0x7f51717b4ba8)
    at /build/buildd/glib2.0-2.32.0/./gio/gdbusaddress.c:1052
#9 0x00007f517701507a in get_session_address_platform_specific (error=0x7f51717b4ba8)
    at /build/buildd/glib2.0-2.32.0/./gio/gdbusaddress.c:1149
#10 g_dbus_address_get_for_bus_sync (bus_type=G_BUS_TYPE_SESSION, cancellable=<optimised out>,
    error=0x7f51717b4c88) at /build/buildd/glib2.0-2.32.0/./gio/gdbusaddress.c:1232
#11 0x00007f517701de4e in get_uninitialized_connection (bus_type=G_BUS_TYPE_SESSION, cancellable=0x0,
    error=0x7f51717b4c88) at /build/buildd/glib2.0-2.32.0/./gio/gdbusconnection.c:6750
#12 0x00007f517702535b in g_bus_get_sync (bus_type=<optimised out>, cancellable=0x0,
    error=0x7f51717b4c88) at /build/buildd/glib2.0-2.32.0/./gio/gdbusconnection.c:6807
#13 0x00007f5175416caa in dconf_settings_backend_send (dcsb=0x112b010, dcem=0x7f51717b4cd0,
    callback=0x7f5175417570 <add_match_done>, user_data=0x11174e0) at dconfsettingsbackend.c:144
#14 0x00007f5175417087 in dconf_settings_backend_subscribe_context_func (data=0x11174e0)
    at dconfsettingsbackend.c:612
#15 0x00007f517754cc9a in g_main_dispatch (context=0x112b800)
    at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:2515
#16 g_main_context_dispatch (context=0x112b800) at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:3052
#17 0x00007f517754d060 in g_main_context_iterate (dispatch=1, block=<optimised out>, context=0x112b800,
    self=<optimised out>) at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:3123
#18 g_main_context_iterate (context=0x112b800, block=<optimised out>, dispatch=1, self=<optimised out>)
    at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:3060
#19 0x00007f517754d45a in g_main_loop_run (loop=0x7f516c0010c0)
    at /build/buildd/glib2.0-2.32.0/./glib/gmain.c:3317
#20 0x00007f517541698b in dconf_context_thread (data=<optimised out>) at dconfcontext.c:11
#21 0x00007f517756e9b5 in g_thread_proxy (data=0x1126de0)
    at /build/buildd/glib2.0-2.32.0/./glib/gthread.c:801
#22 0x00007f5176757e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#23 0x00007f5176c9c4bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#24 0x0000000000000000 in ?? ()