ShortDevelopment/ShortDev.Uwp.FullTrust

`Dispatcher.RunIdleAsync` never resolves promise

Opened this issue · 2 comments

`Dispatcher.RunIdleAsync` never resolves promise

Workaround: Use custom Windows.UI.Core.CoreDispatcherExtensions.RunTaskAsync instead

Uwp call stack
[Native to Managed Transition]	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessInvokeItem(bool * pbInvokeItemProcessed) Line 1263	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessMessage(bool bDrainQueue, bool * pbWindowMessagesProcessed, bool *pbInvokeItemProcessed) Line 364	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::WaitAndProcessMessagesInternal(bool bRunAlwaysOnce, void * hEventWait) Line 1950	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessEvents(Windows::UI::Core::CoreProcessEventsOption options) Line 596	 	 	 
Windows.UI.Xaml.dll!CJupiterWindow::RunCoreWindowMessageLoop() Line 1234	 	 	 
[Inline Frame] Windows.UI.Xaml.dll!CJupiterControl::RunMessageLoop() Line 1065	 	 	 
Windows.UI.Xaml.dll!DirectUI::DXamlCore::RunMessageLoop() Line 2464	 	 	 
twinapi.appcore.dll!00007ffebf125c5a()	 	 	 
twinapi.appcore.dll!00007ffebf0de65f()	 	 	 
SHCore.dll!00007ffeccbdbf69()	 	 	 
kernel32.dll!00007ffecc957034()	 	 	 
ntdll.dll!00007ffeccd82651()	
Win32 call stack
[Native to Managed Transition]	 	 	 
[Inline Frame] Windows.UI.dll!Windows::UI::Core::CDispatcher::EnqueueAsyncWork::__l16::<lambda_59517943c03487243f9bea31c6c1a784>::operator()() Line 908	 	 	 
Windows.UI.dll!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_59517943c03487243f9bea31c6c1a784>,-1>::Invoke() Line 245	 	 	 
CoreMessaging.dll!Windows::System::DispatcherQueue::DeferInvokeCallback()	 	 	 
CoreMessaging.dll!Microsoft__CoreUI__Dispatch__TimeoutHandler$CallbackThunk(class System::Delegate *)	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::DeferredCall::Callback_Dispatch()	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::DeferredCallDispatcher::Callback_OnDispatch()	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop()	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::UserAdapter::OnUserDispatch()	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::UserAdapter_DoWork()	 	 	 
CoreMessaging.dll!Microsoft::CoreUI::Dispatch::UserAdapter_WindowProc()	 	 	 
user32.dll!UserCallWinProcCheckWow()	 	 	 
user32.dll!DispatchMessageWorker()	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessMessage(bool bDrainQueue, bool * pbWindowMessagesProcessed, bool * pbInvokeItemProcessed) Line 320	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::WaitAndProcessMessagesInternal(bool bRunAlwaysOnce, void * hEventWait) Line 1950	 	 	 
Windows.UI.dll!Windows::UI::Core::CDispatcher::ProcessEvents(Windows::UI::Core::CoreProcessEventsOption options) Line 596	 	 	 
[Managed to Native Transition]	 	 	 
ShortDev.Uwp.FullTrust.dll!ShortDev.Uwp.FullTrust.Core.Xaml.XamlApplicationWrapper.Run<VBAudioRouter.App, VBAudioRouter.WelcomePage>(System.Action callback)