Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash report #18084

Closed
justanotheranonymoususer opened this issue Oct 19, 2024 · 2 comments · Fixed by #18215
Closed

Crash report #18084

justanotheranonymoususer opened this issue Oct 19, 2024 · 2 comments · Fixed by #18215
Labels
Area-Remoting Communication layer between windows. Often for windowing behavior, quake mode, etc. In-PR This issue has a related PR Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.

Comments

@justanotheranonymoususer

Windows Terminal version

1.20.11781.0

Windows build number

10.0.22631.4317

Other Software

No response

Steps to reproduce

Not sure how to repro, I had this crash multiple times, got me by surprise because I had some batch working and I didn't understand where it went.

I suspect it's related to quake mode (Win+`) which was also difficult to disable, no option in the gui, had to edit json.

The terminal sometimes can run important jobs, if it's killed, it'd be better to have it relaunch or at least reopen in the old cmd, but not kill the underlying job only because some gui failed.

Expected Behavior

No response

Actual Behavior

Crash stack trace, I hope it's enough to understand the problem.

 # Child-SP          RetAddr               Call Site
00 00000018`92aff3d0 00007ff7`986743d6     ntdll!RtlAcquireSRWLockExclusive+0x10
01 (Inline Function) --------`--------     WindowsTerminal!winrt::slim_mutex::lock+0x9 [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\base.h @ 1615] 
02 (Inline Function) --------`--------     WindowsTerminal!winrt::slim_lock_guard::{ctor}+0x9 [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\base.h @ 1659] 
03 00000018`92aff440 00007ff7`98677016     WindowsTerminal!winrt::event<winrt::delegate<void __cdecl(winrt::Microsoft::Terminal::Remoting::SummonWindowSelectionArgs)> >::operator()<winrt::Microsoft::Terminal::Remoting::SummonWindowSelectionArgs>+0x3e [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\base.h @ 6036] 
04 00000018`92aff480 00007ff7`98656235     WindowsTerminal!NotificationIcon::MenuItemSelected+0x2b2 [C:\__w\1\s\src\cascadia\WindowsTerminal\NotificationIcon.cpp @ 234] 
05 (Inline Function) --------`--------     WindowsTerminal!WindowEmperor::_messageHandler+0x16c76 [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 450] 
06 00000018`92aff560 00007ffc`3ddd83f1     WindowsTerminal!WindowEmperor::_wndProc+0x16cb5 [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 386] 
07 00000018`92aff5e0 00007ffc`3ddd7eb1     user32!UserCallWinProcCheckWow+0x2d1
08 00000018`92aff740 00007ffc`1e6840ca     user32!DispatchMessageWorker+0x1f1
0a (Inline Function) --------`--------     WindowsTerminal!WindowEmperor::WaitForWindows+0x4c [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 128] 
0b 00000018`92aff7f0 00007ff7`9863e2a6     WindowsTerminal!WindowEmperor::HandleCommandlineArgs+0x520 [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 102] 
0c 00000018`92affad0 00007ff7`986427f2     WindowsTerminal!wWinMain+0x166 [C:\__w\1\s\src\cascadia\WindowsTerminal\main.cpp @ 118] 
0d (Inline Function) --------`--------     WindowsTerminal!invoke_main+0x21 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 118] 
0e 00000018`92affbb0 00007ffc`3d94257d     WindowsTerminal!__scrt_common_main_seh+0x106 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
0f 00000018`92affbf0 00007ffc`3e1eaf08     kernel32!BaseThreadInitThunk+0x1d
10 00000018`92affc20 00000000`00000000     ntdll!RtlUserThreadStart+0x28

@justanotheranonymoususer justanotheranonymoususer added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Oct 19, 2024
@zadjii-msft
Copy link
Member

That looks like a crash when using the "tray icon". Any chance you were using that feature/?

Could you try Terminal Preview 1.22, and see if that fixes this? IIRC there were some stability improvements to the way multiple windows are handled since 1.20. I suspect that might help mitigate this issue.

note to self: You're not on Windows 10, so it's not refrigeration related.

@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Oct 21, 2024
@justanotheranonymoususer
Copy link
Author

justanotheranonymoususer commented Oct 21, 2024

I don't think I touched the tray icon on the first crash. Now I checked the crashes again and I see that the first crash was indeed different.
The second crash, which is what I posted, was after I tried to reproduce, so I clicked the tray icon as well, maybe it's a different issue.

First crash is here:

Null deref: Maybe _rootGrid nullptr here?

co_await wil::resume_foreground(_rootGrid.Dispatcher());

WindowsTerminal!winrt::impl::consume_Windows_UI_Xaml_IDependencyObject<winrt::Windows::UI::Xaml::Controls::Grid>::Dispatcher+0x83:
00007ff7`98670b7b 488b01          mov     rax,qword ptr [rcx] ds:00000000`00000000=????????????????
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ff798670b7b (WindowsTerminal!winrt::impl::consume_Windows_UI_Xaml_IDependencyObject<winrt::Windows::UI::Xaml::Controls::Grid>::Dispatcher+0x0000000000000083)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000000
Attempt to read from address 0000000000000000

Call stack:

 # Child-SP          RetAddr               Call Site
00 0000005d`ced3efb0 00007ff7`9864b7e3     WindowsTerminal!winrt::impl::consume_Windows_UI_Xaml_IDependencyObject<winrt::Windows::UI::Xaml::Controls::Grid>::Dispatcher+0x83 [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\Windows.UI.Xaml.h @ 895] 
01 0000005d`ced3f020 00007ff7`9864b6f9     WindowsTerminal!IslandWindow::SummonWindow$_ResumeCoro$1+0x63 [C:\__w\1\s\src\cascadia\WindowsTerminal\IslandWindow.cpp @ 1330] 
02 0000005d`ced3f080 00007ff7`9864b958     WindowsTerminal!IslandWindow::SummonWindow$_InitCoro$2+0x69
03 0000005d`ced3f0d0 00007ff7`9866bfcb     WindowsTerminal!IslandWindow::SummonWindow+0x58
04 0000005d`ced3f1b0 00007ff7`98669a77     WindowsTerminal!AppHost::_HandleSummon+0x4b [C:\__w\1\s\src\cascadia\WindowsTerminal\AppHost.cpp @ 929] 
05 (Inline Function) --------`--------     WindowsTerminal!winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable>::{ctor}::__l1::<lambda_309_>::operator()+0x16 [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\Windows.Foundation.h @ 2488] 
06 0000005d`ced3f220 00007ffc`0eb5aa56     WindowsTerminal!winrt::impl::delegate<winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable>,`winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable>::IInspectable<AppHost,void (__cdecl AppHost::*)(winrt::Windows::Foundation::IInspectable const &,winrt::Windows::Foundation::IInspectable const &)>'::`1'::<lambda_309_> >::Invoke+0x37 [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\Windows.Foundation.h @ 884] 
07 0000005d`ced3f270 00007ffc`0eb5a611     Microsoft_Terminal_Remoting!winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::Foundation::IInspectable,winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior>::operator()+0x42 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Windows.Foundation.h @ 2525] 
08 0000005d`ced3f2c0 00007ffc`0eb59e77     Microsoft_Terminal_Remoting!winrt::impl::invoke<winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::Foundation::IInspectable,winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior>,winrt::Microsoft::Terminal::Remoting::implementation::Peasant,winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior>+0x31 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\base.h @ 5890] 
09 0000005d`ced3f2f0 00007ffc`0eb5c38b     Microsoft_Terminal_Remoting!winrt::event<winrt::Windows::Foundation::TypedEventHandler<winrt::Windows::Foundation::IInspectable,winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior> >::operator()<winrt::Microsoft::Terminal::Remoting::implementation::Peasant,winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior>+0x83 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\base.h @ 6043] 
0a 0000005d`ced3f340 00007ffc`0eb5c28f     Microsoft_Terminal_Remoting!winrt::Microsoft::Terminal::Remoting::implementation::Peasant::Summon+0xb3 [C:\__w\1\s\src\cascadia\Remoting\Peasant.cpp @ 148] 
0b 0000005d`ced3f3a0 00007ffc`0eb563ea     Microsoft_Terminal_Remoting!winrt::impl::produce<winrt::Microsoft::Terminal::Remoting::implementation::Peasant,winrt::Microsoft::Terminal::Remoting::IPeasant>::Summon+0x2f [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 1233] 
0c 0000005d`ced3f3e0 00007ffc`0eb5667c     Microsoft_Terminal_Remoting!winrt::impl::consume_Microsoft_Terminal_Remoting_IPeasant<winrt::Microsoft::Terminal::Remoting::IPeasant>::Summon+0x42 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 295] 
0d 0000005d`ced3f430 00007ffc`0eb5650f     Microsoft_Terminal_Remoting!winrt::Microsoft::Terminal::Remoting::implementation::Monarch::SummonWindow+0x124 [C:\__w\1\s\src\cascadia\Remoting\Monarch.cpp @ 919] 
0e 0000005d`ced3f500 00007ffc`0eb5e990     Microsoft_Terminal_Remoting!winrt::impl::produce<winrt::Microsoft::Terminal::Remoting::implementation::Monarch,winrt::Microsoft::Terminal::Remoting::IMonarch>::SummonWindow+0x2f [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 1007] 
0f (Inline Function) --------`--------     Microsoft_Terminal_Remoting!winrt::impl::consume_Microsoft_Terminal_Remoting_IMonarch<winrt::Microsoft::Terminal::Remoting::IMonarch>::SummonWindow+0x38 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 117] 
10 (Inline Function) --------`--------     Microsoft_Terminal_Remoting!winrt::Microsoft::Terminal::Remoting::implementation::WindowManager::SummonWindow+0x49 [C:\__w\1\s\src\cascadia\Remoting\WindowManager.cpp @ 385] 
11 0000005d`ced3f540 00007ff7`9867d61f     Microsoft_Terminal_Remoting!winrt::impl::produce<winrt::Microsoft::Terminal::Remoting::implementation::WindowManager,winrt::Microsoft::Terminal::Remoting::IWindowManager>::SummonWindow+0x50 [C:\__w\1\s\src\cascadia\Remoting\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 1791] 
12 0000005d`ced3f590 00007ff7`9867df04     WindowsTerminal!winrt::impl::consume_Microsoft_Terminal_Remoting_IWindowManager<winrt::Microsoft::Terminal::Remoting::IWindowManager>::SummonWindow+0x3f [C:\__w\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\Microsoft.Terminal.Remoting.h @ 707] 
13 0000005d`ced3f5e0 00007ff7`9865621c     WindowsTerminal!WindowEmperor::_hotkeyPressed+0x204 [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 565] 
14 (Inline Function) --------`--------     WindowsTerminal!WindowEmperor::_messageHandler+0x16c5d [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 426] 
15 0000005d`ced3f670 00007ffc`3ddd83f1     WindowsTerminal!WindowEmperor::_wndProc+0x16c9c [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 386] 
16 0000005d`ced3f6f0 00007ffc`3ddd7eb1     user32!UserCallWinProcCheckWow+0x2d1
17 0000005d`ced3f850 00007ffc`1e6840ca     user32!DispatchMessageWorker+0x1f1
19 (Inline Function) --------`--------     WindowsTerminal!WindowEmperor::WaitForWindows+0x4c [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 128] 
1a 0000005d`ced3f900 00007ff7`9863e2a6     WindowsTerminal!WindowEmperor::HandleCommandlineArgs+0x520 [C:\__w\1\s\src\cascadia\WindowsTerminal\WindowEmperor.cpp @ 102] 
1b 0000005d`ced3fbe0 00007ff7`986427f2     WindowsTerminal!wWinMain+0x166 [C:\__w\1\s\src\cascadia\WindowsTerminal\main.cpp @ 118] 
1c (Inline Function) --------`--------     WindowsTerminal!invoke_main+0x21 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 118] 
1d 0000005d`ced3fcc0 00007ffc`3d94257d     WindowsTerminal!__scrt_common_main_seh+0x106 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
1e 0000005d`ced3fd00 00007ffc`3e1eaf08     kernel32!BaseThreadInitThunk+0x1d
1f 0000005d`ced3fd30 00000000`00000000     ntdll!RtlUserThreadStart+0x28

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Oct 21, 2024
@carlos-zamora carlos-zamora added this to the Terminal v1.23 milestone Oct 23, 2024
@carlos-zamora carlos-zamora added Product-Terminal The new Windows Terminal. Area-Remoting Communication layer between windows. Often for windowing behavior, quake mode, etc. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Attention The core contributors need to come back around and look at this ASAP. labels Oct 23, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the In-PR This issue has a related PR label Dec 12, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Tag-Fix Doesn't match tag requirements label Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Remoting Communication layer between windows. Often for windowing behavior, quake mode, etc. In-PR This issue has a related PR Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants