microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.45k stars 8.3k forks source link

[1.23] PatternTree crash after closing two panes in oen tab #18049

Open DHowett opened 1 week ago

DHowett commented 1 week ago

Windows Terminal version

Canary 2851

Windows build number

No response

Other Software

No response

Steps to reproduce

Dunno - closed two shells inside panes in the same tab with ^D

Expected Behavior

No response

Actual Behavior

    Microsoft.Terminal.Control.dll!Microsoft::Console::Render::Renderer::TriggerRedraw(const Microsoft::Console::Types::Viewport & region) Line 262 C++
    Microsoft.Terminal.Control.dll!Microsoft::Terminal::Core::Terminal::_InvalidateFromCoords(const til::point start, const til::point end) Line 808    C++
    [Inline Frame] Microsoft.Terminal.Control.dll!Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree::__l2::<lambda_1>::operator()(const interval_tree::Interval<til::point,unsigned __int64> &) Line 774  C++
>   [Inline Frame] Microsoft.Terminal.Control.dll!std::for_each(std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<interval_tree::Interval<til::point,unsigned __int64>>>>) Line 435   C++
    Microsoft.Terminal.Control.dll!interval_tree::IntervalTree<til::point,unsigned __int64>::visit_all<`Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree'::`2'::<lambda_1>>(Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree::__l2::<lambda_1> f) Line 308    C++
    [Inline Frame] Microsoft.Terminal.Control.dll!Microsoft::Terminal::Core::Terminal::_InvalidatePatternTree() Line 771    C++
    Microsoft.Terminal.Control.dll!Microsoft::Terminal::Core::Terminal::UpdatePatternsUnderLock() Line 1192 C++
    Microsoft.Terminal.Control.dll!winrt::Microsoft::Terminal::Control::implementation::ControlCore::_setupDispatcherAndCallbacks::__l2::<lambda_1>::operator()() Line 200  C++
    [Inline Frame] Microsoft.Terminal.Control.dll!std::_Func_class<void>::operator()() Line 920 C++
    [Inline Frame] Microsoft.Terminal.Control.dll!std::invoke(std::function<void __cdecl(void)> &) Line 1704    C++
    [Inline Frame] Microsoft.Terminal.Control.dll!std::_Apply_impl(std::function<void __cdecl(void)> &) Line 1076   C++
    [Inline Frame] Microsoft.Terminal.Control.dll!std::apply(std::function<void __cdecl(void)> &) Line 1087 C++
    [Inline Frame] Microsoft.Terminal.Control.dll!til::throttled_func<1,0>::_trailing_edge() Line 196   C++
    Microsoft.Terminal.Control.dll!til::throttled_func<1,0>::_timer_callback(_TP_CALLBACK_INSTANCE * __formal, void * context, _TP_TIMER * __formal) Line 184   C++
DHowett commented 1 week ago

in TriggerRedraw

Unhandled exception thrown: read access violation. pEngine was 0x19EC0EDBB5A.

lhecker commented 1 week ago

Meh.

carlos-zamora commented 1 week ago

Leonard had some ideas on what could be happening. We should probably kill the timer before killing the renderer.