Skip to content

Crash on exit in NavigationViewItemRevokers::~NavigationViewItemRevokers #12413

Closed
@zadjii-msft

Description

@zadjii-msft

Both me and Niksa have hit this on 1.13 so far. Unclear what exactly caused this, or what repro steps are.

Stack
0:000> k
 # Child-SP          RetAddr               Call Site
00 (Inline Function) --------`--------     Windows_UI_Xaml!ctl::ComObjectBase::QueryInterfaceBase+0x9 [onecoreuap\windows\dxaml\xcp\components\com\comobjectbase.cpp @ 36] 
01 00000080`cb6fe7c0 00007ffa`8cc7920f     Windows_UI_Xaml!ctl::ComObject<DirectUI::ListView>::QueryInterface+0x11 [onecoreuap\windows\dxaml\xcp\components\com\inc\ComObject.h @ 36] 
02 00000080`cb6fe7f0 00007ffa`3229f1d7     Windows_UI_Xaml!ctl::Details::WeakReferenceImpl::Resolve+0x4f [onecoreuap\windows\dxaml\xcp\components\com\weakreference.cpp @ 35] 
03 00000080`cb6fe820 00007ffa`3224a933     Microsoft_UI_Xaml!winrt::weak_ref<winrt::Windows::UI::Xaml::DependencyObject>::get+0x3f [C:\a\_work\1\s\BuildOutput\Intermediates\x64\Microsoft.UI.Xaml\obj\Generated Files\winrt\base.h @ 4097] 
04 (Inline Function) --------`--------     Microsoft_UI_Xaml!PropertyChanged_revoker::revoke+0x2a [C:\a\_work\1\s\dev\inc\CppWinRTHelpers.h @ 312] 
05 00000080`cb6fe860 00007ffa`32297266     Microsoft_UI_Xaml!PropertyChanged_revoker::~PropertyChanged_revoker+0x33 [C:\a\_work\1\s\dev\inc\CppWinRTHelpers.h @ 302] 
06 00000080`cb6fe890 00007ffa`32297234     Microsoft_UI_Xaml!NavigationViewItemRevokers::~NavigationViewItemRevokers+0x12
07 00000080`cb6fe8c0 00007ffa`3220adc4     Microsoft_UI_Xaml!winrt::impl::heap_implements<NavigationViewItemRevokers>::`scalar deleting destructor'+0x14
08 (Inline Function) --------`--------     Microsoft_UI_Xaml!winrt::impl::root_implements<winrt::impl::reference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IReference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IPropertyValue>::NonDelegatingRelease+0x5a [C:\a\_work\1\s\BuildOutput\Intermediates\x64\Microsoft.UI.Xaml\obj\Generated Files\winrt\base.h @ 7325] 
09 (Inline Function) --------`--------     Microsoft_UI_Xaml!winrt::impl::root_implements<winrt::impl::reference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IReference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IPropertyValue>::Release+0x5a [C:\a\_work\1\s\BuildOutput\Intermediates\x64\Microsoft.UI.Xaml\obj\Generated Files\winrt\base.h @ 7206] 
0a (Inline Function) --------`--------     Microsoft_UI_Xaml!winrt::implements<winrt::impl::reference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IReference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IPropertyValue>::Release+0x5a [C:\a\_work\1\s\BuildOutput\Intermediates\x64\Microsoft.UI.Xaml\obj\Generated Files\winrt\base.h @ 7802] 
0b 00000080`cb6fe8f0 00007ffa`8cc17cbc     Microsoft_UI_Xaml!winrt::impl::produce_base<winrt::impl::reference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,winrt::Windows::Foundation::IReference<enum winrt::Microsoft::UI::Xaml::Controls::NavigationViewDisplayMode>,void>::Release+0x64 [C:\a\_work\1\s\BuildOutput\Intermediates\x64\Microsoft.UI.Xaml\obj\Generated Files\winrt\base.h @ 6874] 
0c (Inline Function) --------`--------     Windows_UI_Xaml!ctl::release_interface_nonull+0x1a [onecoreuap\windows\dxaml\xcp\components\com\inc\ComUtils.h @ 152] 
0d 00000080`cb6fe920 00007ffa`8cc16752     Windows_UI_Xaml!DirectUI::TrackerTargetReference::Clear+0x24c [onecoreuap\windows\dxaml\xcp\components\lifetime\lib\trackertargetreference.cpp @ 697] 
0e (Inline Function) --------`--------     Windows_UI_Xaml!DirectUI::TrackerPtr<IInspectable,1,0>::Clear+0xd [onecoreuap\windows\dxaml\xcp\components\lifetime\inc\TrackerPtr.h @ 267] 
0f (Inline Function) --------`--------     Windows_UI_Xaml!ctl::WeakReferenceSourceNoThreadId::RemovePtrValue+0x17e [onecoreuap\windows\dxaml\xcp\components\lifetime\inc\WeakReferenceSourceNoThreadId.h @ 233] 
10 00000080`cb6fe9a0 00007ffa`8cc16399     Windows_UI_Xaml!DirectUI::DependencyObject::ClearPeerReferences+0x242 [onecoreuap\windows\dxaml\xcp\dxaml\lib\dependencyobject.cpp @ 757] 
11 00000080`cb6fe9e0 00007ffa`8cbfe400     Windows_UI_Xaml!DirectUI::DependencyObject::DisconnectFrameworkPeerCore+0x29 [onecoreuap\windows\dxaml\xcp\dxaml\lib\dependencyobject.cpp @ 493] 
12 (Inline Function) --------`--------     Windows_UI_Xaml!DirectUI::DependencyObject::DisconnectFrameworkPeer+0x2e [onecoreuap\windows\dxaml\xcp\dxaml\lib\dependencyobject.cpp @ 547] 
13 (Inline Function) --------`--------     Windows_UI_Xaml!DirectUI::DependencyObject::EndShutdown+0x2e [onecoreuap\windows\dxaml\xcp\dxaml\lib\dependencyobject.cpp @ 639] 
14 00000080`cb6fea10 00007ffa`8cbfdb05     Windows_UI_Xaml!DirectUI::DXamlCore::ShutdownAllPeers+0x2a0 [onecoreuap\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 1891] 
15 00000080`cb6feae0 00007ffa`8cbfadd9     Windows_UI_Xaml!DirectUI::DXamlCore::CommonShutdown+0x1d1 [onecoreuap\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 925] 
16 00000080`cb6feb50 00007ffa`8cbfa43b     Windows_UI_Xaml!DirectUI::DXamlCore::DeinitializeInstance+0x1a1 [onecoreuap\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 1039] 
17 00000080`cb6feb80 00007ffa`8cd54b07     Windows_UI_Xaml!DirectUI::DXamlCore::Deinitialize+0x8f [onecoreuap\windows\dxaml\xcp\dxaml\lib\dxamlcore.cpp @ 3105] 
18 00000080`cb6febb0 00007ffa`8ce2c103     Windows_UI_Xaml!DirectUI::WindowsXamlManager::XamlCore::Close+0xd3 [onecoreuap\windows\dxaml\xcp\dxaml\lib\windowsxamlmanager_partial.cpp @ 346] 
19 (Inline Function) --------`--------     Windows_UI_Xaml!DirectUI::WindowsXamlManager::EnqueueClose::__l2::<lambda_7e21289255aaaaf9af46034ad444c7af>::operator()+0x9 [onecoreuap\windows\dxaml\xcp\dxaml\lib\windowsxamlmanager_partial.cpp @ 298] 
1a 00000080`cb6fec10 00007ffa`9b8d6630     Windows_UI_Xaml!Microsoft::WRL::Details::DelegateArgTraits<long (__cdecl Windows::System::IDispatcherQueueHandler::*)(void)>::DelegateInvokeHelper<Microsoft::WRL::Implements<Microsoft::WRL::RuntimeClassFlags<2>,Windows::System::IDispatcherQueueHandler,Microsoft::WRL::FtmBase>,<lambda_7e21289255aaaaf9af46034ad444c7af> &,-1>::Invoke+0x13 [onecore\external\sdk\inc\wrl\event.h @ 354] 
1b 00000080`cb6fec40 00007ffa`9b88e214     CoreMessaging!Windows::System::DispatcherQueue::DeferInvokeCallback+0x20 [mincore\coreui\dev\dispatcherqueue\wrtdispatcherqueue.cpp @ 919] 
1c (Inline Function) --------`--------     CoreMessaging!Microsoft::CoreUI::ActionCallback::ImportAdapter$::__l2::<lambda_a81ff790741c2a62f2197c2561f5fe49>::operator()+0x1f [mincore\CoreUI\Dev\System\Api\IExportMessageSession.cs @ 22] 
1d 00000080`cb6fec70 00007ffa`9b88e16e     CoreMessaging!CFlat::SehSafe::Execute<<lambda_a81ff790741c2a62f2197c2561f5fe49> >+0x2c [CFlatCorlib\1.0.211005003\CFlatCorlib\SehSafe.inl @ 11] 
1e 00000080`cb6feca0 00007ffa`9b89d851     CoreMessaging!Microsoft::CoreUI::ActionCallback::ImportAdapter$+0xae [mincore\CoreUI\Dev\System\Api\IExportMessageSession.cs @ 22] 
1f (Inline Function) --------`--------     CoreMessaging!CFlat::DelegateImpl<Microsoft::CoreUI::ActionCallback,0,void __cdecl(void),long __cdecl(void *),0>::Invoke+0x26 [CFlatCorlib\1.0.211005003\CFlatCorlib\Delegate.h @ 337] 
20 00000080`cb6fece0 00007ffa`9b89d50d     CoreMessaging!Microsoft::CoreUI::Dispatch::DeferredCall::Callback_Dispatch+0x2d1 [mincore\CoreUI\Dev\System\Dispatch\DeferredCall.cs @ 62] 
21 00000080`cb6feda0 00007ffa`9b89c784     CoreMessaging!Microsoft::CoreUI::Dispatch::DeferredCallDispatcher::Callback_OnDispatch+0x46d [mincore\CoreUI\Dev\System\Dispatch\DeferredCallDispatcher.cs @ 383] 
22 (Inline Function) --------`--------     CoreMessaging!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem+0x4df [mincore\CoreUI\Dev\System\Dispatch\Dispatcher.cs @ 1095] 
23 (Inline Function) --------`--------     CoreMessaging!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop+0x582 [mincore\CoreUI\Dev\System\Dispatch\Dispatcher.cs @ 541] 
24 00000080`cb6fee50 00007ffa`9b899e5e     CoreMessaging!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop+0x714 [mincore\CoreUI\Dev\System\Dispatch\EventLoop.cs @ 692] 
25 00000080`cb6fef60 00007ffa`9b89938b     CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue+0x3ee [mincore\CoreUI\Dev\System\Dispatch\UserAdapter.cs @ 780] 
26 (Inline Function) --------`--------     CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch+0x10b [mincore\CoreUI\Dev\System\Dispatch\UserAdapter.cs @ 1135] 
27 (Inline Function) --------`--------     CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatchRaw+0x167 [mincore\CoreUI\Dev\System\Dispatch\UserAdapter.cs @ 1077] 
28 00000080`cb6fefe0 00007ffa`9b896a70     CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork+0x2fb [mincore\coreui\dev\system\Dispatch\UserAdapterCommonN.cpp @ 214] 
29 00000080`cb6ff070 00007ffa`9f20aa63     CoreMessaging!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc+0x90 [mincore\coreui\dev\system\Dispatch\UserAdapterCommonN.cpp @ 144] 
2a 00000080`cb6ff0e0 00007ffa`9f20a42c     user32!UserCallWinProcCheckWow+0x4c3 [clientcore\windows\core\ntuser\client\clmsg.cxx @ 282] 
2b 00000080`cb6ff240 00007ffa`9f217d4a     user32!DispatchClientMessage+0x9c [clientcore\windows\core\ntuser\client\daytona\objfre\amd64\client.cxx @ 3113] 
2c 00000080`cb6ff2a0 00007ffa`a1466964     user32!__fnDWORD+0x3a [onecoreuap\restricted\windows\inc\ntuser\inc\ntcb.h @ 1214] 
2d 00000080`cb6ff300 00007ffa`9f1c14d4     ntdll!KiUserCallbackDispatcherContinue [minkernel\ntos\rtl\amd64\trampoln.asm @ 607] 
2e 00000080`cb6ff388 00007ffa`9f212c66     win32u!ZwUserPeekMessage+0x14 [onecoreuap\windows\core\umode\moderncore\objfre\amd64\usrstubs.asm @ 165] 
2f 00000080`cb6ff390 00007ffa`9f212b80     user32!_PeekMessage+0xb6 [clientcore\windows\core\ntuser\client\ntstubs.cxx @ 814] 
30 00000080`cb6ff400 00007ffa`64f21526     user32!PeekMessageW+0x140 [onecoreuap\restricted\windows\inc\private\core\ntuser\client\cltxt.h @ 756] 
31 00000080`cb6ff470 00007ffa`64f239b9     Microsoft_Toolkit_Win32_UI_XamlHost!winrt::Microsoft::Toolkit::Win32::UI::XamlHost::implementation::XamlApplication::Close+0x176 [D:\a\1\s\Microsoft.Toolkit.Win32.UI.XamlApplication\XamlApplication.cpp @ 75] 
32 00000080`cb6ff500 00007ff6`aedb37e3     Microsoft_Toolkit_Win32_UI_XamlHost!winrt::impl::produce<winrt::Microsoft::Toolkit::Win32::UI::XamlHost::implementation::XamlApplication,winrt::Windows::Foundation::IClosable>::Close+0x19 [D:\a\1\s\Microsoft.Toolkit.Win32.UI.XamlApplication\x64\Release\Generated Files\winrt\Windows.Foundation.h @ 1080] 
33 (Inline Function) --------`--------     WindowsTerminal!winrt::impl::consume_Windows_Foundation_IClosable<winrt::TerminalApp::App>::Close+0x45 [C:\a\_work\1\s\src\cascadia\WindowsTerminal\Generated Files\winrt\Windows.Foundation.h @ 121] 
34 00000080`cb6ff530 00007ff6`aeda1391     WindowsTerminal!AppHost::~AppHost+0x93 [C:\a\_work\1\s\src\cascadia\WindowsTerminal\AppHost.cpp @ 107] 
35 00000080`cb6ff570 00007ff6`aed9be82     WindowsTerminal!wWinMain+0x10221 [C:\a\_work\1\s\src\cascadia\WindowsTerminal\main.cpp @ 199] 
36 (Inline Function) --------`--------     WindowsTerminal!invoke_main+0x21 [d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 118] 
37 00000080`cb6ff7a0 00007ffa`a0c71350     WindowsTerminal!__scrt_common_main_seh+0x106 [d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
38 00000080`cb6ff7e0 00007ffa`a1411e78     KERNEL32!BaseThreadInitThunk+0x10 [clientcore\base\win32\client\thread.c @ 75] 
39 00000080`cb6ff810 00000000`00000000     ntdll!RtlUserThreadStart+0x28 [minkernel\ntdll\rtlstrt.c @ 1166] 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-SettingsUIAnything specific to the SUIIssue-BugIt either shouldn't be doing this or needs an investigation.Priority-2A description (P2)Product-TerminalThe new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.Severity-CrashCrashes are real bad news.Tracking-ExternalThis bug isn't resolved, but it's following an external workitem.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions