microsoft / microsoft/microsoft-ui-xaml

Reentrancy crash from locks (with much more likelihood in .NET 10)

Open
#11,099 2 comments 5 reactions 0 assignees View on GitHub
bug needs-triage
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

### Describe the bug

When hitting a held lock in the UI thread and having Inertia enabled in ManipulationMode, the application experiences a reentrancy crash.

### Why is this important?

We rarely use UI thread locks in our own code. However, .NET 10 uses a new implementation for COM wrappers. A ConditionalWeakTable is used to track wrapper mapping, and that uses a lock to be thread safe. _**Now any wrapped COM object initialization on the UI thread has a chance to crash**_. In our actual code its mostly triggered by Win2D CanvasControl drawing objects, but I've seen cases where other COM objects cause crashes too.

ComWrapper using the ConditionalWeakTable for init: [ComWrappers.cs](https://github.com/dotnet/runtime/blob/release/10.0/src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.cs#L1264)

Lock on the ConditionalWeakTable: [ConditionalWeakTable.cs](https://github.com/dotnet/runtime/blob/release/10.0/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/ConditionalWeakTable.cs#L35)

### Steps to reproduce the bug

Spam click and move the mouse back and fourth in this minimal repro. At some point the UI thread will hit the lock while its held.

[ReentrancyCrash.zip](https://github.com/user-attachments/files/27651433/ReentrancyCrash.zip)

Note the project is in .NET 10, but switching the project to .NET 9 also exhibits the same crash, though its VS2026 stack trace is missing information. Viewing the .NET 9 crash in WinDbg shows the same stack trace as .NET 10.

### Actual behavior

Program tries to process an input dispatch from an initial UI draw dispatch and crashes due to reentrancy.

### Expected behavior

Program avoids reentrancy and prevents crash.

### Screenshots

_No response_

### NuGet package version

Microsoft.WindowsAppSDK 2.0.1 (Failure repros on 1.7 and 1.8 lines)

### Windows version

Windows 11 (24H2): Build 26100

### Additional context

Tracking what's going on has shown the following:

Upon hitting the held lock in the UI thread, Monitor.Enter is hit which makes the thread wait. The wait has the STA start pumping messages. One of those messages can be an input dispatch ([WM_SCRIPT_SYNC_INPUT_CALL_BACK](https://github.com/microsoft/microsoft-ui-xaml/blob/abb359150eaa4c8ba1c8dd89d81552cbf4e2d557/src/dxaml/xcp/win/shared/xcpwindow.cpp#L800)) Because the input dispatch is reached from an initial UI draw dispatch, the dispatcher fails reentrancy check and crashes. Most of this behavior is tracked from xcpwindow.cpp

Below is a VS2026 stack trace:
```text
Microsoft.ui.xaml.dll!CXcpDispatcher::CheckReentrancy() Line 1331 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::OnWindowMessage(unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 799 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::ProcessMessage(unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 631 C++
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::SendMessageW(unsigned int) Line 582 C++
Microsoft.ui.xaml.dll!CXcpBrowserHost::SyncScriptCallbackRequest(void * pVoidBH, CDependencyObject * pListener, EventHandle hEvent, CDependencyObject * pSender, CEventArgs * pArgs, int flags, IScriptObject * pScriptObject, HRESULT(*)(CDependencyObject *, CEventArgs *) pHandler) Line 740 C++
Microsoft.ui.xaml.dll!CEventManager::RaiseUIElementEvents(EventHandle hEvent, CUIElement * pSender, CEventArgs * pArgs, HRESULT(*)(void *, CDependencyObject *, EventHandle, CDependencyObject *, CEventArgs *, int, IScriptObject *, HRESULT(*)(CDependencyObject *, CEventArgs *)) pfnScriptCallback) Line 1237 C++
Microsoft.ui.xaml.dll!CEventManager::Raise(EventHandle hEvent, int bRefire, CDependencyObject * pSender, CEventArgs * pArgs, bool fRaiseSync, bool fInputEvent, bool bAllowErrorFallback, CDependencyObject * pSenderOverride) Line 949 C++
Microsoft.ui.xaml.dll!CEventManager::RaiseRoutedEventBubbling(EventHandle hEvent, CDependencyObject * pSource, CRoutedEventArgs * pArgs, bool bIgnoreVisibility, bool fRaiseSync, bool fInputEvent, CDependencyObject * coerceToHandledAtElement) Line 1385 C++
[Inline Frame] Microsoft.ui.xaml.dll!CEventManager::RaiseRoutedEvent(EventHandle) Line 1295 C++
Microsoft.ui.xaml.dll!CInputServices::ProcessManipulationDeltaInput(CDependencyObject * pElement, TouchInteractionMsg * pMsg) Line 2899 C++
Microsoft.ui.xaml.dll!CInputServices::ProcessTouchInteractionCallback(const xref_ptr & element, TouchInteractionMsg * message) Line 2303 C++
Microsoft.ui.xaml.dll!CCoreServices::ProcessTouchInteractionCallback(const xref_ptr & element, TouchInteractionMsg * message) Line 1171 C++
Microsoft.ui.xaml.dll!GestureRecognizerAdapter::OnManipulationUpdated(ElementGestureTracker * elementGestureTracker, ABI::Microsoft::UI::Input::IGestureRecognizer * args, ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs *) Line 255 C++
[Inline Frame] Microsoft.ui.xaml.dll!GestureRecognizerAdapter::Init::__l35::::operator()(ABI::Microsoft::UI::Input::IGestureRecognizer *) Line 66 C++
Microsoft.ui.xaml.dll!Microsoft::WRL::Details::DelegateArgTraits,ABI::Windows::Foundation::Internal::AggregateType>::*)(ABI::Microsoft::UI::Input::IGestureRecognizer *,ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`GestureRecognizerAdapter::Init'::`35':: &,1,ABI::Microsoft::UI::Input::IGestureRecognizer *,ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs *>::Invoke(ABI::Microsoft::UI::Input::IGestureRecognizer * , ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs * ) Line 354 C++
Microsoft.UI.Input.dll!Microsoft::WRL::InvokeTraits<-2>::InvokeDelegates,struct Windows::Foundation::ITypedEventHandler >(class ,class Microsoft::WRL::Details::EventTargetArray *,class Microsoft::WRL::EventSource,struct Microsoft::WRL::InvokeModeOptions<-2> > *) Unknown
Microsoft.UI.Input.dll!GestureRecognizerServer::OnManipulationUpdatedEvent(enum Microsoft::UI::Input::PointerDeviceType,struct Windows::Foundation::Point,struct Microsoft::UI::Input::ManipulationDelta,struct Microsoft::UI::Input::ManipulationDelta,struct Microsoft::UI::Input::ManipulationVelocities) Unknown
Microsoft.UI.Input.dll!GestureRecognizerServer::OnOutput(struct INTERACTION_CONTEXT_OUTPUT const *) Unknown
Microsoft.UI.Input.dll!GestureRecognizerServer::OutputCallback(void *,struct INTERACTION_CONTEXT_OUTPUT const *) Unknown
ninput.dll!00007ff90ec792d4() Unknown
ninput.dll!00007ff90ec9271f() Unknown
ninput.dll!00007ff90ec87401() Unknown
ninput.dll!00007ff90ec87383() Unknown
ninput.dll!00007ff90ec5b44b() Unknown
ninput.dll!00007ff90ec5bbe0() Unknown
ninput.dll!00007ff90ec9ffbb() Unknown
ninput.dll!00007ff90ec90495() Unknown
Microsoft.UI.Input.dll!GestureRecognizerServer::ProcessInertiaInternal(unsigned __int64) Unknown
Microsoft.UI.Input.dll!GestureRecognizerServer::ProcessInertia(void) Unknown
[Inline Frame] Microsoft.ui.xaml.dll!ElementGestureTracker::ProcessInertiaInteraction() Line 315 C++
[Inline Frame] Microsoft.ui.xaml.dll!CInteractionManager::ProcessManipulationInertiaInteraction() Line 213 C++
[Inline Frame] Microsoft.ui.xaml.dll!CInputServices::ProcessManipulationInertiaInteraction() Line 1902 C++
[Inline Frame] Microsoft.ui.xaml.dll!ContentRootAdapters::ContentRootEventListener::ManipulationInertiaProcessingEventListener(CDependencyObject *) Line 182 C++
[Inline Frame] Microsoft.ui.xaml.dll!ContentRootAdapters::ContentRootEventListener::UnregisterManipulationInertiaProcessingEventHandler::__l2::::operator()(CDependencyObject *) Line 170 C++
Microsoft.ui.xaml.dll!`ContentRootAdapters::ContentRootEventListener::UnregisterManipulationInertiaProcessingEventHandler'::`2'::::(CDependencyObject * pSender, CEventArgs * pEventArgs) Line 157 C++
Microsoft.ui.xaml.dll!CControlBase::ScriptCallback(void * pControl, CDependencyObject * pListener, EventHandle hEvent, CDependencyObject * pSender, CEventArgs * pArgs, int flags, IScriptObject * pScriptObject, HRESULT(*)(CDependencyObject *, CEventArgs *) pInternalHandler) Line 225 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::OnScriptCallback(CEventInfo * pEventInfo) Line 1036 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::OnWindowMessage(unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 882 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::ProcessMessage(unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 631 C++
[Inline Frame] Microsoft.ui.xaml.dll!CDeferredInvoke::DispatchQueuedMessage(bool *) Line 140 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallback() Line 1244 C++
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallbackStatic(void *) Line 1213 C++
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::Init::__l46::::operator()(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *) Line 323 C++
Microsoft.ui.xaml.dll!Microsoft::WRL::Details::DelegateArgTraits,IInspectable *>::*)(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`CXcpDispatcher::Init'::`46':: &,1,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *>::Invoke(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer * , IInspectable * ) Line 354 C++
CoreMessagingXP.dll!Microsoft::WRL::Details::DelegateArgTraits,struct IInspectable *>::*)(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *)>::DelegateInvokeHelper,struct Windows::Foundation::ITypedEventHandler,class Microsoft::WRL::FtmBase>,class ,-1,struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *>::Invoke(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *) Unknown
CoreMessagingXP.dll!Microsoft::WRL::EventSource,struct Microsoft::WRL::InvokeModeOptions<1> >::InvokeAll(class Microsoft::UI::Dispatching::DispatcherQueueTimer *,std::nullptr_t) Unknown
CoreMessagingXP.dll!Microsoft::UI::Dispatching::DispatcherQueueTimer::TimerCallback(void *) Unknown
CoreMessagingXP.dll!CFlat::SehSafe::Execute<>() Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::ActionCallback::ImportAdapter$(class CFlat::Box$1 > *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::TimeoutManager::Callback_OnDispatch(void) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem(class Microsoft::CoreUI::Dispatch::DispatchItem *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop(enum Microsoft::CoreUI::Dispatch::RunnablePriorityMask) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop(enum Microsoft::CoreUI::Dispatch::RunMode) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue(enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,void * *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch(bool,enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,void * *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork(struct HWND__ *,enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,bool) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::HandleDispatchNotifyMessage(struct HWND__ *,unsigned __int64,__int64) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!00007ff91a83c396() Unknown
user32.dll!00007ff91a83bc1c() Unknown
user32.dll!00007ff91a8722a3() Unknown
ntdll.dll!00007ff91afe5cc4() Unknown
win32u.dll!00007ff917a912e4() Unknown
user32.dll!00007ff91a8438ef() Unknown
user32.dll!00007ff91a843878() Unknown
combase.dll!00007ff91aa99717() Unknown
combase.dll!00007ff91aa99690() Unknown
combase.dll!00007ff91aa98427() Unknown
combase.dll!00007ff91aa97955() Unknown
> combase.dll!00007ff91aa479fb() Unknown
[Managed to Native Transition]
System.Private.CoreLib.dll!System.Threading.Monitor.Enter_Slowpath(object obj) Unknown
System.Private.CoreLib.dll!System.Threading.Monitor.Enter(object obj, ref bool lockTaken) Unknown
ReentrancyCrash.dll!ReentrancyCrash.MainWindow.Window_Activated.AnonymousMethod__2_0(object _, object _) Line 23 C#
Microsoft.WinUI.dll!WinRT.GenericTypeInstantiations.Windows_Foundation_EventHandler_1_object.Do_Abi_Invoke(nint thisPtr, nint sender, nint args) Unknown
[Native to Managed Transition]
Microsoft.ui.xaml.dll!DirectUI::CEventSourceBase,IInspectable,IInspectable>::Raise(IInspectable * pSource, IInspectable * pArgs) Line 272 C++
Microsoft.ui.xaml.dll!DirectUI::DXamlCore::OnRenderingEvent(IInspectable * pArgs) Line 2432 C++
Microsoft.ui.xaml.dll!DirectUI::DXamlCore::RaiseEvent(CDependencyObject * target, CEventArgs * pCoreArgs, DirectUI::ManagedEvent eventId) Line 2179 C++
[Inline Frame] Microsoft.ui.xaml.dll!AgCoreCallbacks::RaiseEvent(CDependencyObject *) Line 97 C++
[Inline Frame] Microsoft.ui.xaml.dll!FxCallbacks::JoltHelper_RaiseEvent(CDependencyObject *) Line 880 C++
Microsoft.ui.xaml.dll!CCoreServices::CallPerFrameCallback(float time) Line 4274 C++
Microsoft.ui.xaml.dll!CCoreServices::NWDrawTree(HWWalk * pHWWalk, CWindowRenderTarget * pRenderTarget, VisualTree * pVisualTree, bool forceRedraw, bool * pFrameDrawn) Line 6263 C++
Microsoft.ui.xaml.dll!CCoreServices::NWDrawMainTree(CWindowRenderTarget * pIRenderTarget, bool forceRedraw, bool * pFrameDrawn) Line 5994 C++
Microsoft.ui.xaml.dll!CWindowRenderTarget::Draw(CCoreServices * forceRedraw, bool pFrameDrawn, bool *) Line 130 C++
Microsoft.ui.xaml.dll!CXcpBrowserHost::OnTick() Line 337 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::Tick() Line 1136 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::OnReentrancyProtectedWindowMessage(unsigned int msg, unsigned __int64 lParam, __int64) Line 749 C++
[Inline Frame] Microsoft.ui.xaml.dll!CDeferredInvoke::DispatchQueuedMessage(bool *) Line 140 C++
Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallback() Line 1244 C++
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallbackStatic(void *) Line 1213 C++
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::Init::__l46::::operator()(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *) Line 323 C++
Microsoft.ui.xaml.dll!Microsoft::WRL::Details::DelegateArgTraits,IInspectable *>::*)(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`CXcpDispatcher::Init'::`46':: &,1,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *>::Invoke(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer * , IInspectable * ) Line 354 C++
CoreMessagingXP.dll!Microsoft::WRL::Details::DelegateArgTraits,struct IInspectable *>::*)(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *)>::DelegateInvokeHelper,struct Windows::Foundation::ITypedEventHandler,class Microsoft::WRL::FtmBase>,class ,-1,struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *>::Invoke(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *) Unknown
CoreMessagingXP.dll!Microsoft::WRL::EventSource,struct Microsoft::WRL::InvokeModeOptions<1> >::InvokeAll(class Microsoft::UI::Dispatching::DispatcherQueueTimer *,std::nullptr_t) Unknown
CoreMessagingXP.dll!Microsoft::UI::Dispatching::DispatcherQueueTimer::TimerCallback(void *) Unknown
CoreMessagingXP.dll!CFlat::SehSafe::Execute<>() Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::ActionCallback::ImportAdapter$(class CFlat::Box$1 > *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::TimeoutManager::Callback_OnDispatch(void) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem(class Microsoft::CoreUI::Dispatch::DispatchItem *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop(enum Microsoft::CoreUI::Dispatch::RunnablePriorityMask) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop(enum Microsoft::CoreUI::Dispatch::RunMode) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue(enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,void * *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch(bool,enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,void * *) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork(struct HWND__ *,enum Microsoft::CoreUI::Dispatch::UserAdapter$UserPriority,bool) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::HandleDispatchNotifyMessage(struct HWND__ *,unsigned __int64,__int64) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!00007ff91a83c396() Unknown
user32.dll!00007ff91a83bc1c() Unknown
user32.dll!00007ff91a8722a3() Unknown
ntdll.dll!00007ff91afe5cc4() Unknown
win32u.dll!00007ff917a91344() Unknown
user32.dll!00007ff91a86b352() Unknown
Microsoft.ui.xaml.dll!DirectUI::FrameworkApplication::RunDesktopWindowMessageLoop() Line 1318 C++
Microsoft.ui.xaml.dll!DirectUI::FrameworkApplication::StartDesktop() Line 239 C++
[Inline Frame] Microsoft.ui.xaml.dll!DirectUI::FrameworkApplicationFactory::StartImpl(ABI::Microsoft::UI::Xaml::IApplicationInitializationCallback *) Line 182 C++
Microsoft.ui.xaml.dll!DirectUI::FrameworkApplicationFactory::Start(ABI::Microsoft::UI::Xaml::IApplicationInitializationCallback * pCallback) Line 843 C++
[Managed to Native Transition]
Microsoft.WinUI.dll!ABI.Microsoft.UI.Xaml.IApplicationStaticsMethods.Start(WinRT.IObjectReference _obj, Microsoft.UI.Xaml.ApplicationInitializationCallback callback) Unknown
Microsoft.WinUI.dll!Microsoft.UI.Xaml.Application.Start(Microsoft.UI.Xaml.ApplicationInitializationCallback callback) Unknown
ReentrancyCrash.dll!ReentrancyCrash.Program.Main(string[] args) Line 26 C#
[Native to Managed Transition]
hostpolicy.dll!00007ff8d354dd0a() Unknown
hostpolicy.dll!00007ff8d354dfac() Unknown
hostpolicy.dll!00007ff8d354ef21() Unknown
hostfxr.dll!00007ff8d359d56b() Unknown
hostfxr.dll!00007ff8d35a029c() Unknown
hostfxr.dll!00007ff8d35a2676() Unknown
hostfxr.dll!00007ff8d35a079d() Unknown
hostfxr.dll!00007ff8d3598998() Unknown
ReentrancyCrash.exe!00007ff76dfa2f48() Unknown
ReentrancyCrash.exe!00007ff76dfa33c6() Unknown
ReentrancyCrash.exe!00007ff76dfb3b28() Unknown
kernel32.dll!00007ff91a08e957() Unknown
ntdll.dll!00007ff91ae8427c() Unknown
```

Additionally, WinDbg provided a more detailed stack trace
```text
[0x0] KERNELBASE!RaiseFailFastException+0x188 0xcd1497acc0 0x7ff91aac2959
[0x1] combase!RoFailFastWithErrorContextInternal2+0x4a9 0xcd1497b2a0 0x7ffff635c82d
[0x2] Microsoft_UI_Xaml!FailFastWithStowedExceptions+0x61 0xcd1497b4c0 0x7ffff6479962
[0x3] Microsoft_UI_Xaml!CXcpDispatcher::CheckReentrancy+0x5e 0xcd1497b4f0 0x7ffff62ffaab
[0x4] Microsoft_UI_Xaml!CXcpDispatcher::OnWindowMessage+0x1c7487 0xcd1497b520 0x7ffff61385c9
[0x5] Microsoft_UI_Xaml!CXcpDispatcher::ProcessMessage+0x2d 0xcd1497b550 0x7ffff6137ef8
[0x6] Microsoft_UI_Xaml!CXcpDispatcher::SendMessageW+0x10 (Inline Function) (Inline Function)
[0x7] Microsoft_UI_Xaml!CXcpBrowserHost::SyncScriptCallbackRequest+0x88 0xcd1497b580 0x7ffff609eb3f
[0x8] Microsoft_UI_Xaml!CEventManager::RaiseUIElementEvents+0x73 0xcd1497b600 0x7ffff609dfa8
[0x9] Microsoft_UI_Xaml!CEventManager::Raise+0x2c8 0xcd1497b660 0x7ffff609ec2e
[0xa] Microsoft_UI_Xaml!CEventManager::RaiseRoutedEventBubbling+0xe2 0xcd1497b790 0x7ffff63d54af
[0xb] Microsoft_UI_Xaml!CEventManager::RaiseRoutedEvent+0x31 (Inline Function) (Inline Function)
[0xc] Microsoft_UI_Xaml!CInputServices::ProcessManipulationDeltaInput+0x2ef 0xcd1497b860 0x7ffff63d5bf3
[0xd] Microsoft_UI_Xaml!CInputServices::ProcessTouchInteractionCallback+0xb3 0xcd1497b960 0x7ffff636e668
[0xe] Microsoft_UI_Xaml!CCoreServices::ProcessTouchInteractionCallback+0x38 0xcd1497b990 0x7ffff691b2af
[0xf] Microsoft_UI_Xaml!GestureRecognizerAdapter::OnManipulationUpdated+0x1e3 0xcd1497b9c0 0x7ffff691a804
[0x10] Microsoft_UI_Xaml!GestureRecognizerAdapter::Init::__l35::::operator()+0x10 (Inline Function) (Inline Function)
[0x11] Microsoft_UI_Xaml!Microsoft::WRL::Details::DelegateArgTraits,ABI::Windows::Foundation::Internal::AggregateType >::*)(ABI::Microsoft::UI::Input::IGestureRecognizer *,ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`GestureRecognizerAdapter::Init'::`35':: &,1,ABI::Microsoft::UI::Input::IGestureRecognizer *,ABI::Microsoft::UI::Input::IManipulationUpdatedEventArgs *>::Invoke+0x14 0xcd1497bb20 0x7ff84c220bfb
[0x12] Microsoft_UI_Input!Microsoft::WRL::InvokeTraits<-2>::InvokeDelegates<,Windows::Foundation::ITypedEventHandler >+0x83 0xcd1497bb50 0x7ff84c255fdc
[0x13] Microsoft_UI_Input!GestureRecognizerServer::OnManipulationUpdatedEvent+0x188 0xcd1497bbb0 0x7ff84c256446
[0x14] Microsoft_UI_Input!GestureRecognizerServer::OnOutput+0x41e 0xcd1497bcb0 0x7ff84c25696e
[0x15] Microsoft_UI_Input!GestureRecognizerServer::OutputCallback+0xe 0xcd1497be50 0x7ff90ec792d4
[0x16] NInput!COutputConverter::Process+0x324 0xcd1497be80 0x7ff90ec9271f
[0x17] NInput!CInteractionContextImpl::OutputCallback+0x22f 0xcd1497c0d0 0x7ff90ec87401
[0x18] NInput!CInteractionGroupingFilter::_SendOutput+0x15 0xcd1497c210 0x7ff90ec87383
[0x19] NInput!CInteractionGroupingFilter::Input+0x33 0xcd1497c240 0x7ff90ec5b44b
[0x1a] NInput!COutputCoalescingFilter::Flush+0xbb 0xcd1497c270 0x7ff90ec5bbe0
[0x1b] NInput!CInteractionEngineImpl::TimeInput+0x10c 0xcd1497c2a0 0x7ff90ec9ffbb
[0x1c] NInput!CInteractionContextImpl::ProcessInertia+0x2b 0xcd1497c2d0 0x7ff90ec90495
[0x1d] NInput!ProcessInertiaWithTimeInteractionContext+0x55 0xcd1497c300 0x7ff84c256cf7
[0x1e] Microsoft_UI_Input!GestureRecognizerServer::ProcessInertiaInternal+0x43 0xcd1497c330 0x7ff84c256ca6
[0x1f] Microsoft_UI_Input!GestureRecognizerServer::ProcessInertia+0x86 0xcd1497c360 0x7ffff69206ac
[0x20] Microsoft_UI_Xaml!ElementGestureTracker::ProcessInertiaInteraction+0x14 (Inline Function) (Inline Function)
[0x21] Microsoft_UI_Xaml!CInteractionManager::ProcessManipulationInertiaInteraction+0x3e (Inline Function) (Inline Function)
[0x22] Microsoft_UI_Xaml!CInputServices::ProcessManipulationInertiaInteraction+0x3e (Inline Function) (Inline Function)
[0x23] Microsoft_UI_Xaml!ContentRootAdapters::ContentRootEventListener::ManipulationInertiaProcessingEventListener+0x42 (Inline Function) (Inline Function)
[0x24] Microsoft_UI_Xaml!ContentRootAdapters::ContentRootEventListener::UnregisterManipulationInertiaProcessingEventHandler::__l2::::operator()+0x42 (Inline Function) (Inline Function)
[0x25] Microsoft_UI_Xaml!`ContentRootAdapters::ContentRootEventListener::UnregisterManipulationInertiaProcessingEventHandler'::`2'::::+0x4c 0xcd1497c390 0x7ffff6183035
[0x26] Microsoft_UI_Xaml!CControlBase::ScriptCallback+0x175 0xcd1497c3c0 0x7ffff6138873
[0x27] Microsoft_UI_Xaml!CXcpDispatcher::OnScriptCallback+0x113 0xcd1497c450 0x7ffff6138664
[0x28] Microsoft_UI_Xaml!CXcpDispatcher::OnWindowMessage+0x40 0xcd1497c520 0x7ffff61385c9
[0x29] Microsoft_UI_Xaml!CXcpDispatcher::ProcessMessage+0x2d 0xcd1497c550 0x7ffff6138441
[0x2a] Microsoft_UI_Xaml!CDeferredInvoke::DispatchQueuedMessage+0x2f (Inline Function) (Inline Function)
[0x2b] Microsoft_UI_Xaml!CXcpDispatcher::MessageTimerCallback+0xe1 0xcd1497c580 0x7ffff61c6e2d
[0x2c] Microsoft_UI_Xaml!CXcpDispatcher::MessageTimerCallbackStatic+0x9 (Inline Function) (Inline Function)
[0x2d] Microsoft_UI_Xaml!CXcpDispatcher::Init::__l46::::operator()+0x9 (Inline Function) (Inline Function)
[0x2e] Microsoft_UI_Xaml!Microsoft::WRL::Details::DelegateArgTraits,IInspectable *>::*)(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`CXcpDispatcher::Init'::`46':: &,1,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *>::Invoke+0xd 0xcd1497c5d0 0x7ff854577717
[0x2f] CoreMessagingXP!Microsoft::WRL::Details::DelegateArgTraits,IInspectable * __ptr64>::*)(Microsoft::UI::Dispatching::IDispatcherQueueTimer * __ptr64,IInspectable * __ptr64) __ptr64>::DelegateInvokeHelper,Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,,-1,Microsoft::UI::Dispatching::IDispatcherQueueTimer * __ptr64,IInspectable * __ptr64>::Invoke+0x87 0xcd1497c600 0x7ff854577501
[0x30] CoreMessagingXP!Microsoft::WRL::EventSource,Microsoft::WRL::InvokeModeOptions<1> >::InvokeAll+0xad 0xcd1497c640 0x7ff854577b43
[0x31] CoreMessagingXP!Microsoft::UI::Dispatching::DispatcherQueueTimer::TimerCallback+0x83 0xcd1497c690 0x7ff854520a4d
[0x32] CoreMessagingXP!CFlat::SehSafe::Execute< >+0x21 0xcd1497c6f0 0x7ff854524aa6
[0x33] CoreMessagingXP!Microsoft::CoreUI::ActionCallback::ImportAdapter$+0x66 0xcd1497c720 0x7ff854510de9
[0x34] CoreMessagingXP!Microsoft::CoreUI::Dispatch::TimeoutManager::Callback_OnDispatch+0x1a9 0xcd1497c760 0x7ff8544fc8d0
[0x35] CoreMessagingXP!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem+0x1bc 0xcd1497c820 0x7ff8544fc63d
[0x36] CoreMessagingXP!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop+0x1b9 0xcd1497c8c0 0x7ff8544efd8c
[0x37] CoreMessagingXP!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop+0x164 0xcd1497c980 0x7ff8544f2cb6
[0x38] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue+0x15a 0xcd1497c9e0 0x7ff8544f302c
[0x39] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch+0x98 0xcd1497caa0 0x7ff8545336f3
[0x3a] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork+0xa7 0xcd1497caf0 0x7ff854533886
[0x3b] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::HandleDispatchNotifyMessage+0x132 0xcd1497cb50 0x7ff854533dfe
[0x3c] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc+0x5e 0xcd1497cbb0 0x7ff91a83c396
[0x3d] USER32!UserCallWinProcCheckWow+0x356 0xcd1497cbe0 0x7ff91a83bc1c
[0x3e] USER32!DispatchClientMessage+0x9c 0xcd1497cd40 0x7ff91a8722a3
[0x3f] USER32!_fnDWORD+0x33 0xcd1497cda0 0x7ff91afe5cc4
[0x40] ntdll!KiUserCallbackDispatcherContinue 0xcd1497ce00 0x7ff917a912e4
[0x41] win32u!NtUserPeekMessage+0x14 0xcd1497ce88 0x7ff91a8438ef
[0x42] USER32!_PeekMessage+0x3f 0xcd1497ce90 0x7ff91a843878
[0x43] USER32!PeekMessageW+0x168 0xcd1497cf00 0x7ff91aa99717
[0x44] combase!CCliModalLoop::MyPeekMessage+0x53 0xcd1497cf70 0x7ff91aa99690
[0x45] combase!CCliModalLoop::PeekRPCAndDDEMessage+0x5c 0xcd1497cfe0 0x7ff91aa98427
[0x46] combase!CCliModalLoop::BlockFn+0x1a3 0xcd1497d050 0x7ff91aa97955
[0x47] combase!ClassicSTAThreadWaitForHandles+0xa5 0xcd1497d0e0 0x7ff91aa479fb
[0x48] combase!CoWaitForMultipleHandles+0xbb 0xcd1497d200 0x7ff854e9ca68
[0x49] coreclr!MsgWaitHelper+0x44 0xcd1497d240 0x7ff854e14a84
[0x4a] coreclr!Thread::DoAppropriateAptStateWait+0x139d9c 0xcd1497d280 0x7ff854cdaa6a
[0x4b] coreclr!Thread::DoAppropriateWaitWorker+0x17e 0xcd1497d2c0 0x7ff854cda899
[0x4c] coreclr!Thread::DoAppropriateWait+0xa9 0xcd1497d390 0x7ff854cd7c8d
[0x4d] coreclr!CLREventBase::WaitEx+0x53 (Inline Function) (Inline Function)
[0x4e] coreclr!CLREventBase::Wait+0x59 0xcd1497d430 0x7ff854cd79cb
[0x4f] coreclr!AwareLock::EnterEpilogHelper+0x123 0xcd1497d480 0x7ff854cd787d
[0x50] coreclr!AwareLock::EnterEpilog+0x45 0xcd1497d560 0x7ff854cd7818
[0x51] coreclr!AwareLock::Enter+0xb0 0xcd1497d5e0 0x7ff854cd81ff
[0x52] coreclr!SyncBlock::EnterMonitor+0x8 (Inline Function) (Inline Function)
[0x53] coreclr!ObjHeader::EnterObjMonitor+0xd (Inline Function) (Inline Function)
[0x54] coreclr!Object::EnterObjMonitor+0x16 (Inline Function) (Inline Function)
[0x55] coreclr!JIT_MonEnter_Helper+0x12f 0xcd1497d610 0x7ff854cd7d7a
[0x56] coreclr!JIT_MonReliableEnter_Portable+0xda 0xcd1497d790 0x7ff7f5222222
[0x57] ReentrancyCrash!ReentrancyCrash.MainWindow.b__2_0+0x52 0xcd1497d7d0 0x7ff7f522f390
[0x58] ILStubClass.IL_STUB_MulticastDelegate_Invoke(System.Object, System.__Canon)+0x30 0xcd1497d820 0x7ff7f5221ecf
[0x59] Microsoft_WinUI!WinRT.GenericTypeInstantiations.Windows_Foundation_EventHandler_1_object.Do_Abi_Invoke+0x6f 0xcd1497d870 0x7ffff6094bda
[0x5a] Microsoft_UI_Xaml!DirectUI::CEventSourceBase,IInspectable,IInspectable>::Raise+0x7a 0xcd1497d8e0 0x7ffff60948e1
[0x5b] Microsoft_UI_Xaml!DirectUI::DXamlCore::OnRenderingEvent+0x39 0xcd1497d970 0x7ffff60801af
[0x5c] Microsoft_UI_Xaml!DirectUI::DXamlCore::RaiseEvent+0x43f 0xcd1497d9a0 0x7ffff6212c7c
[0x5d] Microsoft_UI_Xaml!AgCoreCallbacks::RaiseEvent+0x36 (Inline Function) (Inline Function)
[0x5e] Microsoft_UI_Xaml!FxCallbacks::JoltHelper_RaiseEvent+0x36 (Inline Function) (Inline Function)
[0x5f] Microsoft_UI_Xaml!CCoreServices::CallPerFrameCallback+0x94 0xcd1497da60 0x7ffff6075ab0
[0x60] Microsoft_UI_Xaml!CCoreServices::NWDrawTree+0x4f0 0xcd1497dab0 0x7ffff60ed82d
[0x61] Microsoft_UI_Xaml!CCoreServices::NWDrawMainTree+0xd1 0xcd1497dc40 0x7ffff60ed610
[0x62] Microsoft_UI_Xaml!CWindowRenderTarget::Draw+0x74 0xcd1497dcf0 0x7ffff60ed548
[0x63] Microsoft_UI_Xaml!CXcpBrowserHost::OnTick+0x58 0xcd1497dd30 0x7ffff613922e
[0x64] Microsoft_UI_Xaml!CXcpDispatcher::Tick+0x8e 0xcd1497dd70 0x7ffff6138f1f
[0x65] Microsoft_UI_Xaml!CXcpDispatcher::OnReentrancyProtectedWindowMessage+0x223 0xcd1497ddc0 0x7ffff6138441
[0x66] Microsoft_UI_Xaml!CDeferredInvoke::DispatchQueuedMessage+0x2f (Inline Function) (Inline Function)
[0x67] Microsoft_UI_Xaml!CXcpDispatcher::MessageTimerCallback+0xe1 0xcd1497de40 0x7ffff61c6e2d
[0x68] Microsoft_UI_Xaml!CXcpDispatcher::MessageTimerCallbackStatic+0x9 (Inline Function) (Inline Function)
[0x69] Microsoft_UI_Xaml!CXcpDispatcher::Init::__l46::::operator()+0x9 (Inline Function) (Inline Function)
[0x6a] Microsoft_UI_Xaml!Microsoft::WRL::Details::DelegateArgTraits,IInspectable *>::*)(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *)>::DelegateInvokeHelper,ABI::Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,`CXcpDispatcher::Init'::`46':: &,1,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *>::Invoke+0xd 0xcd1497de90 0x7ff854577717
[0x6b] CoreMessagingXP!Microsoft::WRL::Details::DelegateArgTraits,IInspectable * __ptr64>::*)(Microsoft::UI::Dispatching::IDispatcherQueueTimer * __ptr64,IInspectable * __ptr64) __ptr64>::DelegateInvokeHelper,Windows::Foundation::ITypedEventHandler,Microsoft::WRL::FtmBase>,,-1,Microsoft::UI::Dispatching::IDispatcherQueueTimer * __ptr64,IInspectable * __ptr64>::Invoke+0x87 0xcd1497dec0 0x7ff854577501
[0x6c] CoreMessagingXP!Microsoft::WRL::EventSource,Microsoft::WRL::InvokeModeOptions<1> >::InvokeAll+0xad 0xcd1497df00 0x7ff854577b43
[0x6d] CoreMessagingXP!Microsoft::UI::Dispatching::DispatcherQueueTimer::TimerCallback+0x83 0xcd1497df50 0x7ff854520a4d
[0x6e] CoreMessagingXP!CFlat::SehSafe::Execute< >+0x21 0xcd1497dfb0 0x7ff854524aa6
[0x6f] CoreMessagingXP!Microsoft::CoreUI::ActionCallback::ImportAdapter$+0x66 0xcd1497dfe0 0x7ff854510de9
[0x70] CoreMessagingXP!Microsoft::CoreUI::Dispatch::TimeoutManager::Callback_OnDispatch+0x1a9 0xcd1497e020 0x7ff8544fc8d0
[0x71] CoreMessagingXP!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem+0x1bc 0xcd1497e0e0 0x7ff8544fc63d
[0x72] CoreMessagingXP!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchLoop+0x1b9 0xcd1497e180 0x7ff8544efd8c
[0x73] CoreMessagingXP!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop+0x164 0xcd1497e240 0x7ff8544f2cb6
[0x74] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::DrainCoreMessagingQueue+0x15a 0xcd1497e2a0 0x7ff8544f302c
[0x75] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch+0x98 0xcd1497e360 0x7ff8545336f3
[0x76] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::DoWork+0xa7 0xcd1497e3b0 0x7ff854533886
[0x77] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::HandleDispatchNotifyMessage+0x132 0xcd1497e410 0x7ff854533dfe
[0x78] CoreMessagingXP!Microsoft::CoreUI::Dispatch::UserAdapter::WindowProc+0x5e 0xcd1497e470 0x7ff91a83c396
[0x79] USER32!UserCallWinProcCheckWow+0x356 0xcd1497e4a0 0x7ff91a83bc1c
[0x7a] USER32!DispatchClientMessage+0x9c 0xcd1497e600 0x7ff91a8722a3
[0x7b] USER32!_fnDWORD+0x33 0xcd1497e660 0x7ff91afe5cc4
[0x7c] ntdll!KiUserCallbackDispatcherContinue 0xcd1497e6c0 0x7ff917a91344
[0x7d] win32u!NtUserGetMessage+0x14 0xcd1497e748 0x7ff91a86b352
[0x7e] USER32!GetMessageW+0x22 0xcd1497e750 0x7ffff61b5100
[0x7f] Microsoft_UI_Xaml!DirectUI::FrameworkApplication::RunDesktopWindowMessageLoop+0x3c 0xcd1497e7b0 0x7ffff611c2b1
[0x80] Microsoft_UI_Xaml!DirectUI::FrameworkApplication::StartDesktop+0x209 0xcd1497e830 0x7ffff6222e92
[0x81] Microsoft_UI_Xaml!DirectUI::FrameworkApplicationFactory::StartImpl+0x37 (Inline Function) (Inline Function)
[0x82] Microsoft_UI_Xaml!DirectUI::FrameworkApplicationFactory::Start+0x62 0xcd1497e8d0 0x7ff7f51f8a33
[0x83] Microsoft_WinUI!ABI.Microsoft.UI.Xaml.IApplicationStaticsMethods.Start+0x123 0xcd1497e920 0x7ff7f51f754c
[0x84] Microsoft_WinUI!Microsoft.UI.Xaml.Application.Start+0x2c 0xcd1497ea60 0x7ff7f51f6e68
[0x85] ReentrancyCrash!ReentrancyCrash.Program.Main+0xe8 0xcd1497eaa0 0x7ff854dc5cb3
[0x86] coreclr!CallDescrWorkerInternal+0x83 0xcd1497eb00 0x7ff854cf1f57
[0x87] coreclr!MethodDescCallSite::CallTargetWorker+0x26f 0xcd1497eb40 0x7ff854cb36e7
[0x88] coreclr!MethodDescCallSite::Call+0xb (Inline Function) (Inline Function)
[0x89] coreclr!RunMainInternal+0x11f 0xcd1497ec80 0x7ff854d59ea0
[0x8a] coreclr!RunMain+0xe0 0xcd1497eda0 0x7ff854d5a1b3
[0x8b] coreclr!Assembly::ExecuteMainMethod+0x193 0xcd1497ee30 0x7ff854c74045
[0x8c] coreclr!CorHost2::ExecuteAssembly+0x235 0xcd1497f100 0x7ff854da3662
[0x8d] coreclr!coreclr_execute_assembly+0xd2 0xcd1497f210 0x7ff87e62da9a
[0x8e] hostpolicy!coreclr_t::execute_assembly+0x29 (Inline Function) (Inline Function)
[0x8f] hostpolicy!run_app_for_context+0x5ea 0xcd1497f2b0 0x7ff87e62dd3c
[0x90] hostpolicy!run_app+0x3c 0xcd1497f3e0 0x7ff87e62ecb1
[0x91] hostpolicy!corehost_main+0x171 0xcd1497f420 0x7ff88b30dffb
[0x92] hostfxr!execute_app+0x2bb 0xcd1497f520 0x7ff88b3108bc
[0x93] hostfxr!`anonymous namespace'::read_config_and_execute+0xac 0xcd1497f5b0 0x7ff88b312c96
[0x94] hostfxr!fx_muxer_t::handle_exec_host_command+0x1d6 0xcd1497f6b0 0x7ff88b310dbd
[0x95] hostfxr!fx_muxer_t::execute+0x2ad 0xcd1497f760 0x7ff88b308628
[0x96] hostfxr!hostfxr_main_startupinfo+0xa8 0xcd1497f890 0x7ff6d31c2dec
[0x97] apphost!exe_start+0x7fc 0xcd1497f990 0x7ff6d31c3256
[0x98] apphost!wmain+0x156 0xcd1497fb40 0x7ff6d31d2568
[0x99] apphost!invoke_main+0x22 (Inline Function) (Inline Function)
[0x9a] apphost!__scrt_common_main_seh+0x10c 0xcd1497fbc0 0x7ff91a08e957
[0x9b] KERNEL32!BaseThreadInitThunk+0x17 0xcd1497fc00 0x7ff91ae8427c
[0x9c] ntdll!RtlUserThreadStart+0x2c 0xcd1497fc30 0x0
```

Tracing the interesting portions of the stack, it seems like these are the important callsites:
```text
(Core Message Loop)
...
[0x65] Microsoft_UI_Xaml!CXcpDispatcher::OnReentrancyProtectedWindowMessage+0x223 0xcd1497ddc0 0x7ffff6138441
...
[0x56] coreclr!JIT_MonReliableEnter_Portable+0xda 0xcd1497d790 0x7ff7f5222222
...
[0x47] combase!ClassicSTAThreadWaitForHandles+0xa5 0xcd1497d0e0 0x7ff91aa479fb
...
[0x44] combase!CCliModalLoop::MyPeekMessage+0x53 0xcd1497cf70 0x7ff91aa99690
...
[0x1c] NInput!CInteractionContextImpl::ProcessInertia+0x2b 0xcd1497c2d0 0x7ff90ec90495
...
[0x4] Microsoft_UI_Xaml!CXcpDispatcher::OnWindowMessage+0x1c7487 0xcd1497b520 0x7ffff61385c9
[0x3] Microsoft_UI_Xaml!CXcpDispatcher::CheckReentrancy+0x5e 0xcd1497b4f0 0x7ffff62ffaab
...
(Crash)
```

Obviously we can work around this by avoiding locks in our code, but dotnet 10 added some internal locks that are hard for us to get past.

Contributor guide

Open the contributing guide

Research direction

Start with the attached ReentrancyCrash.zip and reproduce the crash using the stated Windows and Windows App SDK versions. Read xcpwindow.cpp around CXcpDispatcher::CheckReentrancy and OnWindowMessage, then compare the reported stack with the lock and UI input-dispatch behavior. Done means the repro no longer crashes when a held lock is encountered during manipulation input.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.