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 349465 - Hang problem with Orca and Evolution in flat review mode.
Hang problem with Orca and Evolution in flat review mode.
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
0.2.x
Other All
: High major
: ---
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-07-31 18:23 UTC by Rich Burridge
Modified: 2006-08-10 19:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug.out requested by Rich (197.71 KB, application/octet-stream)
2006-08-09 19:44 UTC, Joanmarie Diggs (IRC: joanie)
  Details
Patch that does defensive work in flat review (3.22 KB, patch)
2006-08-10 18:42 UTC, Willie Walker
committed Details | Review

Description Rich Burridge 2006-07-31 18:23:08 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."
Comment 1 Rich Burridge 2006-07-31 18:43:43 UTC
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.
Comment 2 Joanmarie Diggs (IRC: joanie) 2006-08-01 11:01:47 UTC
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):
  • File "/usr/lib/python2.4/site-packages/orca/input_event.py", line 174 in processInputEvent
    consumed = self._function(script, inputEvent)
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 2621 in reviewPreviousLine
    context = self.getFlatReviewContext()
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 2290 in getFlatReviewContext
    lines = self.clusterZonesByLine(self.getShowingZones())
  • File "/usr/lib/python2.4/site-packages/orca/default.py", line 2084 in getShowingZones
    return flat_review.getShowingZones(obj)
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1417 in getShowingZones
    objlist.extend(getShowingZones(child))
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1371 in getShowingZones
    return getZonesFromAccessible(root, root.extents)
  • File "/usr/lib/python2.4/site-packages/orca/flat_review.py", line 1129 in getZonesFromAccessible
    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.

Comment 3 Rich Burridge 2006-08-09 19:15:30 UTC
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.
Comment 4 Joanmarie Diggs (IRC: joanie) 2006-08-09 19:44:25 UTC
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.
Comment 5 Rich Burridge 2006-08-09 19:59:42 UTC
Thanks Joanie. Reverting back to NEW status.
Comment 6 Joanmarie Diggs (IRC: joanie) 2006-08-09 20:12:33 UTC
Just tried it with being prompted for a password.  No difference.
Comment 7 Willie Walker 2006-08-10 18:42:18 UTC
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.
Comment 8 Willie Walker 2006-08-10 18:44:08 UTC
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.
Comment 9 Joanmarie Diggs (IRC: joanie) 2006-08-10 19:04:23 UTC
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. :)
Comment 10 Willie Walker 2006-08-10 19:38:49 UTC
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!
Comment 11 Joanmarie Diggs (IRC: joanie) 2006-08-10 19:43:15 UTC
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. :(