unoplatform / uno.extensions

Libraries to ease common developer tasks associated with building multi-platform mobile, desktop and web applications using Uno Platform or WinAppSDK.
https://platform.uno/
Other
73 stars 47 forks source link

[WinAppSDK] Navigation causes the app to crash #184

Closed jeromelaban closed 2 years ago

jeromelaban commented 2 years ago

Current behavior

An app created from the template app fails after logging in.

Expected behavior

The app starts.

How to reproduce it (as minimally and precisely as possible)

  1. dotnet new unoapp-extensions --material
  2. Build and run the .Package head.

Environment

Nuget Package:

Package Version(s):

Affected platform(s):

Visual Studio:

Relevant plugins:

Anything else we need to know?

nickrandolph commented 2 years ago

This seems to be related to TabBar and NavigationBar - commenting these out (HomePage and ProductsPage) will allow app to run Tabbar - can be added to the page but throws exception when the MaterialBottomTabBarStyle style is used NavBar - just adding a NavigationBar to the page (no other properties set) causes exception

Here's the exception: System.Runtime.InteropServices.COMException HResult=0x80070490 Message=Element not found. (0x80070490) Source=WinRT.Runtime StackTrace: at WinRT.ExceptionHelpers.g__Throw|20_0(Int32 hr)

image

WinRT.Runtime.dll!WinRT.ExceptionHelpers.ThrowExceptionForHR.__Throw|20_0(int hr)   Unknown
WinRT.Runtime.dll!WinRT.ExceptionHelpers.ThrowExceptionForHR(int hr)    Unknown

As it's an native WinUI exception there's not much in the way of callstack available in the Exception

Here's the callstack at the point shown in the image:

Microsoft.Windows.SDK.NET.dll!ABI.Windows.UI.ViewManagement.IApplicationViewStatics2Methods.GetForCurrentView(WinRT.IObjectReference _obj)  Unknown
Microsoft.Windows.SDK.NET.dll!Windows.UI.ViewManagement.ApplicationView.GetForCurrentView() Unknown
Uno.UI.Toolkit.dll!Uno.UI.Toolkit.VisibleBoundsPadding.VisibleBoundsDetails..ctor.AnonymousMethod__5_2(object s, Microsoft.UI.Xaml.RoutedEventArgs e)   Unknown
Microsoft.WinUI.dll!WinRT._EventSource_global__Microsoft_UI_Xaml_RoutedEventHandler.EventState.GetEventInvoke.AnonymousMethod__1_0(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)  Unknown
Microsoft.WinUI.dll!ABI.Microsoft.UI.Xaml.RoutedEventHandler.Do_Abi_Invoke.AnonymousMethod__0(Microsoft.UI.Xaml.RoutedEventHandler invoke)  Unknown
WinRT.Runtime.dll!WinRT.ComWrappersSupport.MarshalDelegateInvoke<Microsoft.UI.Xaml.RoutedEventHandler>(System.IntPtr thisPtr, System.Action<Microsoft.UI.Xaml.RoutedEventHandler> invoke)   Unknown
Microsoft.WinUI.dll!ABI.Microsoft.UI.Xaml.RoutedEventHandler.Do_Abi_Invoke(System.IntPtr thisPtr, System.IntPtr sender, System.IntPtr e)    Unknown
[Native to Managed Transition]  
Microsoft.ui.xaml.dll!00007fffa4a21e3c()    Unknown
Microsoft.ui.xaml.dll!00007fffa4a21d18()    Unknown
Microsoft.ui.xaml.dll!00007fffa48de134()    Unknown
Microsoft.ui.xaml.dll!00007fffa48de32d()    Unknown
Microsoft.ui.xaml.dll!00007fffa48de17d()    Unknown
Microsoft.ui.xaml.dll!00007fffa49dd4af()    Unknown
Microsoft.ui.xaml.dll!00007fffa4877d8c()    Unknown
Microsoft.ui.xaml.dll!00007fffa4877769()    Unknown
Microsoft.ui.xaml.dll!00007fffa4877679()    Unknown
user32.dll!00007ff85582e7e8()   Unknown
user32.dll!00007ff85582ddab()   Unknown
user32.dll!00007ff85582d61a()   Unknown
Microsoft.ui.xaml.dll!00007fffa49d371d()    Unknown
Microsoft.ui.xaml.dll!00007fffa490385a()    Unknown
Microsoft.ui.xaml.dll!00007fffa49afc62()    Unknown
Microsoft.ui.xaml.dll!00007fffa49afb12()    Unknown
Microsoft.ui.xaml.dll!00007fffa4867a7d()    Unknown
Microsoft.ui.xaml.dll!00007fffa489fc4f()    Unknown
Microsoft.ui.xaml.dll!00007fffa489fa72()    Unknown
Microsoft.ui.xaml.dll!00007fffa489f9ae()    Unknown
Microsoft.ui.xaml.dll!00007fffa49ec22b()    Unknown
Microsoft.ui.xaml.dll!00007fffa49ec153()    Unknown
Microsoft.ui.xaml.dll!00007fffa48776e2()    Unknown
Microsoft.ui.xaml.dll!00007fffa49df1be()    Unknown
Microsoft.ui.xaml.dll!00007fffa49df106()    Unknown
CoreMessagingXP.dll!Microsoft::WRL::Details::DelegateArgTraits<long ( Windows::Foundation::ITypedEventHandler_impl<struct Windows::Foundation::Internal::AggregateType<class Microsoft::UI::Dispatching::DispatcherQueueTimer *,struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *>,struct IInspectable *>::*)(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *)>::DelegateInvokeHelper<struct Microsoft::WRL::Implements<struct Microsoft::WRL::RuntimeClassFlags<2>,struct Windows::Foundation::ITypedEventHandler<class Microsoft::UI::Dispatching::DispatcherQueueTimer *,struct IInspectable *>,class Microsoft::WRL::FtmBase>,class <lambda_82cf8073f4f042d1a68771c460cb9f49>,-1,struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *>::Invoke(struct Microsoft::UI::Dispatching::IDispatcherQueueTimer *,struct IInspectable *)  Unknown
CoreMessagingXP.dll!Microsoft::WRL::InvokeTraits<-2>::InvokeDelegates<class <lambda_1e854da9c9ccd42f6138c3b007a32877>,struct Windows::Foundation::ITypedEventHandler<class Microsoft::UI::Dispatching::DispatcherQueueTimer *,struct IInspectable *> >(class <lambda_1e854da9c9ccd42f6138c3b007a32877>,class Microsoft::WRL::Details::EventTargetArray *,class Microsoft::WRL::EventSource<struct Windows::Foundation::ITypedEventHandler<class Microsoft::UI::Dispatching::DispatcherQueueTimer *,struct IInspectable *>,struct Microsoft::WRL::InvokeModeOptions<-2> > *) Unknown
CoreMessagingXP.dll!Microsoft::UI::Dispatching::DispatcherQueueTimer::TimerCallback(void *) Unknown
CoreMessagingXP.dll!CFlat::SehSafe::Execute<<lambda_654db17c35df07198786f0867aa10de6>>()    Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::TimeoutHandler::ImportAdapter$(class CFlat::Box$1<struct CFlat::FunctionPointerAndUserData$1<long (*)(void *)> > *)    Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::TimeoutManager::Callback_OnDispatch(void)  Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::Dispatcher::Callback_DispatchNextItem(void)    Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::EventLoop::Callback_RunCoreLoop(enum Microsoft::CoreUI::Dispatch::RunMode) Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::SystemCoreMessaging::Callback_OnGroupDispatch(enum Microsoft::CoreUI::Dispatch::SystemCoreMessaging$GroupPriority,struct CFlat::Ref<struct System::IntPtr>)    Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::SystemCoreMessaging::NoContext_GroupDispatchHandler(enum Microsoft::CoreUI::Dispatch::SystemCoreMessaging$GroupPriority,void *)    Unknown
CoreMessagingXP.dll!Microsoft::CoreUI::Dispatch::SystemCoreMessaging::NoContext_NormalPriorityDispatchHandler(void *)   Unknown
CoreMessaging.dll!00007ff850fc5e1f()    Unknown
CoreMessaging.dll!00007ff850ff7a77()    Unknown
CoreMessaging.dll!00007ff850fc996b()    Unknown
CoreMessaging.dll!00007ff850fc8e26()    Unknown
CoreMessaging.dll!00007ff850fc7061()    Unknown
CoreMessaging.dll!00007ff850fc6e83()    Unknown
user32.dll!00007ff85582e7e8()   Unknown
user32.dll!00007ff85582e36c()   Unknown
user32.dll!00007ff855840f93()   Unknown
ntdll.dll!KiUserCallbackDispatcherContinue()   Unknown
win32u.dll!00007ff854761104()   Unknown
user32.dll!00007ff855841f0e()   Unknown
Microsoft.ui.xaml.dll!00007fffa4a0ecd3()    Unknown
Microsoft.ui.xaml.dll!00007fffa4a0ee62()    Unknown
Microsoft.ui.xaml.dll!00007fffa4a0ebb3()    Unknown
[Managed to Native Transition]  
Microsoft.WinUI.dll!ABI.Microsoft.UI.Xaml.IApplicationStatics.Microsoft.UI.Xaml.IApplicationStatics.Start(Microsoft.UI.Xaml.ApplicationInitializationCallback callback) Unknown
Microsoft.WinUI.dll!Microsoft.UI.Xaml.Application.Start(Microsoft.UI.Xaml.ApplicationInitializationCallback callback)   Unknown

Commerce.Windows.Desktop.dll!Commerce.Program.Main(string[] args) Line 31 C# [Native to Managed Transition]
hostpolicy.dll!00007fffeb562993() Unknown hostpolicy.dll!00007fffeb562c07() Unknown hostpolicy.dll!00007fffeb56354e() Unknown hostfxr.dll!00007ff83c89b539() Unknown hostfxr.dll!00007ff83c89e506() Unknown hostfxr.dll!00007ff83c8a0821() Unknown hostfxr.dll!00007ff83c89eb62() Unknown hostfxr.dll!00007ff83c8982ab() Unknown Commerce.Windows.Desktop.exe!exe_start(const int argc, const wchar_t argv) Line 236 C++ Commerce.Windows.Desktop.exe!wmain(const int argc, const wchar_t argv) Line 302 C++ [Inline Frame] Commerce.Windows.Desktop.exe!invoke_main() Line 90 C++ Commerce.Windows.Desktop.exe!__scrt_common_main_seh() Line 288 C++ kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown

nickrandolph commented 2 years ago

@jeromelaban I've just run up the latest commerce sample running on winui in release mode and this issue has been resolved

jeromelaban commented 2 years ago

Indeed it has, let's close.