digitalcreations / MaxTo

Public issue tracker for MaxTo
https://docs.maxto.net
76 stars 5 forks source link

Windows Terminal crashing after upgrading to MaxTo 2.1.0 #636

Closed loneboat closed 4 years ago

loneboat commented 4 years ago

Describe the bug Windows Terminal (v1.3.2651.0) is crashing after upgrading to MaxTo 2.1.0.

To Reproduce

  1. Start/Activate MaxTo
  2. Start Windows Terminal
  3. Windows Terminal window hangs briefly and then exits.

Expected behavior Windows Terminal runs normally when MaxTo is running.

Screenshots

N/A

System information:

Additional context

I upgraded to MaxTo 2.1.0 today, and have since noticed that I cannot launch Windows Terminal while MaxTo is active. I do not recall which version of MaxTo I was on prior to upgrading, but I have been using MaxTo with Windows Terminal extensively with no problems until today. My current version of Windows Terminal is 1.3.2651.0.

I have attempted to disable the "Windows Terminal" shim under "Compatibility-->Windows Terminal", and receive the same behavior regardless of its setting. I have also updated the shims ("Compatibility-->Check for updates"), and performed a full system reboot, with no success.

I have attached my MaxTo config, but I doubt it's relevant - I haven't made any odd configuration changes.

I have also attached the XML file of the Windows Terminal crash which occurs in Windows Event Viewer.

I have watched my %AppData%\maxto20201030.log file during the crash, and no info is provide (like literally zero lines are logged). Only lines being logged are when I activiate/inactivate MaxTo (it just says "Enabled hook" or "Disabled hook", as usual).

config.json.txt WindowsTerminalCrash.xml.txt (renamed both to .txt because GitHub wouldn't let me attach .json or .xml files)

github-actions[bot] commented 4 years ago

Thank you for creating your first issue. We will get to it as soon as possible. This is an automated message designed to manage your expectations. We will most likely respond to your message during Norwegian business hours. If you should think of any additional information, please feel free to add it as a comment. If you are reporting a bug or incompatibility, make sure you include the versions of MaxTo, Windows and any incompatible program.

vegardlarsen commented 4 years ago

@loneboat Thank you for the report. I am going to ask the classic stupid question: Have you tried turning it off and on again?

loneboat commented 4 years ago

@loneboat Thank you for the report. I am going to ask the classic stupid question: Have you tried turning it off and on again?

Heh yes, that's the first thing I tried. I have done full system reboots (noted in "Additional context" above).

You mentioned in an email (not in this thread) that you also use Windows Terminal without issue. May I ask what version of Window Terminal you're using?

vegardlarsen commented 4 years ago

I am running the same version you are, and it has been working fine for quite some time (but it was broken during the betas for 2.1.0 for a while).

I'm afraid there isn't really any useful information in the crash reports or the logs for these kinds of errors; as it is very limited what kind of logging we can do when we are running inside other processes in the system.

My only thought is that the shim hasn't activated for some reason, and to be absolutely sure:

  1. Enable the Windows Terminal shim in MaxTo
  2. Reboot
  3. Start MaxTo before you start Windows Terminal
  4. Ensure MaxTo works well with other apps
  5. Start Windows Terminal and try again.

Please let me know how it goes.

loneboat commented 4 years ago

I will give it a shot. I'm actually out of town for a couple of days, so will fiddle with it later this week. Thanks, I'll keep you posted!

xairoo commented 4 years ago

I just downgraded to 2.0.1, now it works again. Damn and I thought it was related to an Windows update (just noticed the problem after the updates!).

Just started to create a issue for terminal before I noticed that it was based on MaxTo, but yeah... just will copy&paste the stuff for version numbers and feedback hub:


https://aka.ms/AAa597q

Environment

Windows build number: Microsoft Windows [Version 10.0.19042.610] Windows Terminal version: v1.3.2651.0, v1.4.2652.0

Steps to reproduce

Just try to start wt

Expected behavior

Should just start

Actual behavior

Empty window and error window: "windowsterminal.exe has stopped working" (windowsterminal.exe funktioniert nicht mehr)

loneboat commented 4 years ago

Just an update - it is working for me now, without any specific changes on my part. Per your advice @vegardlarsen, I went to make sure the shim was enabled, prior to a reboot/etc, but it was already enabled. I ran Windows update (probably unrelated, but mentioning it because it's something I did before it suddenly started working), and did another reboot, and it is working fine now.

Would like to note that I had previously done multiple reboots while troubleshooting the issue ( I'm not lying! :-] ), so it's odd that it suddenly just resolved itself. I'd say it must be just some odd quirk on my end if it weren't for @Xairoo mentioning similar symptoms.

Maybe it's just some oddity which requires multiple reboots before it starts working? @Xairoo, can you attempt a full Windows update and another reboot, and see if if fixes the issue for you?

xairoo commented 4 years ago

@loneboat I have updated to the latest Windows version and MaxTo at the same time. And the problems appear directly after the forced restart. So no need to update again - also there aren't any ;-) Also I started to uninstall the latest update. But after the restart I saw that it was related to MaxTo (because Terminal started before MaxTo was running). So I installed the removed update again and downgraded the MaxTo version.

I don't benefit from the MaxTo update, so still no need to run this version. Already lost too much time.

vegardlarsen commented 4 years ago

@Xairoo @loneboat What is the default shell that you start with Windows Terminal? PowerShell, cmd, WSL? Maybe sending me your WT configuration could let me reproduce it locally?

loneboat commented 4 years ago

@Xairoo @loneboat What is the default shell that you start with Windows Terminal? PowerShell, cmd, WSL? Maybe sending me your WT configuration could let me reproduce it locally?

Below is my settings.json from WT. My default profile is WSL.

// This file was initially generated by Windows Terminal 0.11.1191.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.

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",

    "copyOnSelect": true,

    "copyFormatting": false,

    "useTabSwitcher": false,

    "profiles":
    {
        "defaults":
        {
            "fontSize":20
            ,"fontFace":"consolas"
            ,"historySize":32767
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
                ,"background": "#012456"
                ,"foreground": "#fff"
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
                ,"background": "#222"
                ,"foreground": "#aaa"
            },
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "name": "Command Prompt retro",
                "commandline": "cmd.exe",
                "closeOnExit" : true,
                "colorScheme" : "Retro",
                "cursorColor" : "#FFFFFF",
                "cursorShape": "filledBox",
                "fontSize" : 18,
                "padding" : "5, 5, 5, 5",
                "tabTitle" : "RETROO",
                "fontFace": "xxx",
                "experimental.retroTerminalEffect": true
            }
        ]
    },

    "schemes": [
      { "name": "Retro", "background": "#000000", "black": "#00ff00", "blue": "#00ff00", "brightBlack": "#00ff00", "brightBlue": "#00ff00", "brightCyan": "#00ff00", "brightGreen": "#00ff00", "brightPurple": "#00ff00", "brightRed": "#00ff00", "brightWhite": "#00ff00", "brightYellow": "#00ff00", "cyan": "#00ff00", "foreground": "#00ff00", "green": "#00ff00", "purple": "#00ff00", "red": "#00ff00", "white": "#00ff00", "yellow": "#00ff00" }
    ],

    "keybindings":
    [
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": {"action": "copy", "singleLine": true }, "keys": "ctrl+shift+c" },
        { "command": "paste", "keys": "ctrl+v" },

        { "command": "find", "keys": "ctrl+shift+f" }

        ,{ "command": { "action": "splitPane", "split": "horizontal", "splitMode": "duplicate" }, "keys":      "alt+shift+d" }
        ,{ "command": { "action": "splitPane", "split": "vertical"  , "splitMode": "duplicate" }, "keys": "ctrl+alt+shift+d" }
        ,{ "command": "nextTab", "keys": "ctrl+pgdn" }
        ,{ "command": "prevTab", "keys": "ctrl+pgup" }
    ]
}
geoji commented 4 years ago

I am having this same issue. Here are my settings.

// 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": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles
        },
        "list":
        [
            {
                // 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": "cmd",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
                "hidden": false,
                "name": "Ubuntu-20.04",
                "source": "Windows.Terminal.Wsl"
            }
        ]
    },

    // Add custom color schemes to this array
    "schemes": [],

    // Add any keybinding overrides to this array.
    // To unbind a default keybinding, set the command to "unbound"
    "keybindings": []
}
xairoo commented 4 years ago

@Xairoo @loneboat What is the default shell that you start with Windows Terminal? PowerShell, cmd, WSL? Maybe sending me your WT configuration could let me reproduce it locally?

PowerShell. I tried it also with the default config, didn't helped and I was able to start the PowerShell and cmd without WT.

vegardlarsen commented 4 years ago

I am unfortunately still unable to reproduce this issue (I have tried on 3 different Windows versions and machines), and therefore I won't be able to fix this for version 2.1.1. I am taking it out of that milestone, and we can revisit it if more information comes to light.

It would be interesting to know if you have any other software that may be affecting this installed? Competing window managers and/or anti-virus services are prime candidates that could cause some compatibility mishaps.

xairoo commented 4 years ago

I am unfortunately still unable to reproduce this issue (I have tried on 3 different Windows versions and machines), and therefore I won't be able to fix this for version 2.1.1. I am taking it out of that milestone, and we can revisit it if more information comes to light.

It would be interesting to know if you have any other software that may be affecting this installed? Competing window managers and/or anti-virus services are prime candidates that could cause some compatibility mishaps.

I disabled Bitdefender & Docker & DisplayCal too ;-) I am sorry, I am fine with the old version and don't want to spend more time into this.

vegardlarsen commented 4 years ago

@Xairoo OK. You can unsubscribe from this issue from the sidebar. :)

tynril commented 4 years ago

I'm also encountering this issue now.

The crash happens with default Windows Terminal settings (deleting/renaming my custom settings.json file).

This is the crash callstack in the dump that Windows Terminal generates:

>   KERNELBASE.dll!RaiseFailFastException() Unknown
    InputHost.dll!wil::details::WilDynamicLoadRaiseFailFastException(struct _EXCEPTION_RECORD *,struct _CONTEXT *,unsigned long)    Unknown
    InputHost.dll!wil::details::WilRaiseFailFastException(struct _EXCEPTION_RECORD *,struct _CONTEXT *,unsigned long)   Unknown
    InputHost.dll!wil::details::WilFailFast(struct wil::FailureInfo const &)    Unknown
    InputHost.dll!wil::details::ReportFailure(void *,unsigned int,char const *,char const *,char const *,void *,enum wil::FailureType,long,unsigned short const *,enum wil::details::ReportFailureOptions)  Unknown
    InputHost.dll!wil::details::ReportFailure_Hr(void *,unsigned int,char const *,char const *,char const *,void *,enum wil::FailureType,long)  Unknown
    InputHost.dll!wil::details::in1diag3::FailFast_Unexpected(void *,unsigned int,char const *) Unknown
    InputHost.dll!WindowsMessageDeliveryAdapter::Get(struct HWND__ *)   Unknown
    InputHost.dll!WindowsMessageDeliveryAdapter::ProcessWindowMessage(struct HWND__ *,unsigned int,unsigned __int64,__int64)    Unknown
    InputHost.dll!WindowsMessageDeliveryAdapter::StaticWndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)   Unknown
    user32.dll!UserCallWinProcCheckWow()    Unknown
    user32.dll!CallWindowProcW()    Unknown
    comctl32.dll!CallNextSubclassProc() Unknown
    comctl32.dll!DefSubclassProc()  Unknown
    comctl32.dll!CallNextSubclassProc() Unknown
    comctl32.dll!MasterSubclassProc()   Unknown
    user32.dll!UserCallWinProcCheckWow()    Unknown
    user32.dll!DispatchClientMessage()  Unknown
    user32.dll!__fnDWORD()  Unknown
    ntdll.dll!KiUserCallbackDispatcherContinue()    Unknown
    win32u.dll!NtUserMessageCall()  Unknown
    user32.dll!SendMessageWorker(struct tagWND *,unsigned int,unsigned __int64,__int64,int) Unknown
    user32.dll!SendMessageW()   Unknown
    imm32.dll!ImmSetActiveContext() Unknown
    user32.dll!FocusSetIMCContext() Unknown
    user32.dll!ImeSystemHandler()   Unknown
    user32.dll!ImeWndProcWorker()   Unknown
    user32.dll!ImeWndProcW(struct HWND__ *,unsigned int,unsigned __int64,__int64)   Unknown
    user32.dll!UserCallWinProcCheckWow()    Unknown
    user32.dll!DispatchClientMessage()  Unknown
    user32.dll!__fnDWORD()  Unknown
    ntdll.dll!KiUserCallbackDispatcherContinue()    Unknown
    win32u.dll!NtUserSetFocus() Unknown
    InputHost.dll!FocusControllerWinRT<struct details::SystemTypes>::TrySetFocus(void)  Unknown
    InputHost.dll!FocusControllerWinRT<struct details::SystemTypes>::Api::TrySetFocus(unsigned char *)  Unknown
    Windows.UI.Xaml.dll!CXamlIslandRoot::SetFocus() Line 1068   C++
    Windows.UI.Xaml.dll!CFocusManager::UpdateFocus(const Focus::FocusMovement & movement) Line 1960 C++
    Windows.UI.Xaml.dll!CFocusManager::SetFocusedElement(const Focus::FocusMovement & movement) Line 130    C++
    Windows.UI.Xaml.dll!CUIElement::Focus(DirectUI::FocusState focusState, bool animateIfBringIntoView, bool * focusChanged, DirectUI::FocusNavigationDirection focusNavigationDirection) Line 6288 C++
    Windows.UI.Xaml.dll!DirectUI::Control::FocusWithDirection(Windows::UI::Xaml::FocusState value, DirectUI::FocusNavigationDirection focusNavigationDirection, unsigned char * returnValue) Line 1325  C++
    Windows.UI.Xaml.dll!DirectUI::Control::FocusImpl(Windows::UI::Xaml::FocusState value, unsigned char * returnValue) Line 1291    C++
    Windows.UI.Xaml.dll!DirectUI::ControlGenerated::Focus(Windows::UI::Xaml::FocusState value, unsigned char * pReturnValue) Line 599   C++
    TerminalApp.dll!00007ffbab85c415()  Unknown
    TerminalApp.dll!00007ffbab7dcf01()  Unknown
    TerminalApp.dll!00007ffbab7dd065()  Unknown
    TerminalApp.dll!00007ffbab798cfc()  Unknown
    Microsoft.UI.Xaml.dll!winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::Foundation::IInspectable,winrt::Microsoft::UI::Private::Controls::MUXControlsTestHooksLoggingMessageEventArgs>::operator()(const winrt::Windows::Foundation::IInspectable & sender, const winrt::Microsoft::UI::Private::Controls::MUXControlsTestHooksLoggingMessageEventArgs & args) Line 2523    C++
    Microsoft.UI.Xaml.dll!event_base<event_source<winrt::Windows::UI::Xaml::Controls::SelectionChangedEventHandler>,winrt::Windows::UI::Xaml::Controls::SelectionChangedEventHandler,tracker_ref<winrt::Windows::UI::Xaml::Controls::SelectionChangedEventHandler,0,IUnknown *>>::operator()<RadioButtons,winrt::Windows::UI::Xaml::Controls::SelectionChangedEventArgs>(const RadioButtons & <args_0>, const winrt::Windows::UI::Xaml::Controls::SelectionChangedEventArgs & <args_1>) Line 77 C++
    [Inline Frame] Microsoft.UI.Xaml.dll!winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::UI::Xaml::Controls::Control,winrt::Windows::UI::Xaml::Controls::FocusEngagedEventArgs>::<lambda_0b14763720bf8931305468cf3a1aab3f>::operator()(const winrt::Windows::UI::Xaml::Controls::Control &) Line 2510 C++
    Microsoft.UI.Xaml.dll!winrt::impl::delegate<winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::UI::Xaml::Controls::Control,winrt::Windows::UI::Xaml::Controls::FocusEngagedEventArgs>,<lambda_0b14763720bf8931305468cf3a1aab3f>>::Invoke(void * sender, void * args) Line 893    C++
    [External Code] 
    Microsoft.UI.Xaml.dll!winrt::impl::consume_Windows_UI_Xaml_Controls_IItemsControlOverrides<winrt::Windows::UI::Xaml::Controls::IItemsControlOverrides>::OnItemsChanged(const winrt::Windows::Foundation::IInspectable & e) Line 8085    C++
    [Inline Frame] Microsoft.UI.Xaml.dll!winrt::Windows::UI::Xaml::Controls::IItemsControlOverridesT<TabViewListView>::OnItemsChanged(const winrt::Windows::Foundation::IInspectable &) Line 64443  C++
    Microsoft.UI.Xaml.dll!TabViewListView::OnItemsChanged(const winrt::Windows::Foundation::IInspectable & item) Line 41    C++
    Microsoft.UI.Xaml.dll!winrt::impl::produce<TabViewListView,winrt::Windows::UI::Xaml::Controls::IItemsControlOverrides>::OnItemsChanged(void * e) Line 35740 C++
    [External Code] 
vegardlarsen commented 4 years ago

Thank you for the stack trace, @tynril. It does however not tell me much, as MaxTo is nowhere to be found in the call stack. It does appear to be related to window message handling (which MaxTo does "interfere" with), and in that case I have a suspicion the compatibility shim may not be applying properly.

What is the name of the process when running Windows Terminal on your machine? WindowsTerminal.exe, right?

PS! We did release an update to MaxTo just now, which fixes a bunch of other bugs, and this may be affected, so I suggest upgrading to 2.1.1 so we are all on the same page.

geoji commented 4 years ago

2.1.1 appears to have fixed the issue. I tried on 2 machines. Windows terminal opens correctly on both machines after updating to 2.1.1. Thanks.

vegardlarsen commented 4 years ago

@tynril @loneboat Can you confirm that this has solved it for you as well?

tynril commented 4 years ago

I'm not seeing the issue anymore with 2.1.1 either! Thanks and well done. :)

xairoo commented 4 years ago

Yeah, it works with 2.1.1.

vegardlarsen commented 4 years ago

Great. Closing this issue as it seems to be solved. Phew! 👍