Empty "folder" entry in "newTabMenu" causes WT to be unable to start #19065

Closed
opened 2026-01-31 06:32:46 +00:00 by claunia · 2 comments
Owner

Originally created by @PankajBhojwani on GitHub (Dec 14, 2022).

Originally assigned to: @zadjii-msft on GitHub.

Windows Terminal version

1.17.3482.0

Windows build number

No response

Other Software

No response

Steps to reproduce

  1. In settings.json, update the "newtabMenu" setting to look like this:
    [
        {
            "type": "remainingProfiles"
        },
        {
            "type": "folder"
        }
    ],
  1. Launch Terminal

Expected Behavior

Either nothing happens, or Terminal gives me a warning

Actual Behavior

I get an empty window and a system error dialog that says "Windows Terminal.exe has stopped working"

Originally created by @PankajBhojwani on GitHub (Dec 14, 2022). Originally assigned to: @zadjii-msft on GitHub. ### Windows Terminal version 1.17.3482.0 ### Windows build number _No response_ ### Other Software _No response_ ### Steps to reproduce 1. In `settings.json`, update the `"newtabMenu"` setting to look like this: ``` [ { "type": "remainingProfiles" }, { "type": "folder" } ], ``` 2. Launch Terminal ### Expected Behavior Either nothing happens, or Terminal gives me a warning ### Actual Behavior I get an empty window and a system error dialog that says "Windows Terminal.exe has stopped working"
Author
Owner

@zadjii-msft commented on GitHub (Dec 15, 2022):

Stack is in



0:000> k
 # Child-SP          RetAddr               Call Site
00 00000087`896fe1c0 00007ffc`97013795     Microsoft_Terminal_Settings_Model!winrt::impl::consume_Windows_Foundation_Collections_IVector<winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>,winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>::Size+0x20 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Windows.Foundation.Collections.h @ 201] 
01 (Inline Function) --------`--------     Microsoft_Terminal_Settings_Model!winrt::impl::get_end_iterator+0x9 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\base.h @ 8591] 
02 (Inline Function) --------`--------     Microsoft_Terminal_Settings_Model!winrt::impl::consume_Windows_Foundation_Collections_IIterable<winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>,winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>::end+0x9 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Windows.Foundation.Collections.h @ 727] 
03 00000087`896fe200 00007ffc`970136a0     Microsoft_Terminal_Settings_Model!winrt::Microsoft::Terminal::Settings::Model::implementation::FolderEntry::Entries+0x9d [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\FolderEntry.cpp @ 67] 
04 00000087`896fe2d0 00007ffc`a5de056c     Microsoft_Terminal_Settings_Model!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Model::implementation::FolderEntry,winrt::Microsoft::Terminal::Settings::Model::IFolderEntry>::Entries+0x24 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Microsoft.Terminal.Settings.Model.h @ 6015] 
05 00000087`896fe300 00007ffc`a5e03bfa     TerminalApp!winrt::impl::consume_Microsoft_Terminal_Settings_Model_ICommand<winrt::Microsoft::Terminal::Settings::Model::ICommand>::NestedCommands+0x38 [C:\a\_work\1\s\src\cascadia\TerminalApp\Generated Files\winrt\Microsoft.Terminal.Settings.Model.h @ 1069] 
06 00000087`896fe350 00007ffc`a5da9dd4     TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_CreateNewTabFlyoutItems+0x863ae [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 962] 
07 00000087`896fe5b0 00007ffc`a5e7c41b     TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_CreateNewTabFlyout+0xf4 [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 831] 
08 00000087`896feb00 00007ffc`a5e01de7     TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_RefreshUIForSettingsReload+0x4f7 [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 2908] 
09 00000087`896fed20 00007ffc`a5ddeed3     TerminalApp!winrt::TerminalApp::implementation::TerminalPage::SetSettings+0x8d96b [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 144] 
0a 00000087`896feda0 00007ffc`a5dde7dd     TerminalApp!winrt::TerminalApp::implementation::AppLogic::ReloadSettings+0x123 [C:\a\_work\1\s\src\cascadia\TerminalApp\AppLogic.cpp @ 1077] 
0b 00000087`896fedf0 00007ffc`a5dde8ae     TerminalApp!`winrt::TerminalApp::implementation::AppLogic::AppLogic'::`2'::<lambda_1>::operator()+0x8d [C:\a\_work\1\s\src\cascadia\TerminalApp\AppLogic.cpp @ 198] 
0c (Inline Function) --------`--------     T


@zadjii-msft commented on GitHub (Dec 15, 2022): Stack is in ``` 0:000> k # Child-SP RetAddr Call Site 00 00000087`896fe1c0 00007ffc`97013795 Microsoft_Terminal_Settings_Model!winrt::impl::consume_Windows_Foundation_Collections_IVector<winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>,winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>::Size+0x20 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Windows.Foundation.Collections.h @ 201] 01 (Inline Function) --------`-------- Microsoft_Terminal_Settings_Model!winrt::impl::get_end_iterator+0x9 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\base.h @ 8591] 02 (Inline Function) --------`-------- Microsoft_Terminal_Settings_Model!winrt::impl::consume_Windows_Foundation_Collections_IIterable<winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>,winrt::Microsoft::Terminal::Settings::Model::NewTabMenuEntry>::end+0x9 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Windows.Foundation.Collections.h @ 727] 03 00000087`896fe200 00007ffc`970136a0 Microsoft_Terminal_Settings_Model!winrt::Microsoft::Terminal::Settings::Model::implementation::FolderEntry::Entries+0x9d [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\FolderEntry.cpp @ 67] 04 00000087`896fe2d0 00007ffc`a5de056c Microsoft_Terminal_Settings_Model!winrt::impl::produce<winrt::Microsoft::Terminal::Settings::Model::implementation::FolderEntry,winrt::Microsoft::Terminal::Settings::Model::IFolderEntry>::Entries+0x24 [C:\a\_work\1\s\src\cascadia\TerminalSettingsModel\Generated Files\winrt\Microsoft.Terminal.Settings.Model.h @ 6015] 05 00000087`896fe300 00007ffc`a5e03bfa TerminalApp!winrt::impl::consume_Microsoft_Terminal_Settings_Model_ICommand<winrt::Microsoft::Terminal::Settings::Model::ICommand>::NestedCommands+0x38 [C:\a\_work\1\s\src\cascadia\TerminalApp\Generated Files\winrt\Microsoft.Terminal.Settings.Model.h @ 1069] 06 00000087`896fe350 00007ffc`a5da9dd4 TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_CreateNewTabFlyoutItems+0x863ae [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 962] 07 00000087`896fe5b0 00007ffc`a5e7c41b TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_CreateNewTabFlyout+0xf4 [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 831] 08 00000087`896feb00 00007ffc`a5e01de7 TerminalApp!winrt::TerminalApp::implementation::TerminalPage::_RefreshUIForSettingsReload+0x4f7 [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 2908] 09 00000087`896fed20 00007ffc`a5ddeed3 TerminalApp!winrt::TerminalApp::implementation::TerminalPage::SetSettings+0x8d96b [C:\a\_work\1\s\src\cascadia\TerminalApp\TerminalPage.cpp @ 144] 0a 00000087`896feda0 00007ffc`a5dde7dd TerminalApp!winrt::TerminalApp::implementation::AppLogic::ReloadSettings+0x123 [C:\a\_work\1\s\src\cascadia\TerminalApp\AppLogic.cpp @ 1077] 0b 00000087`896fedf0 00007ffc`a5dde8ae TerminalApp!`winrt::TerminalApp::implementation::AppLogic::AppLogic'::`2'::<lambda_1>::operator()+0x8d [C:\a\_work\1\s\src\cascadia\TerminalApp\AppLogic.cpp @ 198] 0c (Inline Function) --------`-------- T ```
Author
Owner

@ghost commented on GitHub (Jan 24, 2023):

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

Handy links:

@ghost commented on GitHub (Jan 24, 2023): :tada:This issue was addressed in #14629, which has now been successfully released as `Windows Terminal Preview v1.17.1023`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.17.1023) * [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#19065