Terminal crash on insider build #12919

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

Originally created by @asklar on GitHub (Mar 8, 2021).

I've hit this twice but no specific repro steps other than both times the cursor was towards the bottom of the screen and I had tried to page up the screen buffer
[internal] dump: "\redmond\osg\Teams\CORE\DEP\WinDev\asklar\dumps\terminal.zip"

Stack trace:

# Child-SP          RetAddr               Call Site
00 000000fb`e759dc10 00007ff8`8dc47013     ntdll!RtlReportFatalFailure+0x9 [minkernel\ntos\rtl\rtlutil.c @ 150] 
01 000000fb`e759dc60 00007ff8`8dc5008a     ntdll!RtlReportCriticalFailure+0x97 [minkernel\ntos\rtl\rtlutil.c @ 218] 
02 000000fb`e759dd50 00007ff8`8dc5036a     ntdll!RtlpHeapHandleError+0x12 [minkernel\ntos\rtl\heaplog.c @ 352] 
03 000000fb`e759dd80 00007ff8`8dc5a9e9     ntdll!RtlpHpHeapHandleError+0x7a [minkernel\ntos\rtl\heaplog.c @ 678] 
04 000000fb`e759ddb0 00007ff8`8dbf9456     ntdll!RtlpLogHeapFailure+0x45 [minkernel\ntos\rtl\heaplibcommon.c @ 159] 
05 (Inline Function) --------`--------     ntdll!RtlpHpLfhReportError+0x20 [minkernel\ntos\rtl\heaplfh.c @ 6978] 
06 000000fb`e759dde0 00007ff8`8db662a0     ntdll!RtlpHpLfhSubsegmentFreeBlock+0x92d06 [minkernel\ntos\rtl\heaplfh.c @ 6004] 
07 (Inline Function) --------`--------     ntdll!RtlpHpLfhContextFree+0x9 [minkernel\ntos\rtl\heaplfh.c @ 598] 
08 (Inline Function) --------`--------     ntdll!RtlpHpSegFree+0xbf [minkernel\ntos\rtl\heapsegmentalloc.c @ 662] 
09 (Inline Function) --------`--------     ntdll!RtlpHpFreeHeap+0x366 [minkernel\ntos\rtl\heapsegshared.c @ 1794] 
0a 000000fb`e759de60 00007ff8`8db65ade     ntdll!RtlpFreeHeapInternal+0x3c0 [minkernel\ntos\rtl\heap.c @ 2549] 
0b (Inline Function) --------`--------     ntdll!RtlpHpHeapFreeRedirectLayer+0x1a [minkernel\ntos\rtl\heappublic.c @ 243] 
0c 000000fb`e759df20 00007ff8`8db65a0d     ntdll!RtlpHpFreeWithExceptionProtection+0x1e [minkernel\ntos\rtl\heappublic.c @ 281] 
0d 000000fb`e759df90 00007ff8`8b90219b     ntdll!RtlFreeHeap+0x6d [minkernel\ntos\rtl\heappublic.c @ 351] 
0e 000000fb`e759dfd0 00007ff8`3174c735     ucrtbase!_free_base+0x1b [minkernel\crts\ucrt\src\appcrt\heap\free_base.cpp @ 105] 
0f (Inline Function) --------`--------     TerminalControl!std::pmr::memory_resource::deallocate+0x17 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xpolymorphic_allocator.h @ 154] 
10 (Inline Function) --------`--------     TerminalControl!std::pmr::polymorphic_allocator<til::rectangle>::deallocate+0x1b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xpolymorphic_allocator.h @ 222] 
11 (Inline Function) --------`--------     TerminalControl!std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >::_Tidy+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\vector @ 1696] 
12 (Inline Function) --------`--------     TerminalControl!std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >::{dtor}+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\vector @ 673] 
13 (Inline Function) --------`--------     TerminalControl!std::_Destroy_in_place+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xmemory @ 277] 
14 (Inline Function) --------`--------     TerminalControl!std::_Optional_destruct_base<std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >,0>::reset+0x34 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\optional @ 102] 
15 000000fb`e759e000 00007ff8`31748a07     TerminalControl!til::details::bitmap<std::pmr::polymorphic_allocator<unsigned __int64> >::set+0x155 [E:\BA\1\s\src\inc\til\bitmap.h @ 362] 
16 (Inline Function) --------`--------     TerminalControl!Microsoft::Console::Render::DxEngine::_InvalidateRectangle+0xa8 [E:\BA\1\s\src\renderer\dx\DxRenderer.cpp @ 1025] 
17 000000fb`e759e090 00007ff8`31740cc4     TerminalControl!Microsoft::Console::Render::DxEngine::Invalidate+0x1a7 [E:\BA\1\s\src\renderer\dx\DxRenderer.cpp @ 1049] 
18 (Inline Function) --------`--------     TerminalControl!Microsoft::Console::Render::Renderer::TriggerRedraw::__l10::<lambda_2d0d9b7ab976172a5fedf827605f350e>::operator()+0x16 [E:\BA\1\s\src\renderer\base\renderer.cpp @ 239] 
19 (Inline Function) --------`--------     TerminalControl!std::for_each+0x41 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\algorithm @ 308] 
1a 000000fb`e759e110 00007ff8`3175cd62     TerminalControl!Microsoft::Console::Render::Renderer::TriggerRedraw+0x194 [E:\BA\1\s\src\renderer\base\renderer.cpp @ 238] 
1b 000000fb`e759e170 00007ff8`3175e2e4     TerminalControl!Microsoft::Terminal::Core::Terminal::_InvalidateFromCoords+0x62 [E:\BA\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 722] 
1c (Inline Function) --------`--------     TerminalControl!Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree::__l2::<lambda_9a52256f1328819638ef6d4b55293fb7>::operator()+0x64 [E:\BA\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 687] 
1d (Inline Function) --------`--------     TerminalControl!std::for_each+0x78 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\algorithm @ 308] 
1e 000000fb`e759e1f0 00007ff8`3175dca8     TerminalControl!interval_tree::IntervalTree<til::point,unsigned __int64>::visit_all<<lambda_9a52256f1328819638ef6d4b55293fb7> >+0xc4 [E:\BA\1\s\oss\interval_tree\IntervalTree.h @ 307] 

Originally created by @asklar on GitHub (Mar 8, 2021). I've hit this twice but no specific repro steps other than both times the cursor was towards the bottom of the screen and I had tried to page up the screen buffer [internal] dump: "\\redmond\osg\Teams\CORE\DEP\WinDev\asklar\dumps\terminal.zip" Stack trace: <details> ``` # Child-SP RetAddr Call Site 00 000000fb`e759dc10 00007ff8`8dc47013 ntdll!RtlReportFatalFailure+0x9 [minkernel\ntos\rtl\rtlutil.c @ 150] 01 000000fb`e759dc60 00007ff8`8dc5008a ntdll!RtlReportCriticalFailure+0x97 [minkernel\ntos\rtl\rtlutil.c @ 218] 02 000000fb`e759dd50 00007ff8`8dc5036a ntdll!RtlpHeapHandleError+0x12 [minkernel\ntos\rtl\heaplog.c @ 352] 03 000000fb`e759dd80 00007ff8`8dc5a9e9 ntdll!RtlpHpHeapHandleError+0x7a [minkernel\ntos\rtl\heaplog.c @ 678] 04 000000fb`e759ddb0 00007ff8`8dbf9456 ntdll!RtlpLogHeapFailure+0x45 [minkernel\ntos\rtl\heaplibcommon.c @ 159] 05 (Inline Function) --------`-------- ntdll!RtlpHpLfhReportError+0x20 [minkernel\ntos\rtl\heaplfh.c @ 6978] 06 000000fb`e759dde0 00007ff8`8db662a0 ntdll!RtlpHpLfhSubsegmentFreeBlock+0x92d06 [minkernel\ntos\rtl\heaplfh.c @ 6004] 07 (Inline Function) --------`-------- ntdll!RtlpHpLfhContextFree+0x9 [minkernel\ntos\rtl\heaplfh.c @ 598] 08 (Inline Function) --------`-------- ntdll!RtlpHpSegFree+0xbf [minkernel\ntos\rtl\heapsegmentalloc.c @ 662] 09 (Inline Function) --------`-------- ntdll!RtlpHpFreeHeap+0x366 [minkernel\ntos\rtl\heapsegshared.c @ 1794] 0a 000000fb`e759de60 00007ff8`8db65ade ntdll!RtlpFreeHeapInternal+0x3c0 [minkernel\ntos\rtl\heap.c @ 2549] 0b (Inline Function) --------`-------- ntdll!RtlpHpHeapFreeRedirectLayer+0x1a [minkernel\ntos\rtl\heappublic.c @ 243] 0c 000000fb`e759df20 00007ff8`8db65a0d ntdll!RtlpHpFreeWithExceptionProtection+0x1e [minkernel\ntos\rtl\heappublic.c @ 281] 0d 000000fb`e759df90 00007ff8`8b90219b ntdll!RtlFreeHeap+0x6d [minkernel\ntos\rtl\heappublic.c @ 351] 0e 000000fb`e759dfd0 00007ff8`3174c735 ucrtbase!_free_base+0x1b [minkernel\crts\ucrt\src\appcrt\heap\free_base.cpp @ 105] 0f (Inline Function) --------`-------- TerminalControl!std::pmr::memory_resource::deallocate+0x17 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xpolymorphic_allocator.h @ 154] 10 (Inline Function) --------`-------- TerminalControl!std::pmr::polymorphic_allocator<til::rectangle>::deallocate+0x1b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xpolymorphic_allocator.h @ 222] 11 (Inline Function) --------`-------- TerminalControl!std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >::_Tidy+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\vector @ 1696] 12 (Inline Function) --------`-------- TerminalControl!std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >::{dtor}+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\vector @ 673] 13 (Inline Function) --------`-------- TerminalControl!std::_Destroy_in_place+0x2b [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\xmemory @ 277] 14 (Inline Function) --------`-------- TerminalControl!std::_Optional_destruct_base<std::vector<til::rectangle,std::pmr::polymorphic_allocator<til::rectangle> >,0>::reset+0x34 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\optional @ 102] 15 000000fb`e759e000 00007ff8`31748a07 TerminalControl!til::details::bitmap<std::pmr::polymorphic_allocator<unsigned __int64> >::set+0x155 [E:\BA\1\s\src\inc\til\bitmap.h @ 362] 16 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Render::DxEngine::_InvalidateRectangle+0xa8 [E:\BA\1\s\src\renderer\dx\DxRenderer.cpp @ 1025] 17 000000fb`e759e090 00007ff8`31740cc4 TerminalControl!Microsoft::Console::Render::DxEngine::Invalidate+0x1a7 [E:\BA\1\s\src\renderer\dx\DxRenderer.cpp @ 1049] 18 (Inline Function) --------`-------- TerminalControl!Microsoft::Console::Render::Renderer::TriggerRedraw::__l10::<lambda_2d0d9b7ab976172a5fedf827605f350e>::operator()+0x16 [E:\BA\1\s\src\renderer\base\renderer.cpp @ 239] 19 (Inline Function) --------`-------- TerminalControl!std::for_each+0x41 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\algorithm @ 308] 1a 000000fb`e759e110 00007ff8`3175cd62 TerminalControl!Microsoft::Console::Render::Renderer::TriggerRedraw+0x194 [E:\BA\1\s\src\renderer\base\renderer.cpp @ 238] 1b 000000fb`e759e170 00007ff8`3175e2e4 TerminalControl!Microsoft::Terminal::Core::Terminal::_InvalidateFromCoords+0x62 [E:\BA\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 722] 1c (Inline Function) --------`-------- TerminalControl!Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree::__l2::<lambda_9a52256f1328819638ef6d4b55293fb7>::operator()+0x64 [E:\BA\1\s\src\cascadia\TerminalCore\Terminal.cpp @ 687] 1d (Inline Function) --------`-------- TerminalControl!std::for_each+0x78 [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\include\algorithm @ 308] 1e 000000fb`e759e1f0 00007ff8`3175dca8 TerminalControl!interval_tree::IntervalTree<til::point,unsigned __int64>::visit_all<<lambda_9a52256f1328819638ef6d4b55293fb7> >+0xc4 [E:\BA\1\s\oss\interval_tree\IntervalTree.h @ 307] ``` </details>
claunia added the Issue-BugResolution-DuplicateProduct-Terminal labels 2026-01-31 03:28:58 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12919