1.16 - Crash in SUI when hot-reloading SUI #18357

Closed
opened 2026-01-31 06:11:24 +00:00 by claunia · 1 comment
Owner

Originally created by @zadjii-msft on GitHub (Sep 1, 2022).

Unsure if it's just my settings blob or not.

  1. Open a SUI tab
  2. save the settings.json file
  3. 💥

Crash is in

stack
>	Microsoft.Terminal.Settings.Editor.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IColorSchemeViewModel<winrt::Microsoft::Terminal::Settings::Editor::IColorSchemeViewModel>::Name() Line 688	C++
 	Microsoft.Terminal.Settings.Editor.dll!winrt::Microsoft::Terminal::Settings::Editor::implementation::ColorSchemesPageViewModel::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 37	C++
 	Microsoft.Terminal.Settings.Editor.dll!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Editor::implementation::ColorSchemesPageViewModel,winrt::Microsoft::Terminal::Settings::Editor::IColorSchemesPageViewModel>::UpdateSettings(void * settings) Line 4015	C++
 	Microsoft.Terminal.Settings.Editor.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IColorSchemesPageViewModel<winrt::Microsoft::Terminal::Settings::Editor::IColorSchemesPageViewModel>::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 791	C++
 	Microsoft.Terminal.Settings.Editor.dll!winrt::Microsoft::Terminal::Settings::Editor::implementation::MainPage::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 159	C++
 	Microsoft.Terminal.Settings.Editor.dll!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Editor::implementation::MainPage,winrt::Microsoft::Terminal::Settings::Editor::IMainPage>::UpdateSettings(void * settings) Line 5371	C++
 	TerminalApp.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IMainPage<winrt::Microsoft::Terminal::Settings::Editor::IMainPage>::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 1721	C++
 	TerminalApp.dll!winrt::TerminalApp::implementation::SettingsTab::UpdateSettings(winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings settings) Line 44	C++

_CurrentScheme is nullptr.

<conjecture>I bet it's cause _CurrentScheme doesn't get set until the first _UpdateSettings call, which doesn't happen until a settings reload.

Originally created by @zadjii-msft on GitHub (Sep 1, 2022). Unsure if it's just my settings blob or not. 1. Open a SUI tab 2. save the `settings.json` file 3. 💥 Crash is in <details> <summary>stack</summary> ``` > Microsoft.Terminal.Settings.Editor.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IColorSchemeViewModel<winrt::Microsoft::Terminal::Settings::Editor::IColorSchemeViewModel>::Name() Line 688 C++ Microsoft.Terminal.Settings.Editor.dll!winrt::Microsoft::Terminal::Settings::Editor::implementation::ColorSchemesPageViewModel::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 37 C++ Microsoft.Terminal.Settings.Editor.dll!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Editor::implementation::ColorSchemesPageViewModel,winrt::Microsoft::Terminal::Settings::Editor::IColorSchemesPageViewModel>::UpdateSettings(void * settings) Line 4015 C++ Microsoft.Terminal.Settings.Editor.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IColorSchemesPageViewModel<winrt::Microsoft::Terminal::Settings::Editor::IColorSchemesPageViewModel>::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 791 C++ Microsoft.Terminal.Settings.Editor.dll!winrt::Microsoft::Terminal::Settings::Editor::implementation::MainPage::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 159 C++ Microsoft.Terminal.Settings.Editor.dll!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Editor::implementation::MainPage,winrt::Microsoft::Terminal::Settings::Editor::IMainPage>::UpdateSettings(void * settings) Line 5371 C++ TerminalApp.dll!winrt::impl::consume_Microsoft_Terminal_Settings_Editor_IMainPage<winrt::Microsoft::Terminal::Settings::Editor::IMainPage>::UpdateSettings(const winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings & settings) Line 1721 C++ TerminalApp.dll!winrt::TerminalApp::implementation::SettingsTab::UpdateSettings(winrt::Microsoft::Terminal::Settings::Model::CascadiaSettings settings) Line 44 C++ ``` </details> `_CurrentScheme` is `nullptr`. \<conjecture>I bet it's cause `_CurrentScheme` doesn't get set until the first _UpdateSettings call, which doesn't happen until a settings reload.
Author
Owner

@ghost commented on GitHub (Sep 13, 2022):

:tada:This issue was addressed in #13902, which has now been successfully released as Windows Terminal Preview v1.16.252.🎉

Handy links:

@ghost commented on GitHub (Sep 13, 2022): :tada:This issue was addressed in #13902, which has now been successfully released as `Windows Terminal Preview v1.16.252`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.16.252) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18357