nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

NVDA loses ability to navigate virtual buffers and other apps with NVDA command keys #9747

Closed MarcoZehe closed 4 years ago

MarcoZehe commented 5 years ago

Note: This is an intermittent problem that someties takes days to show itself. But if it does, it is usually in the environment of Gecko-like browsers such as Firefox or Chrome, or Chromium-based Edge. It also likes to occur when navigating inside virtual buffers, or if focus changes occur rapidly. Speech falls silent, but can be revived at some point, latest when restarting NVDA. See the log below for more information on what is happening. I was reading a Github issue in Chromium-based MS Edge Dev when it happened, downarroing from one line to the next.

Steps to reproduce:

No exact steps to reproduce, but usually occurs when navigating virtual buffers or quickly flipping between browse and focus modes in Gecko-like browsers.

Actual behavior:

NVDA loses connection between speech, keyboard, and event handling. The below log shows that in the middle of speaking, some crash occurs, and after that, keyboard events still register, but nothing is spoken, until NVDA is forcably restarted and focus moves to the task bar before NVDA is shut down. Log excerpt:

IO - inputCore.InputManager.executeGesture (15:32:01.815): Input: kb(laptop):downArrow IO - speech.speak (15:32:01.973): Speaking [LangChangeCommand (u'en'), u'Nvda announced that word was opening.\n'] IO - braille.BrailleBuffer.update (15:32:01.986): Braille regions text: [u'Nvda announced that word was opening. '] IO - braille.BrailleHandler.update (15:32:01.986): Braille window dots: 13457 1236 145 1 - 1 1345 1345 135 136 1345 14 15 145 - IO - braille.BrailleHandler.update (15:32:01.990): Braille window dots: 13457 1236 145 1 - 1 1345 1345 135 136 1345 14 15 145 - DEBUGWARNING - NVDAObjects.UIA.UIA._prefetchUIACacheForPropertyIDs (15:32:02.691): IUIAutomationElement.buildUpdatedCache failed given IDs of set([30019, 30022, 30086, 30025, 30036, 30070, 30103, 30008, 30009, 30010, 30046, 30079]) DEBUGWARNING - eventHandler.executeEvent (15:32:02.694): error executing event: gainFocus on <NVDAObjects.UIA.UIA object at 0x050D07D0> with extra args of {} Traceback (most recent call last): File "eventHandler.pyc", line 155, in executeEvent File "eventHandler.pyc", line 92, in init File "eventHandler.pyc", line 100, in next File "NVDAObjects__init.pyc", line 1030, in event_gainFocus File "NVDAObjects__init.pyc", line 918, in reportFocus File "speech.pyc", line 376, in speakObject File "baseObject.pyc", line 47, in get__ File "baseObject.pyc", line 147, in _getPropertyViaCache File "NVDAObjects__init__.pyc", line 1244, in _gethasNavigableText File "baseObject.pyc", line 47, in get File "baseObject.pyc", line 147, in _getPropertyViaCache File "NVDAObjects\UIA__init.pyc", line 1124, in _get_states File "NVDAObjects\UIA\init__.pyc", line 741, in _getUIACacheablePropertyValue COMError: (-2147220991, 'Ein Ereignis konnte keinen Abonnenten aufrufen.', (None, None, None, 0, None)) IO - inputCore.InputManager.executeGesture (15:32:03.854): Input: kb(laptop):downArrow IO - inputCore.InputManager.executeGesture (15:32:08.257): Input: br(handyTech.Actilino):rightTakBottom IO - braille.BrailleHandler.update (15:32:08.282): Braille window dots: 2345 125 1 2345 - 2456 135 1235 145 - 2456 1 234 - IO - inputCore.InputManager.executeGesture (15:32:10.841): Input: br(handyTech.Actilino):rightTakBottom IO - braille.BrailleHandler.update (15:32:10.861): Braille window dots: 135 1234 15 1345 24 1345 1245 3 - IO - inputCore.InputManager.executeGesture (15:32:12.826): Input: kb(laptop):downArrow IO - inputCore.InputManager.executeGesture (15:32:13.569): Input: kb(laptop):upArrow IO - inputCore.InputManager.executeGesture (15:32:15.477): Input: kb(laptop):alt+control+n IO - speech.speak (15:32:18.655): Speaking [LangChangeCommand ('de_DE'), u'Taskleiste']

Expected behavior:

NVDA should not be hampered in this destructive manner.

System configuration

NVDA installed/portable/running from source:

Installed.

NVDA version:

Seen in 2018.4, 2019.1.1, 2019.2beta 1 and also Alpha builds from before, between, and after these versions.

Windows version:

Anything from 1803 to 1903 will do nicely.

Name and version of other software in use when reproducing the issue:

Firefox, Chrome, or MS Edge Dev current versions.

Other information about your system:

Standard Microsoft Surface Laptop 2 with a Handy Tech Actilino attached.

Other questions

Does the issue still occur after restarting your PC?

Yes, but sometimes needs days to show itself.

Have you tried any other versions of NVDA? If so, please report their behaviors.

See above, yes.

DrSooom commented 5 years ago

@MarcoZehe: Which synthesizer was used?

MarcoZehe commented 5 years ago

The Nuance Vocalizer 5.5 synth.

DrSooom commented 5 years ago

@MarcoZehe: Before trying the whole thing with eSpeak NG, try to press NVDA+CTRL+R (restore NVDA configuration) and/or NVDA+CTRL+F3 (reload plug-ins and AppModules) directly after this situation occurs and report their results. And please add the exact versions (or the range of versions) to the specific webbrowsers in the issue description. (I forgot to mention that point before.) Thanks.

Adriani90 commented 4 years ago

@MarcoZehe any updates on this? I guess things changed somehow in NVDA 2020 Beta and newest versions of Crome, Firefox and Edge. Grateful if you could give us a short update.

MarcoZehe commented 4 years ago

This seems to have resolved itself with NVDA‘s update to Python 3 and all the updated packages. Haven‘t seen this problem in months.

Adriani90 commented 4 years ago

Thanks for reporting. Closing as works for me. We can reopen if this happens again.