microsoft / microsoft/microsoft-ui-xaml
Fail fast exception in DirectUI::DragDrop destructor (UWP app)
- Dominant language
- C++
- Stars
- 8.4k
- Forks
- 942
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 105
Description
I have a UWP app in the Store.
I'm getting a few exceptions in the Partner Center for my app which are labelled as
```
fail_fast_fatal_app_exit_c0000409_windows.ui.xaml.dll!ctl::comptr_iinspectable_::internalrelease
```
with stack trace
```
Frame Image Function Offset
"0" "ucrtbase.dll" "abort" "0x000000000000004E"
"1" "ucrtbase.dll" "_purecall" "0x0000000000000023"
"2" "ucrtbase.dll" "__crt_state_management::wrapped_invoke_int (__cdecl*)(void),int_" "0x0000000000000022"
"3" "Windows.UI.Xaml.dll" "ctl::ComPtr_IInspectable_::InternalRelease" "0x0000000000000033"
"4" "Windows.UI.Xaml.dll" "DirectUI::DragDrop::~DragDrop" "0x0000000000000017"
"5" "Windows.UI.Xaml.dll" "DirectUI::DXamlCore::DeleteDragDrop" "0x0000000000000035"
"6" "Windows.UI.Xaml.dll" "DirectUI::DXamlCore::DeinitializeInstance" "0x00000000000001DC"
"7" "Windows.UI.Xaml.dll" "DirectUI::DXamlCore::Deinitialize" "0x000000000000008F"
"8" "Windows.UI.Xaml.dll" "DirectUI::FrameworkView::Uninitialize" "0x0000000000000061"
"9" "twinapi.appcore.dll" "Windows::ApplicationModel::Core::CoreApplicationView::Uninitialize" "0x00000000000670EE"
"10" "twinapi.appcore.dll" "Windows::ApplicationModel::Core::CoreApplicationViewAgileContainer::UninitializeView" "0x0000000000000085"
"11" "twinapi.appcore.dll" "_lambda_42789f15e44e28e8f1176a4d3f326103_::operator" "0x000000000007BB55"
"12" "SHCore.dll" "_WrapperThreadProc" "0x000000000000011D"
"13" "kernel32.dll" "BaseThreadInitThunk" "0x000000000000001D"
"14" "ntdll.dll" "RtlUserThreadStart" "0x0000000000000028"
```
From the stack trace, this is happening when an application view is closing. My app supports multiple windows, so I don't know if this when the app finally exits or just a window closing. In the former case, I was wondering if it might be related to COM shutting down before the `DirectUI::DragDrop` constructor being called? That's just a suggestion though.
Contributor guide
Research direction
Start with the reported stack trace at DirectUI::DragDrop::~DragDrop and follow its callers through DXamlCore::DeleteDragDrop, DXamlCore::Deinitialize, and FrameworkView::Uninitialize. Reproduce shutdown for a multi-window UWP app, comparing a single window closing with final application exit; done means the lifecycle condition causing the fail-fast exception is identified and addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100