After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 151513 - enabling accessibility support freezes session
enabling accessibility support freezes session
Status: RESOLVED FIXED
Product: atk
Classification: Platform
Component: gail
unspecified
Other Linux
: Normal blocker
: ---
Assigned To: bill.haneman
Session Maintainers
AP0
Depends on:
Blocks:
 
 
Reported: 2004-08-31 13:15 UTC by John Crawley
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stack trace for gedit (4.08 KB, text/plain)
2004-09-07 16:12 UTC, padraig.obriain
  Details
valgrind output from gedit (12.56 KB, text/plain)
2004-09-08 15:28 UTC, Frances Keenan
  Details
patch to remove the second free (1.21 KB, patch)
2004-09-08 16:29 UTC, bill.haneman
none Details | Review

Description John Crawley 2004-08-31 13:15:54 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.
Comment 1 bill.haneman 2004-08-31 13:53:14 UTC
Calum reports that his HEAD build from Aug 26, on Mandrake, seems to start up OK
with accessibility enabled.
Comment 2 Mark McLoughlin 2004-08-31 14:01:19 UTC
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 ?
Comment 3 Frances Keenan 2004-09-02 14:02:39 UTC
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.
Comment 4 bill.haneman 2004-09-02 17:06:29 UTC
transferring to at-spi for now.
Comment 5 bill.haneman 2004-09-03 12:40:51 UTC
Frances: what OS is this seen on?  Is this Linux-only?
Comment 6 Frances Keenan 2004-09-06 09:18:57 UTC
This is a Linux only bug - CVS Head Build from 31st August 04
Comment 7 bill.haneman 2004-09-07 10:25:38 UTC
Frances: any update on what processes are hanging?  
Comment 8 padraig.obriain 2004-09-07 15:37:46 UTC
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.
Comment 9 padraig.obriain 2004-09-07 16:12:09 UTC
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.
Comment 10 bill.haneman 2004-09-07 16:34:46 UTC
can we try running gedit (under these conditions) in valgrind, to see if
something's going wrong in memory access?
Comment 11 Mark McLoughlin 2004-09-07 16:36:22 UTC
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 ...
Comment 12 Mark McLoughlin 2004-09-07 16:38:16 UTC
All this bouncing around is getting seriously confusing
Comment 13 Frances Keenan 2004-09-08 15:28:10 UTC
Created attachment 31414 [details]
valgrind output from gedit
Comment 14 bill.haneman 2004-09-08 16:15:51 UTC
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)

Comment 15 bill.haneman 2004-09-08 16:23:01 UTC
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
Comment 16 bill.haneman 2004-09-08 16:29:29 UTC
Created attachment 31419 [details] [review]
patch to remove the second free
Comment 17 bill.haneman 2004-09-08 16:30:02 UTC
Does this fix affect the behavior on affected systems?
Comment 18 padraig.obriain 2004-09-08 16:42:25 UTC
Thansk for tracking this down, Bill. It is a regression introduced by patch for
bug #150000
Comment 19 padraig.obriain 2004-09-13 07:36:33 UTC
Patch has been committed after receiving permission from release team.