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 516121 - Orca stalls on barackobama.com when navigating by heading in FF3
Orca stalls on barackobama.com when navigating by heading in FF3
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.21.x
Other All
: Normal major
: 2.22.0
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks: 404403
 
 
Reported: 2008-02-12 21:37 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2008-07-22 19:33 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
debug.out (39.37 KB, application/x-gzip)
2008-02-12 21:50 UTC, Joanmarie Diggs (IRC: joanie)
  Details
proposed patch (791 bytes, patch)
2008-02-12 22:13 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2008-02-12 21:37:17 UTC
From Lorenzo on the Orca list:

I am currently viewing the page at
http://my.barackobama.com/page/group/1000AmericansforObama
and have run into a slight problem.

I am trying to navigate by headings pressing h and H, but once I get to
the directory heading, I can go no further. When I press h again from
the directory heading,orca hangs and it refuses to speak in any
application until I kill orca and restart it. The same thing happens if
I try to get to the last heading on the page by typing H. It almost
seems as if orca is slowly reading the probably very long page trying to
find the next heading and never getting to the bottom. I waited almost a
minute before giving up. Perhaps I will have to navigate the page a
different way.

BTW, I am running the latest svn version of orca as of last night and
the firefox -3.0 from Ubuntu Hardy, also the latest package build. I'm
not sure if a login is required to view the page as I have it, but I can
privately provide that info if necessary.
Comment 1 Joanmarie Diggs (IRC: joanie) 2008-02-12 21:50:26 UTC
Created attachment 105095 [details]
debug.out

Turns out that we don't hang; rather, we stall.  I performed the steps in the report again and this time just let Orca do its thang.  After several minutes had passed, Orca announced the next heading (Events).  If you look at the attached:

Line 2999 is the queuing of the key release event for H.

Line 3000 - Line 7488 are all:
  ---------> QUEUEING EVENT object:property-change:accessible-name

YIKES!  Almost 2500 events being queued as a result of a lousy keypress?!?!?

I'm going to see if I can trigger this via Accerciser.

In the meantime, any ideas about what we can do when flooded with events?  Is there some way to plug our ears and sing "nah nah nah not listening"?
Comment 2 Joanmarie Diggs (IRC: joanie) 2008-02-12 22:13:32 UTC
Created attachment 105100 [details] [review]
proposed patch

This is a defensive patch.  Seems that in between directory and events is a table with over 8000 children.  Here's my proposal:  If there are more than 1000 children in an object, find{Next,Previous}Object() should ignore it.  :-)

With this patch, I can move almost instantly between directory and events via structural navigation.

pylinted.  Not yet regression tested.  Please test.
Comment 3 Willie Walker 2008-02-14 14:52:22 UTC
(In reply to comment #2)
> This is a defensive patch.  Seems that in between directory and events is a
> table with over 8000 children.  Here's my proposal:  If there are more than
> 1000 children in an object, find{Next,Previous}Object() should ignore it.  :-)

This seems reasonable to me.  This is a relatively isolated patch and the Collections work being done in bug 491837 may also obsolete this section of the code.  If you are comfortable with this patch and it tests well, I say commit.  Thanks!  :-)
Comment 4 Joanmarie Diggs (IRC: joanie) 2008-02-15 18:55:11 UTC
Patch committed.  Moving to pending.