When WSL is slow to respond, and a WSL profile is default, we throw a weird error message #8523

Open
opened 2026-01-31 01:31:38 +00:00 by claunia · 5 comments
Owner

Originally created by @darkRaspberry on GitHub (May 23, 2020).

Environment

Windows build number: Microsoft Windows [Version 10.0.19628.1]

Windows Terminal version (if applicable): Windows Terminal Version: 1.0.1401.0

Any other software?

Steps to reproduce

After booting completes. Open terminal. And error pops up. Close the terminal and reopen, then the terminal open the shell in /mnt/c/Users/being$ directory.
After again closing the terminal and reopen it starts working normally.

Expected behavior

Load all the settings listed in C:\Users\being\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json file correctly
And open in just 1 time.

Actual behavior

  • After first opening the terminal this error pops up.

Encountered errors while loading user settings
Bug

  • After second opening the terminal. It starts in /mnt/c/Users/being$ irrespective of starting directory mentioned in the setting.json

  • After 3 time opening the terminal it works correctly.

  • Actual json file.

 // This file was initially generated by Windows Terminal 0.11.1333.0
 // It should still be usable in newer versions, but newer versions might have additional
 // settings, help text, or changes that you will not see unless you clear this file
 // and let us generate a new one for you.

 // To view the default settings, hold "alt" while clicking on the "Settings" button.
 // For documentation on these settings, see: https://aka.ms/terminal-documentation 
 { 
    "$schema": "https://aka.ms/terminal-profiles-schema", 

    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "\\\\wsl$\\Ubuntu\\home\\dark",
                "icon" : "C:\\Users\\being\\ubuntu.png"
            },
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [],

    // Add custom keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about keybindings, visit https://aka.ms/terminal-keybindings
    "keybindings":
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        // Press Ctrl+Shift+F to open the search box
        { "command": "find", "keys": "ctrl+shift+f" },

        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ] }
Originally created by @darkRaspberry on GitHub (May 23, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Windows build number: Microsoft Windows [Version 10.0.19628.1] Windows Terminal version (if applicable): Windows Terminal Version: 1.0.1401.0 Any other software? ``` # Steps to reproduce After booting completes. Open terminal. And error pops up. Close the terminal and reopen, then the terminal open the shell in `/mnt/c/Users/being$` directory. After again closing the terminal and reopen it starts working normally. # Expected behavior Load all the settings listed in `C:\Users\being\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json` file correctly And open in just 1 time. # Actual behavior - After first opening the terminal this error pops up. Encountered errors while loading user settings ![Bug](https://user-images.githubusercontent.com/56693429/82724524-5594f480-9cf4-11ea-8ed4-17b64d57ccff.PNG) - After second opening the terminal. It starts in `/mnt/c/Users/being$` irrespective of starting directory mentioned in the setting.json - After 3 time opening the terminal it works correctly. - Actual json file. ```bash // This file was initially generated by Windows Terminal 0.11.1333.0 // It should still be usable in newer versions, but newer versions might have additional // settings, help text, or changes that you will not see unless you clear this file // and let us generate a new one for you. // To view the default settings, hold "alt" while clicking on the "Settings" button. // For documentation on these settings, see: https://aka.ms/terminal-documentation { "$schema": "https://aka.ms/terminal-profiles-schema", "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}", // You can add more global application settings here. // To learn more about global settings, visit https://aka.ms/terminal-global-settings // If enabled, selections are automatically copied to your clipboard. "copyOnSelect": false, // If enabled, formatted data is also copied to your clipboard "copyFormatting": false, // A profile specifies a command to execute paired with information about how it should look and feel. // Each one of them will appear in the 'New Tab' dropdown, // and can be invoked from the commandline with `wt.exe -p xxx` // To learn more about profiles, visit https://aka.ms/terminal-profile-settings "profiles": { "defaults": { // Put settings here that you want to apply to all profiles. }, "list": [ { "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "startingDirectory": "\\\\wsl$\\Ubuntu\\home\\dark", "icon" : "C:\\Users\\being\\ubuntu.png" }, { // Make changes here to the powershell.exe profile. "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "name": "Windows PowerShell", "commandline": "powershell.exe", "hidden": false }, { // Make changes here to the cmd.exe profile. "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", "name": "Command Prompt", "commandline": "cmd.exe", "hidden": false }, { "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", "hidden": false, "name": "Azure Cloud Shell", "source": "Windows.Terminal.Azure" } ] }, // Add custom color schemes to this array. // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes "schemes": [], // Add custom keybindings to this array. // To unbind a key combination from your defaults.json, set the command to "unbound". // To learn more about keybindings, visit https://aka.ms/terminal-keybindings "keybindings": [ // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json. // These two lines additionally bind them to Ctrl+C and Ctrl+V. // To learn more about selection, visit https://aka.ms/terminal-selection { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" }, { "command": "paste", "keys": "ctrl+v" }, // Press Ctrl+Shift+F to open the search box { "command": "find", "keys": "ctrl+shift+f" }, // Press Alt+Shift+D to open a new pane. // - "split": "auto" makes this pane open in the direction that provides the most surface area. // - "splitMode": "duplicate" makes the new pane use the focused pane's profile. // To learn more about panes, visit https://aka.ms/terminal-panes { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" } ] } ```
claunia added the Help WantedArea-SettingsIssue-BugProduct-Terminal labels 2026-01-31 01:31:38 +00:00
Author
Owner

@DHowett commented on GitHub (Jun 5, 2020):

I believe this is a side effect of WSL not responding to our request for information fast enough. When that happens, we think there is no WSL distribution available.

@DHowett commented on GitHub (Jun 5, 2020): I believe this is a side effect of WSL not responding to our request for information fast enough. When that happens, we think there is no WSL distribution available.
Author
Owner

@davidchisnall commented on GitHub (Jan 22, 2021):

An error message saying something like 'WSL service did not respond in time, not able to use WSL. Please check whether WSL is running and restart the terminal' would go a long way to making this less confusing to the user. I spent 10 minutes this morning trying to work out what had become wrong in my terminal settings file as a result of a reboot, before discovering that the problem just went away if I restarted Terminal.

A dialog with 'give up' and 'retry' options would be better, so if I think WSL is probably just slow, I can retry, if I've done something like uninstall WSL I can go and edit my settings. Ideally, some monitoring of the WSL service status and system load would let the terminal diagnose whether this is a slow response, the WSL service is crashed, or WSL is not enabled at all and do the right thing, but given that I've been using the terminal as my daily driver for over a year and seen this problem once, the engineering time required to do all of that would be better spent on something else.

@davidchisnall commented on GitHub (Jan 22, 2021): An error message saying something like 'WSL service did not respond in time, not able to use WSL. Please check whether WSL is running and restart the terminal' would go a long way to making this less confusing to the user. I spent 10 minutes this morning trying to work out what had become wrong in my terminal settings file as a result of a reboot, before discovering that the problem just went away if I restarted Terminal. A dialog with 'give up' and 'retry' options would be better, so if I think WSL is probably just slow, I can retry, if I've done something like uninstall WSL I can go and edit my settings. Ideally, some monitoring of the WSL service status and system load would let the terminal diagnose whether this is a slow response, the WSL service is crashed, or WSL is not enabled at all and do the right thing, but given that I've been using the terminal as my daily driver for over a year and seen this problem once, the engineering time required to do all of that would be better spent on something else.
Author
Owner

@diablodale commented on GitHub (Mar 1, 2021):

Reproduces Microsoft Windows [Version 10.0.19042.804] and WSL2 5.4.72-microsoft-standard-WSL2

  1. Compile a large program in Visual Studio 2019. Naturally VS uses all cores to compile
  2. Run Windows Terminal

Result

The error message in the OP and no ability to launch a WSL2 distribution from Windows terminal. No distributions are listed in the WT pulldown in the menu bar.

Expected

No error message. WSL2 opens at its designated distribution prompt

Workaround

Don't use Windows Terminal.
Instead, run the specific WSL2 distribution from Start menu which uses some other console binary for the command line.

@diablodale commented on GitHub (Mar 1, 2021): Reproduces `Microsoft Windows [Version 10.0.19042.804]` and WSL2 `5.4.72-microsoft-standard-WSL2` 1. Compile a large program in Visual Studio 2019. Naturally VS uses all cores to compile 2. Run Windows Terminal ### Result The error message in the OP and no ability to launch a WSL2 distribution from Windows terminal. No distributions are listed in the WT pulldown in the menu bar. ### Expected No error message. WSL2 opens at its designated distribution prompt ### Workaround Don't use Windows Terminal. Instead, run the specific WSL2 distribution from Start menu which uses some other console binary for the command line.
Author
Owner

@vadimkantorov commented on GitHub (Jun 5, 2021):

I think Terminal should propose to wait longer in this case and clearly explain what is going on.

This situation is frequent on laptops with HDD where it can take arbitrary time for WSL to respond (especially if some libraries need to be loaded from paged out memory).

@vadimkantorov commented on GitHub (Jun 5, 2021): I think Terminal should propose to wait longer in this case and clearly explain what is going on. This situation is frequent on laptops with HDD where it can take arbitrary time for WSL to respond (especially if some libraries need to be loaded from paged out memory).
Author
Owner

@zadjii-msft commented on GitHub (Aug 17, 2021):

Okay, I prototyped a warning in dev/migrie/b/6160-dynamic-default-warning.

It looks like this now:
image

With #10967, I don't think this will be hit with any frequency. And with some of the work in #9997, we will also need to revisit this approach. We'll actually be keeping around profile blobs for profiles that the user had in their settings file but didn't successfully layer onto an existing profile. With those hanging around, then it'll actually be easier to fix.

@zadjii-msft commented on GitHub (Aug 17, 2021): Okay, I prototyped a warning in [`dev/migrie/b/6160-dynamic-default-warning`](https://github.com/microsoft/terminal/compare/dev/migrie/b/6160-dynamic-default-warning). It looks like this now: ![image](https://user-images.githubusercontent.com/18356694/129794827-7f97223f-bba5-48f6-8e85-af4fa514d8b0.png) With #10967, I don't think this will be hit with any frequency. And with some of the work in #9997, we will also need to revisit this approach. We'll actually be keeping around profile blobs for profiles that the user had in their settings file but didn't successfully layer onto an existing profile. With those hanging around, then it'll actually be easier to fix.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#8523