Skip to content

Using double-size characters can cause the Atlas engine to crash #13962

@j4james

Description

@j4james

Windows Terminal version

Commit 3e6abd3

Windows build number

10.0.19044.1889

Other Software

Vttest

Steps to reproduce

  1. Make sure the Atlas renderer is enabled.
  2. Open a WSL shell.
  3. Run Vttest, and select option 4, the "Test of double-size characters".
  4. While the first test page is visible, open the terminal settings.
  5. Without changing anything click Save and then close the settings.

Expected Behavior

No crash.

Actual Behavior

The app crashes with:

Unhandled exception thrown: write access violation.
it->_Ptr->_Next->**_Prev** was 0x7FFE52FDE460.

and the stack trace:

>	Microsoft.Terminal.Control.dll!Microsoft::Console::Render::AtlasEngine::StartPaint() Line 280	C++
 	Microsoft.Terminal.Control.dll!Microsoft::Console::Render::Renderer::_PaintFrameForEngine(Microsoft::Console::Render::IRenderEngine * const pEngine) Line 121	C++
 	Microsoft.Terminal.Control.dll!Microsoft::Console::Render::RenderThread::_ThreadProc() Line 214	C++
 	[External Code]	

Sometimes the crash occurs elsewhere, but it always seems to be something with the _Prev pointer being null or pointing somewhere inaccessible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-AtlasEngineIssue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsNeeds-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingPriority-2A description (P2)Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions