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 638210 - Gecko generators should use getSelectedChild() rather than iterating through children and using isChildSelected()
Gecko generators should use getSelectedChild() rather than iterating through ...
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.91.x
Other All
: Normal major
: 2.91.5
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks: 404403 491756
 
 
Reported: 2010-12-28 19:28 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2010-12-31 01:00 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Joanmarie Diggs (IRC: joanie) 2010-12-28 19:28:07 UTC
As detected by the regression tests, some change made in Firefox 4(?) doesn't play well with Orca(?) and causes a hang. Need to investigate further what is going on. This is in a current Natty.

RuntimeError: maximum recursion depth exceeded
Error in sys.excepthook:
Traceback (most recent call last):
  • File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 48 in apport_excepthook
    if not enabled():
  • File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 24 in enabled
    return re.search('^\s*enabled\s*=\s*0\s*\$', conf, re.M) is None
  • File "/usr/lib/python2.7/re.py", line 142 in search
    return _compile(pattern, flags).search(string)
  • File "/usr/lib/python2.7/re.py", line 243 in _compile
    p = sre_compile.compile(pattern, flags)
  • File "/usr/lib/python2.7/sre_compile.py", line 500 in compile
    p = sre_parse.parse(p, flags)
  • File "/usr/lib/python2.7/sre_parse.py", line 666 in parse
    source = Tokenizer(str)
RuntimeError: maximum recursion depth exceeded

Comment 1 Joanmarie Diggs (IRC: joanie) 2010-12-30 20:46:43 UTC
The problem is that for the tests/pages in question, we have several multi-select lists with thousands of items. And we're iterating through the children in these lists not once, but twice (once for speech and once for braille), and then checking to see if the child is selected.

I am regression-testing a solution currently which both solves the hanged tests and improves performance dramatically (at least for the lists in question).