You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While in browse mode, assign an input gesture for vertical navigation, e.g. nvda+alt+up and down arrow keys
Navigate to the current build
4.1. Navigate vertically starting from the last pull request displayed there
4.2. Go to the console where you can see the building process, and start vertical navigation from there.
Actual behavior:
in 4.1, NVDA freezes after a while even it doesn't find any further vertically aligned elements on the screen. Following is written to the log:
IO - inputCore.InputManager.executeGesture (07:25:27.899) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
IO - speech.speech.speak (07:25:27.940) - MainThread (13164):
Speaking ['Link', 'master', ' ', 'Link', '20342a38', ' ']
IO - inputCore.InputManager.executeGesture (07:25:29.235) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:29.749) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - inputCore.InputManager.executeGesture (07:25:35.953) - winInputHook (5656):
Input: kb(laptop):downArrow
IO - speech.speech.speak (07:25:37.460) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
IO - speech.speech.speak (07:25:37.464) - MainThread (13164):
Speaking ['Link', '20342a38', ' ']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:25:37.469) - Dummy-9 (8952):
Thread 20760, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:37.757) - watchdog (8260):
Recovered from potential freeze after 8.508360700041521 seconds.
IO - inputCore.InputManager.executeGesture (07:25:38.952) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:39.462) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - inputCore.InputManager.executeGesture (07:25:40.911) - winInputHook (5656):
Input: kb(laptop):downArrow
IO - speech.speech.speak (07:25:47.335) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
IO - speech.speech.speak (07:25:47.335) - MainThread (13164):
Speaking ['15 min 57 sec ']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:25:47.339) - Dummy-9 (8952):
Thread 7072, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:47.474) - watchdog (8260):
Recovered from potential freeze after 8.511709100042935 seconds.
IO - inputCore.InputManager.executeGesture (07:25:48.405) - winInputHook (5656):
Input: kb(laptop):upArrow
IO - speech.speech.speak (07:25:48.413) - MainThread (13164):
Speaking ['Link', '20342a38', ' ']
IO - inputCore.InputManager.executeGesture (07:25:48.806) - winInputHook (5656):
Input: kb(laptop):downArrow
IO - speech.speech.speak (07:25:48.810) - MainThread (13164):
Speaking ['15 min 59 sec ']
IO - inputCore.InputManager.executeGesture (07:25:49.267) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:49.781) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - inputCore.InputManager.executeGesture (07:25:49.882) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
IO - inputCore.InputManager.executeGesture (07:25:50.323) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
IO - inputCore.InputManager.executeGesture (07:25:50.513) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
IO - inputCore.InputManager.executeGesture (07:25:50.682) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
IO - inputCore.InputManager.executeGesture (07:25:51.442) - winInputHook (5656):
Input: kb(laptop):upArrow
IO - speech.speech.speak (07:25:58.051) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:25:58.059) - Dummy-9 (8952):
Thread 7072, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67982 too big for buffer, returning false
IO - inputCore.InputManager.executeGesture (07:25:58.165) - winInputHook (5656):
Input: kb(laptop):upArrow
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:58.288) - watchdog (8260):
Recovered from potential freeze after 9.007131499995012 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:25:58.564) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (07:26:06.715) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:26:06.723) - Dummy-9 (8952):
Thread 12500, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:07.071) - watchdog (8260):
Recovered from potential freeze after 9.007925099984277 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:07.230) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (07:26:14.833) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:26:14.841) - Dummy-9 (8952):
Thread 12500, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:15.241) - watchdog (8260):
Recovered from potential freeze after 8.511239100014791 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:15.341) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (07:26:22.700) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:26:22.708) - Dummy-8 (4976):
Thread 12500, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:22.850) - watchdog (8260):
Recovered from potential freeze after 8.009069300023839 seconds.
DEBUG - watchdog._waitUntilNormalCoreAliveTimeout (07:26:23.200) - watchdog (8260):
Potential freeze, waiting up to 10 seconds.
IO - speech.speech.speak (07:26:31.128) - MainThread (13164):
Speaking ['no next vertically aligned paragraph']
IO - speech.speech.speak (07:26:31.132) - MainThread (13164):
Speaking ['Link', '20342a38', ' ']
DEBUGWARNING - RPC process 4736 (firefox.exe) (07:26:31.136) - Dummy-8 (4976):
Thread 12500, build\x86_64\vbufBase\storage.cpp, VBufStorage_buffer_t::getLineOffsets, 1068:
Offset of 67983 too big for buffer, returning false
IO - speech.speech.speak (07:26:31.144) - MainThread (13164):
Speaking ['Link', 'master', ' ']
In 4.2, following error is sometimes displayed and NVDA is silent when landing on the vertically aligned element:
IO - inputCore.InputManager.executeGesture (07:35:58.438) - winInputHook (5656):
Input: kb(laptop):NVDA+alt+downArrow
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IAccessibleRole (07:35:58.448) - MainThread (13164):
accRole failed: (-2147024809, 'Falscher Parameter.', (None, None, None, 0, None))
ERROR - scriptHandler.executeScript (07:35:58.450) - MainThread (13164):
error executing script: <bound method BrowseModeTreeInterceptor.addQuickNav.<locals>.<lambda> of <virtualBuffers.gecko_ia2.Gecko_ia2 object at 0x05C7AB70>> with gesture 'NVDA+Alt+Pfeiltaste nach unten'
Traceback (most recent call last):
File "scriptHandler.pyc", line 295, in executeScript
File "browseMode.pyc", line 564, in <lambda>
File "browseMode.pyc", line 522, in _quickNavScript
File "browseMode.pyc", line 469, in _iterSimilarParagraph
File "browseMode.pyc", line 506, in paragraphFunc
TypeError: 'NoneType' object is not subscriptable
Expected behavior:
In 4.1, No freeze
In 4.2, no error and NVDA navigates and speaks properly the vertically aligned element.
NVDA logs, crash dumps and other attachments:
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
alpha-31398,a69fbc62 (2024.2.0.31398)
Windows version:
Windows 23 H2
Name and version of other software in use when reproducing the issue:
Firefox 124
Other information about your system:
Asus ROG strix with Intel I12900HK 5 ght, 32 gb DDR, NVIDIA gtx 3070TI with 8 gb GDDR6X
Other questions
Does the issue still occur after restarting your computer?
yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
n/a
If NVDA add-ons are disabled, is your problem still occurring?
No add-ons in use
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
yes
The text was updated successfully, but these errors were encountered:
Re 4.1. So it seems that the implementation of vertical navigation is about 10x slower than in BrowserNav. I investigated that and to my surprise found that in BrowserNav I had an optimization for Gecko textInfos that speeds up x coordinate retrieval a lot. Apparently I totally forgot about it. Will try to prepare a PR that incorporates that optimization. But also I wanted to mention that this command is not instanteneous by definition, so it will time out on larger documents by design.
Re 4.2. I couldn't repro that but it is easy to catch that exception - I will include that in the PR.
Closes#16382.
Summary of the issue:
Vertical navigation is too slow.
Description of user facing changes
N/A
Description of development approach
Retrieving x coordinate faster in Gecko textInfo by doing a direct IAccessible2 call - as opposed to creating an NVDAObject. According to my rough measurement, this speeds up vertical navigation about 10 times.
Steps to reproduce:
https://ci.appveyor.com/project/NVAccess/nvda
4.1. Navigate vertically starting from the last pull request displayed there
4.2. Go to the console where you can see the building process, and start vertical navigation from there.
Actual behavior:
in 4.1, NVDA freezes after a while even it doesn't find any further vertically aligned elements on the screen. Following is written to the log:
In 4.2, following error is sometimes displayed and NVDA is silent when landing on the vertically aligned element:
Expected behavior:
In 4.1, No freeze
In 4.2, no error and NVDA navigates and speaks properly the vertically aligned element.
NVDA logs, crash dumps and other attachments:
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
alpha-31398,a69fbc62 (2024.2.0.31398)
Windows version:
Windows 23 H2
Name and version of other software in use when reproducing the issue:
Firefox 124
Other information about your system:
Asus ROG strix with Intel I12900HK 5 ght, 32 gb DDR, NVIDIA gtx 3070TI with 8 gb GDDR6X
Other questions
Does the issue still occur after restarting your computer?
yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
n/a
If NVDA add-ons are disabled, is your problem still occurring?
No add-ons in use
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
yes
The text was updated successfully, but these errors were encountered: