Terminal crashes Visual Studio while performing a resize #18920

Open
opened 2026-01-31 06:28:29 +00:00 by claunia · 0 comments
Owner

Originally created by @javierdlg on GitHub (Nov 17, 2022).

Windows Terminal version

1.12.2203.31007

Windows build number

10.0.19044.2130

Other Software

Microsoft Visual Studio 17.3.32929.385

Steps to reproduce

We've been getting watson reports from Visual Studio where a crash is being detected after a user resizes the integrated terminal and a FailFast is triggered. Repro steps are unknown, but the callstack shows user_resize() was triggered:

00 ucrtbase!abort(void)+0x4e [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 77] 
01 ucrtbase!terminate(void)+0x29 [minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp @ 58] 
02 PublicTerminalCore!gsl::details::terminate(void)+0xa [C:\a\_work\1\s\dep\gsl\include\gsl\gsl_assert @ 116] 
03 PublicTerminalCore!til::basic_rle::resize_trailing_extent(unsigned short new_size = 0xaaaa) [C:\a\_work\1\s\src\inc\til\rle.h @ 514] 
04 PublicTerminalCore!ATTR_ROW::Resize(void)+0xb [C:\a\_work\1\s\src\buffer\out\AttrRow.cpp @ 37] 
05 PublicTerminalCore!TextBuffer::Reflow(class TextBuffer * oldBuffer = 0xaaaaaaaa`aaaaaaaa, class TextBuffer * newBuffer = 0xaaaaaaaa`aaaaaaaa, class std::optional<Microsoft::Console::Types::Viewport> * lastCharacterViewport = 0xaaaaaaaa`aaaaaaaa, class std::optional<std::reference_wrapper<TextBuffer::PositionInformation> > * positionInfo = 0x00000090`d9cfd840 {...})+0x92b [C:\a\_work\1\s\src\buffer\out\textBuffer.cpp @ 2432] 
06 PublicTerminalCore!Microsoft::Terminal::Core::Terminal::UserResize(struct _COORD viewportSize = struct _COORD)+0x294 [C:\a\_work\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 285] 
07 PublicTerminalCore!HwndTerminal::Refresh(struct tagSIZE windowSize = <Value unavailable error>, struct _COORD * dimensions = 0x00000090`d9cfdae8 {0,0})+0x1db [C:\a\_work\1\s\src\cascadia\PublicTerminalCore\HwndTerminal.cpp @ 371] 
08 Microsoft_VisualStudio_Workspace_Implementation!DomainBoundILStubClass.IL_STUB_PInvoke(<Win32 error 0n318>)+0x95
09 Microsoft_Terminal_Wpf!Microsoft.Terminal.Wpf.TerminalContainer.TerminalContainer_MessageHook(<Win32 error 0n318>)+0x33b [C:\a\_work\1\s\src\cascadia\WpfTerminalControl\TerminalContainer.cs @ 377] 
0a PresentationFramework_ni!System.Windows.Interop.HwndHost.SubclassWndProc(<Win32 error 0n318>)+0xf007ae [f:\dd\wpf\src\Framework\System\Windows\Interop\HwndHost.cs @ 1380]

Expected Behavior

No response

Actual Behavior

Reports show that a FailFast was triggered and caused VS to close.
Watson link: https://watsonportal.microsoft.com/Failure?FailureSearchText=e4dbf733-a94b-b35e-6306-c92ca0f441ef&MaxRows=100
Internal bug link: Bug 1677696: [Watson] bex64: FAIL_FAST_FATAL_APP_EXIT_c0000409_PublicTerminalCore.dll!gsl::details::terminate

Originally created by @javierdlg on GitHub (Nov 17, 2022). ### Windows Terminal version 1.12.2203.31007 ### Windows build number 10.0.19044.2130 ### Other Software Microsoft Visual Studio 17.3.32929.385 ### Steps to reproduce We've been getting watson reports from Visual Studio where a crash is being detected after a user resizes the integrated terminal and a FailFast is triggered. Repro steps are unknown, but the callstack shows user_resize() was triggered: ``` 00 ucrtbase!abort(void)+0x4e [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 77] 01 ucrtbase!terminate(void)+0x29 [minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp @ 58] 02 PublicTerminalCore!gsl::details::terminate(void)+0xa [C:\a\_work\1\s\dep\gsl\include\gsl\gsl_assert @ 116] 03 PublicTerminalCore!til::basic_rle::resize_trailing_extent(unsigned short new_size = 0xaaaa) [C:\a\_work\1\s\src\inc\til\rle.h @ 514] 04 PublicTerminalCore!ATTR_ROW::Resize(void)+0xb [C:\a\_work\1\s\src\buffer\out\AttrRow.cpp @ 37] 05 PublicTerminalCore!TextBuffer::Reflow(class TextBuffer * oldBuffer = 0xaaaaaaaa`aaaaaaaa, class TextBuffer * newBuffer = 0xaaaaaaaa`aaaaaaaa, class std::optional<Microsoft::Console::Types::Viewport> * lastCharacterViewport = 0xaaaaaaaa`aaaaaaaa, class std::optional<std::reference_wrapper<TextBuffer::PositionInformation> > * positionInfo = 0x00000090`d9cfd840 {...})+0x92b [C:\a\_work\1\s\src\buffer\out\textBuffer.cpp @ 2432] 06 PublicTerminalCore!Microsoft::Terminal::Core::Terminal::UserResize(struct _COORD viewportSize = struct _COORD)+0x294 [C:\a\_work\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 285] 07 PublicTerminalCore!HwndTerminal::Refresh(struct tagSIZE windowSize = <Value unavailable error>, struct _COORD * dimensions = 0x00000090`d9cfdae8 {0,0})+0x1db [C:\a\_work\1\s\src\cascadia\PublicTerminalCore\HwndTerminal.cpp @ 371] 08 Microsoft_VisualStudio_Workspace_Implementation!DomainBoundILStubClass.IL_STUB_PInvoke(<Win32 error 0n318>)+0x95 09 Microsoft_Terminal_Wpf!Microsoft.Terminal.Wpf.TerminalContainer.TerminalContainer_MessageHook(<Win32 error 0n318>)+0x33b [C:\a\_work\1\s\src\cascadia\WpfTerminalControl\TerminalContainer.cs @ 377] 0a PresentationFramework_ni!System.Windows.Interop.HwndHost.SubclassWndProc(<Win32 error 0n318>)+0xf007ae [f:\dd\wpf\src\Framework\System\Windows\Interop\HwndHost.cs @ 1380] ``` ### Expected Behavior _No response_ ### Actual Behavior Reports show that a FailFast was triggered and caused VS to close. Watson link: https://watsonportal.microsoft.com/Failure?FailureSearchText=e4dbf733-a94b-b35e-6306-c92ca0f441ef&MaxRows=100 Internal bug link: [Bug 1677696](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1677696): [Watson] bex64: FAIL_FAST_FATAL_APP_EXIT_c0000409_PublicTerminalCore.dll!gsl::details::terminate
claunia added the Area-OutputIssue-BugProduct-TerminalPriority-1Severity-Crash labels 2026-01-31 06:28:30 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18920