GNOME Bugzilla – Bug 151513
enabling accessibility support freezes session
Last modified: 2004-12-22 21:47:04 UTC
Using CVS Head Build from 31st August 04 - Enable accessibility support for user (gconftool-2 -s -t bool /desktop/gnome/interface/accessibility true) - Log in with user. Notice that the OS doesn't finish loading. The screen remains blank. The gnome loading screen doesn't even appear. - Kill the session and disable accessibility for the same user. (gconftool-2 -s -t bool /desktop/gnome/interface/accessibility false) Notice that everything starts up as normal. This is a serious problem as it means that users with accessible needs can't log in.
Calum reports that his HEAD build from Aug 26, on Mandrake, seems to start up OK with accessibility enabled.
Moving to gnome-session, its hardly a GConf bug: - what processes are running when its hung ? - can you get a stack trace of whichever process looks to be blocking ?
The machine hangs when logging out to enable accessibility. The confirmation logout dialog box pops up, and when you click on 'OK' the session hangs and you are not successfully logged out. It seems to be at-spi-registry that is causing the machine to hang. I will try to obtain a stack trace.
transferring to at-spi for now.
Frances: what OS is this seen on? Is this Linux-only?
This is a Linux only bug - CVS Head Build from 31st August 04
Frances: any update on what processes are hanging?
I did strace -f on the child gdm-binary process and on inspecting the strace output I see that gnome-session crashed with SIGSEGV. I do not see any core file. I cannot proceed without a stack trace from the crash.
Created attachment 31377 [details] Stack trace for gedit I logged in with accessibility disabled and then enabled it. I then attempted to run gedit but it crashed.
can we try running gedit (under these conditions) in valgrind, to see if something's going wrong in memory access?
Your stack trace shows a crash in gail, and there is pretty much zero information on the gnome-session crash (even the strace would help). Marking as NEEDINFO since its in gnome-session. If you want to re-open and move to gail, that's fine ...
All this bouncing around is getting seriously confusing
Created attachment 31414 [details] valgrind output from gedit
This looks suspicious: ==4158== Invalid free() / delete / delete[] ==4158== at 0x4003BEF9: free (in /usr/lib/valgrind/valgrind.so) ==4158== by 0x40D7EB28: g_free (gmem.c:186) ==4158== by 0x44089C12: gail_util_add_global_event_listener (gailutil.c:171) ==4158== by 0x40C77496: atk_add_global_event_listener (atkutil.c:225) ==4158== Address 0x44408488 is 0 bytes inside a block of size 16 free'd ==4158== at 0x4003BEF9: free (in /usr/lib/valgrind/valgrind.so) ==4158== by 0x40D7EB28: g_free (gmem.c:186) ==4158== by 0x40D93FE1: g_strfreev (gstrfuncs.c:2314) ==4158== by 0x44089C04: gail_util_add_global_event_listener (gailutil.c:168)
Padraig: in gailutil.c, line 171, we are calling gfree() on a string vector that's already freed via g_strfreev() see http://developer.gnome.org/doc/API/2.0/glib/glib-String-Utility-Functions.html#g-strfreev
Created attachment 31419 [details] [review] patch to remove the second free
Does this fix affect the behavior on affected systems?
Thansk for tracking this down, Bill. It is a regression introduced by patch for bug #150000
Patch has been committed after receiving permission from release team.