nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.08k stars 627 forks source link

NVDA sometimes plays error sounds continually when reading incoming text in cmd #13063

Open Neurrone opened 2 years ago

Neurrone commented 2 years ago

/CC @codeofdusk

Steps to reproduce:

  1. Windows+r, type cmd and press enter to open the command prompt.
  2. Type or do something that causes incoming text to be read.

Actual behavior:

ERROR - diffHandler.DiffMatchPatch.diff (13:10:15.680) - Dynamic_WinConsoleUIAEditableTextWithAutoSelectDetectionUIA._monitorThread (16244):
Exception in DMP, falling back to difflib
Traceback (most recent call last):
  File "diffHandler.pyc", line 71, in diff
  File "diffHandler.pyc", line 58, in _initialize
  File "subprocess.pyc", line 753, in __init__
  File "subprocess.pyc", line 1107, in _get_handles
  File "subprocess.pyc", line 1119, in _make_inheritable
OSError: [WinError 50] The request is not supported

Incoming text is still read, just that each time it is accompanied with error tones.

Expected behavior:

No errors

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-24184,fd9ae8c4

Windows version:

Windows 10.0.19043.1348

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

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

It fixes itself after restarting NVDA

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

No

If NVDA add-ons are disabled, is your problem still occurring?

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

N/a

codeofdusk commented 2 years ago

This is odd, thought #12827 would've fixed.

What's your API level (NVDA+f1)? Guessing you're using a FORMATTED build since fd9ae8c4 disabled DMP in older versions.

Neurrone commented 2 years ago

API level: 0 (END_INCLUSIVE)

codeofdusk commented 2 years ago

OK, please make sure that your "diff algorithm" is set to "automatic".

Neurrone commented 2 years ago

I've since changed it from dfp to automatic. I'll observe to see if this happens again.