Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terminal hangs when navigating (back?) by word in Narrator #4485

Closed
DHowett-MSFT opened this issue Feb 5, 2020 · 2 comments · Fixed by #4523
Closed

Terminal hangs when navigating (back?) by word in Narrator #4485

DHowett-MSFT opened this issue Feb 5, 2020 · 2 comments · Fixed by #4523
Assignees
Labels
Area-Accessibility Issues related to accessibility Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Severity-Crash Crashes are real bad news.
Milestone

Comments

@DHowett-MSFT
Copy link
Contributor

Environment

Windows build number: Vb
Windows Terminal version (if applicable): 0.9.362.0

Steps to reproduce

Navigate by word.

Expected behavior

It does not hang.

Actual behavior

It hangs rather a lot.

We may have a long (very long) loop in...

00 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Types::Viewport::{ctor}+0x5 [E:\BA\19\s\src\types\Viewport.cpp @ 10] 
01 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Types::Viewport::FromInclusive+0x5 [E:\BA\19\s\src\types\Viewport.cpp @ 26] 
02 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Types::Viewport::FromExclusive+0x20 [E:\BA\19\s\src\types\Viewport.cpp @ 34] 
03 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Types::Viewport::FromDimensions+0x33 [E:\BA\19\s\src\types\Viewport.cpp @ 63] 
04 000000e7`190fdab0 00007fff`15a954ee TerminalControl!TextBuffer::GetSize+0xc1 [E:\BA\19\s\src\buffer\out\textBuffer.cpp @ 663] 
05 000000e7`190fdb00 00007fff`15a8dfd2 TerminalControl!TextBufferCellIterator::TextBufferCellIterator+0xee [E:\BA\19\s\src\buffer\out\textBufferCellIterator.cpp @ 43] 
06 (Inline Function) --------`-------- TerminalControl!TextBufferCellIterator::{ctor}+0x1e [E:\BA\19\s\src\buffer\out\textBufferCellIterator.cpp @ 23] 
07 (Inline Function) --------`-------- TerminalControl!TextBuffer::GetCellDataAt+0x1e [E:\BA\19\s\src\buffer\out\textBuffer.cpp @ 119] 
08 (Inline Function) --------`-------- TerminalControl!TextBuffer::GetTextDataAt+0x1e [E:\BA\19\s\src\buffer\out\textBuffer.cpp @ 108] 
09 000000e7`190fdb80 00007fff`15a89fe1 TerminalControl!TextBuffer::MoveToNextWord+0x122 [E:\BA\19\s\src\buffer\out\textBuffer.cpp @ 1219] 
0a 000000e7`190fdc90 00007fff`15a8926b TerminalControl!Microsoft::Console::Types::UiaTextRangeBase::_moveEndpointByUnitWord+0x1d1 [E:\BA\19\s\src\types\UiaTextRangeBase.cpp @ 1129] 
0b 000000e7`190fdd60 00007fff`15a7d127 TerminalControl!Microsoft::Console::Types::UiaTextRangeBase::Move+0xbb [E:\BA\19\s\src\types\UiaTextRangeBase.cpp @ 680] 
@DHowett-MSFT DHowett-MSFT added Area-Accessibility Issues related to accessibility Severity-Crash Crashes are real bad news. labels Feb 5, 2020
@DHowett-MSFT DHowett-MSFT added this to the Terminal v0.9 milestone Feb 5, 2020
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Feb 5, 2020
@carlos-zamora
Copy link
Member

Does this issue occur in the release build?

@DHowett-MSFT
Copy link
Contributor Author

Yes. 0.9.362.0.

@carlos-zamora carlos-zamora self-assigned this Feb 7, 2020
@carlos-zamora carlos-zamora added Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal. and removed Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Feb 7, 2020
@ghost ghost added the In-PR This issue has a related PR label Feb 10, 2020
@ghost ghost closed this as completed in #4523 Feb 10, 2020
ghost pushed a commit that referenced this issue Feb 10, 2020
## Summary of the Pull Request
In UIA Providers, update the concept of the size of the text buffer to just go down to the virtual bottom. This significantly increases performance to the point that it can even be used in the Debug build.

## PR Checklist
* [x] Closes #4485 
* [x] CLA signed.

## Detailed Description of the Pull Request / Additional comments
We already actually have this concept exposed to us via the IUiaData. So we're just leveraging that and putting it in a helper function `_getBufferSize()`.

## Validation Steps Performed
Tested word nav on Narrator (previously hung). Now it works on the Debug build. Previously, using the release build was necessary to be able to test this feature.
@ghost ghost added Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed In-PR This issue has a related PR labels Feb 10, 2020
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Accessibility Issues related to accessibility Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Severity-Crash Crashes are real bad news.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants