GNOME Bugzilla – Bug 331042
[a11y] Rhythmbox crashes when entering flat review mode in Orca
Last modified: 2006-11-18 04:39:33 UTC
Please describe the problem: After configuring rhythembox I attempt to enter flat review with orca running and the desktop completely hangs. This is similar to the behavior with the pan news reader. Steps to reproduce: 1. enter and configure rhythembox 2. attempt to enter flat review by trying to read the prior line. 3. Actual results: orca and the desktop hang Expected results: flat review should work Does this happen every time? yes Other information:
Mike, are you still seeing this problem now that Will has put in several changes to try to resolving hanging issues?
Yes, this bug is still reproducible with the latest ubuntu dapper release.
I just discovered a similar behavior in Evolution that I can reproduce 100% of the time on all of my machines. Before I file it as a new bug, I figured I'd comment on this one. Try this: 1. Launch Evolution 2. Leave focus on the Send/Receive button 3. Attempt to enter flat review
With regards to Evolution, I have a few questions (as I've just tried this, and it works fine for me). * What version of Evolution are you running? * What version of Orca are you running? * When you "Attempt to enter flat review", what exactly do you do? I just tried this with Evolution 2.6.1 and Orca from CVS HEAD and entered flat review by hitting the 7 key on the numeric keypad. This was with GNOME 2.14 on Solaris x86 (Nevada build 34). Thanks.
In answer to your questions: * Evolution 2.6.1 * Orca from CVS Head -- just tried it again too. It still occurs. * I have tried all NumPad numbers -- just tried it again with NumPad 7. It still occurs. I have GNOME 2.14 as well. BUT on my three machines I am running Ubuntu 6.06.
Okay, thanks. As Will has mentioned elsewhere, the Python threading module is a challenge. One of the things he's recently introduced is the ability to "unroll" the main loop. Could you try adding the following line to your ~/.orca/user-settings.py file: orca.settings.useBonoboMain=False Restart Orca and retry the experiement. I'm curious to see if that solves the problem.
I'm afraid it made no difference. I also saw Will's ping-orca script. I wasn't sure if it was relevant, but I figured it couldn't hurt. I pinged it a few times immediately after the bug occurred and Orca was reportedly alive. Eventually the system tanked, so I got into GNOME failsafe terminal and tried to ping it. At that point Orca was dead. Hope this helps!
Yes I think it does. Thanks Joanie. One difference is that you're using Ubuntu (same for Mike with the rhythmbox problem) and I'm using Solaris. There is something subtlely different about the two. These problems might need to be investigated further by us directly with Ubuntu.
I just took a look at this - it looks like it could be any number of things causing the flat review logic to hang when talking to Evolution-2.8. In one instance, I see calls to obj.child(i). In others, I see wildly bizarre results from calls to text.getTextAtOffset. Sigh. We'll need to spend some time trying to figure out why we're getting this bad information from Evolution so we can log bugs with them. But, we'll also need to figure out some more defensive mechanisms when doing our flat review.
With respect to rhythmbox, what I see is that rhythmbox crashes when you enter flat review with Orca and it pops up a gnome_segv dialog. Mike, I'm curious if this is what is really happening with your rhythmbox bug? If so, we need to separate this into two bugs - one for evolution and one for rhythmbox.
W.r.t Evolution: That also suggests then, that Evolution is built differently on Solaris. Because I'm just not seeing the same hang that you'll are.
We have potentially two separate problem here. One in rhythmbox, the other in Evolution. I've created a new bug report (bug #349465) for the Evolution one. I also now have a PC running Ubuntu Dapper Drake (v6.06) with Orca from CVS HEAD, and DECtalk 4.64 as my TTS. I just went to try to recreate the rhythmbox "hang". Using the "7" key on my numeric keypad to enter flat review, I immediately see that rhythmbox crashes. The error message on the terminal window where I started it was: $ rhythmbox GTK Accessibility Module initialized Bonobo accessibility support initialized (rhythmbox:5695): Rhythmbox-WARNING **: Unable to start mDNS browsing ** ERROR **: file gailtreeview.c: line 926 (gail_tree_view_ref_child): assertion failed: (renderer_list != NULL) aborting... Transferring to the rhythmbox developers for further investigation. Adjusting the bug summary accordingly. (For details of how to install Orca on your system, see section 4 of http://live.gnome.org/Orca/ )
Any chance you could get a backtrace of where Rhythmbox crashes? See http://live.gnome.org/GettingTraces for more information on how to do so.
** ERROR **: file gailtreeview.c: line 926 (gail_tree_view_ref_child): assertion failed: (renderer_list != NULL) aborting... Program received signal SIGABRT, Aborted.
+ Trace 69865
Thread NaN (LWP 5054)
Created attachment 70391 [details] [review] patch against gail If possible, could someone test this patch against GAIL to see if it helps? It appears that GAIL triggers an assertion if it encounters a treeview column with no renderers packed into it.
James, I'm going to transfer this to the atk team for further evaluation. Thanks for the suggested fix.
Hi James and Rich; Patch looks correct, but I am not in a position to test/verify. Also the patch is blocked by code freeze. Rich if you or Mike can verify the fix, I'll petition the release team to have it applied. Marking the patch 'accepted_commit-after-freeze' for the time being, but NEEDINFO'ing the bug pending verification. Thanks!
I've committed the patch; however I am a little leery of it since it basically is returning a NULL for an 'empty' treeview column's AtkObject instances. Probably it would make more sense to return more or less inert AtkObject instances instead, to correspond to the "nothing rendered in this column" case.