GNOME Bugzilla – Bug 349465
Hang problem with Orca and Evolution in flat review mode.
Last modified: 2006-08-10 19:43:15 UTC
As reported by Joanmarie Diggs: "I just discovered a similar behavior in Evolution that I can reproduce 100% of the time on all of my machines. Try this: 1. Launch Evolution 2. Leave focus on the Send/Receive button 3. Attempt to enter flat review" (was originally reported as a comment in bug #331042). Further comment by Will Walker: "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."
Joanie, I've just tried this with Evolution 2.6.1 on my Ubuntu Dapper Drake (v6.06) systems, using Orca from CVS HEAD (with DECtalk 4.64 as my TTS). I cannot recreate the problem. My "Attempt to enter flat review" is to hit "7" on my numeric keypad. Are you still seeing this problem with the latest Orca from CVS HEAD? If yes, can you give me a set of steps to reproduce it please? If no, then I'll close out the bug. Thanks.
Hi Rich. I can still reliably reproduce the problem in the environment you describe, namely Evolution 2.6.1 and Dapper Drake with Orca from CVS Head. I tried both with software DECtalk and Festival on two machines. I CANNOT reproduce the problem in Evolution 2.7.90, GNOME 2.15, and the current Edgy Eft. The steps to reproduce are as above, but here's a bit more information: 1. Launch Orca from GNOME Terminal 2. Launch Evolution 2.6.1 3. Leave focus on the Send/Receive button 4. Press any flat review key (e.g. NumPad 7) At this point the system hangs. When I first reported this issue, I figured it was Orca that was hanging. Now I'm not so sure. If I get into a virtual console and kill all of the Orca-related processes, the system remains hung. I have to kill Evolution as well. However if *instead* I leave the Orca-related processes alone and just kill Evolution, the system immediately comes back to life. In addition, the following appears in the terminal window: ----- Traceback (most recent call last):
+ Trace 69858
consumed = self._function(script, inputEvent)
context = self.getFlatReviewContext()
lines = self.clusterZonesByLine(self.getShowingZones())
return flat_review.getShowingZones(obj)
objlist.extend(getShowingZones(child))
return getZonesFromAccessible(root, root.extents)
0) COMM_FAILURE ----- The above seems to be exactly the same (i.e. same line numbers, etc.) each time and on both machines where I can reproduce the problem.
Joanie, I've just tried this on my Ubuntu Dapper Drake system. I've tried to replicate what you've got as best that I can. I'm using DECtalk TTS (v4.64) but I'm using Orca from CVS HEAD, which is just a couple of hopefully non-applicable bug fixes past the Orca 0.2.8 tarball release that Will released last Monday. From a terminal window I ran: evolution --version to see what version of Evolution I'm running. It's Gnome evolution-2.6 2.6.1 I started up Orca and then started up Evolution. It bought up a popup dialog asking for the Password for my IMAP account, but after I filled in my password and hit Return, focus was back on the Send/Receive buttin in the toolbar. I hit the "7" key on my numeric keypad. Orca successfully went into flat-review mode and I was above to navigate about without any hangs, Tracebacks or COMM_FAILURE's reported. In short, I cannot reproduce the problem you are seeing. If you haven't already done so, could you please it again with Orca v0.2.8 and see if it's now fixed (or at least not reproducable). If it's still happening, I'd like you to do the following. I like you to turn on Orca debug, rerun Orca with the Evolution application and send me the debug file that's created. Use your favorite editor to edit ~/.orca/user-settings You will need to remove the "#" symbols from the first column in the following three lines: #orca.debug.debugLevel = orca.debug.LEVEL_ALL #orca.debug.eventDebugLevel = orca.debug.LEVEL_OFF #orca.debug.debugFile = open('debug.out', 'w', 0) Save that file. Then rerun evolution and Orca and do the steps to try to recreate the problem. Then send me the "debug.out" file that's generated. I'll attach it to this bug report (or you can attach it directly). When you've finished testing, don't forget to put the "#" characters back in front of those three lines to turn off debug output. Thanks.
Created attachment 70577 [details] debug.out requested by Rich I can still reproduce it and I, too, am using evolution 2.6.1 and Orca from CVS Head (built a few hours ago). I wonder if getting prompted for the password makes a difference. I'll try that next. In the meantime, I've attached debug.out.
Thanks Joanie. Reverting back to NEW status.
Just tried it with being prompted for a password. No difference.
Created attachment 70667 [details] [review] Patch that does defensive work in flat review Evolution is indeed giving us very bad results from getTextAtOffset. This patch tries to detect those results and moves on if it sees something is wrong. In testing this with evolution-2.6, I notice that evolution might be incorrectly computing the boundaries in screen coordinates of some objects. Thus, flat review of Evolution is still a bit unreliable. That, however, is a different problem.
PS - Joanie - could you try out the latest stuff and see if the flat review hangs? If it doesn't we can close this bug. :-) In addition, if the flat review is unreliable (i.e., it doesn't hang, but gives you bad information), we can open a new bug and assign it to evolution.
Hey, cool, it doesn't hang anymore! :) In terms of the reliability of the info being provided: I just did a few quick tests due to personal time contraints today. Orca seems to give consistently reliable info in flat review. The only *minor* thing I noticed seems to result from the lack of alignment between the tree of folders on the left and the message list on the right. When moving line by line with NumPad 7 and 9, sometimes Orca grabs a folder and the message one line beneath; sometimes it just grabs the message. But I suppose that's the nature of flat review. Besides how many people are going to flat review that much in Evolution? I'm not seeing anything to warrant opening a new bug -- unless I'm just not testing thoroughly enough. :)
Glad to see the hang is gone. :-) In tracking down the other problem, what I see is that we're getting VISIBLE/SHOWING states set for objects not painted on the screen. This is not good. This happens primarily in the message list panel. I'm using Evolution 2.6 at the moment, though, so they might have fixed this. I'm about to disrupt my entire work environment by forcing GARNOME 2.15.91 to build into /usr. If I have success with that, I will track this problem further to see if things have been fixed in Evolution. If not, I'll log a bug. In any case, glad to be able to close this bug. :-) It will be available in Orca 0.2.9. Thanks for your testing!
Okay, I just did a bit more testing with flat review -- I hate not being thorough! When reviewing the list of messages in flat review, Orca is speaking the line beneath the line you are actually on. (Actually here being defined in two ways: 1) Where the flat review rectangle appears visually and 2) What gets clicked on if you use NumPad /) Sorry I wasn't as thorough as I should have been initially. :(