Skip to content

Loading…

Errors and lags in VirtualBox Create new VM dialog #2089

Closed
nvaccessAuto opened this Issue · 5 comments

1 participant

@nvaccessAuto

Reported by Ahiiron on 2012-02-08 00:18
NVDA main-4970, VirtualBox 4.0.16, Win7x64

STR:
1. CTRL-N for new VM dialog;
2. Space/enter on Next;
3. When VM Name appears, NVDA plays error sound and lags before speaking the field name.
4. Tab and shift-tab, more errors. Below is log output: Seems to just go on forever with this.
File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 1255, in get_presentationType
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects__init_
.pyc", line 532, in get_presentationType
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 1373, in get_description
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects__init_
.pyc", line 590, in get_simpleNext
File "NVDAObjects__init_
.pyc", line 582, in findSimpleNext
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 888, in get_parent
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 1318, in get_parent
File "baseObject.pyc", line 34, in __get_

File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\window__init_
.pyc", line 260, in get_parent
File "NVDAObjects__init_
.pyc", line 72, in call
File "NVDAObjects\IAccessible__init__.pyc", line 374, in findOverlayClasses
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in getPropertyViaCache
File "NVDAObjects\IAccessible__init_
.pyc", line 741, in get_IAccessibleRole
File "comtypes__init_
.pyc", line 795, in call
ArgumentError: argument 1: : maximum recursion depth exceeded

@nvaccessAuto

Comment 1 by Ahiiron on 2012-02-08 00:28
Other info:

Also tested with NVDA 2011.3 and 2012.1b1. The issue doesn't occur with 2011.3, but does occur with 2012.1B1. To ensure things are truly not working, all GlobalPlugins and userConfigs were removed and tested with clean installs.

@nvaccessAuto

Comment 3 by jteh on 2012-02-08 00:51
Please attach a full log file with log level set to input/output. There is info I'm missing here.

@nvaccessAuto

Comment 4 by jteh on 2012-02-14 01:29
Regression caused by 797c414.

This occurs because there is a grouping above the controls which uses NVDAObjects.IAccessible.Groupbox. Groupbox.description now uses simpleNext, but simpleNext loops on those groupings. The loop is caused by code in IAccessible.parent which forces the window root to be the parent when it is deliberately skipped (37888f3).

There are several possible solutions:

  1. Restrict the Groupbox NVDAObject so it only works on certain group boxes.
  2. Don't use simpleNext in Groupbox.description, instead traversing window root objects directly.
  3. Restrict 37888f3 so it only gets used where absolutely necessary. 2 is least likely to cause regressions, though I wonder if 1 or 3 is the more correct solution to avoid future issues like this. Changes: Milestone changed from None to 2012.1
@nvaccessAuto

Comment 5 by jteh on 2012-02-14 04:41
Fixed in 280aaca. I implemented solution 2, as simpleNext is likely to cause more problems here. I still think we should consider the other solutions in future, but that is a different issue.
Changes:
State: closed

@nvaccessAuto

Comment 6 by Ahiiron on 2012-02-15 07:15
Excellent! Confirmed fixed in main-4992

@nvaccessAuto nvaccessAuto added this to the 2012.1 milestone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.