microsoft / microsoft-ui-xaml

Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MIT License
6.36k stars 678 forks source link

AnimatedIcon break AoT when used in a style in a class library #9980

Closed dotMorten closed 1 month ago

dotMorten commented 1 month ago

Describe the bug

I ported the TitleBar control from the preview to C#, but my app started crashing in AoT mode. I isolated it to the AnimatedIcon control used in a style.

When launching the app I'm met with the following runtime exception: image

This only happens when PublishAoT=true.

Steps to reproduce the bug

  1. Unzip the following repro: src.zip
  2. Run the app (x64, debug)
  3. Observe the exception
  4. In WinUIEx\Themes\Generic.xaml, remove AnimatedIcon from the style and note the problem goes away.
  5. You can also turn off PublishAoT and problem goes away. Also note that I'm not even referencing anything in the class library. The mere reference reproduces the problem. Similarly if you add a package reference WinUIEx v2.4.0, you'll see the exact same error.

Also more curious is that the callstack points to NavigationView as well, and removing that from MainPage also seem to avoid the crash.

Expected behavior

No crash :-)

Screenshots

No response

NuGet package version

WinUI 3 - Windows App SDK 1.6.0: 1.6.240829007

Windows version

Windows 11 (22H2): Build 22621

Additional context

Stacktrace:

combase.dll!77774f54()
[Frames below may be incorrect and/or missing, no symbols loaded for combase.dll]
Microsoft.ui.xaml.dll!FailFastWithStowedExceptions(HRESULT hrError, unsigned long cStowedExceptions, _STOWED_EXCEPTION_INFORMATION_V2 * * aStowedExceptionPointers) Line 1507
    at C:\__w\1\s\dxaml\xcp\components\base\ErrorContext.cpp(1507)
Microsoft.ui.xaml.dll!DirectUI::DependencyPropertyHandle::GetDP() Line 44
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\DependencyPropertyHandle.cpp(44)
Microsoft.ui.xaml.dll!DirectUI::DependencyObject::SetValue(ABI::Microsoft::UI::Xaml::IDependencyProperty * pDP, IInspectable * pValue) Line 3048
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\DependencyObject.cpp(3048)
Microsoft.UI.Xaml.Controls.dll!winrt::impl::consume_Microsoft_UI_Xaml_IDependencyObject<ParallaxView>::SetValue(const winrt::Microsoft::UI::Xaml::DependencyProperty & dp, const winrt::Windows::Foundation::IInspectable & value) Line 940
    at C:\__w\1\s\BuildOutput\obj\x86fre\controls\dev\dll\generated\winrt\Microsoft.UI.Xaml.h(940)
[Inline Frame] Microsoft.UI.Xaml.Controls.dll!AnimatedIconProperties::Source(const winrt::Microsoft::UI::Xaml::Controls::IAnimatedVisualSource2 &) Line 136
    at C:\__w\1\s\controls\dev\Generated\AnimatedIcon.properties.cpp(136)
Microsoft.UI.Xaml.Controls.dll!winrt::impl::produce<AnimatedIcon,winrt::Microsoft::UI::Xaml::Controls::IAnimatedIcon>::put_Source(void * value) Line 28309
    at C:\__w\1\s\BuildOutput\obj\x86fre\controls\dev\dll\generated\winrt\Microsoft.UI.Xaml.Controls.h(28309)
Microsoft.UI.Xaml.Controls.dll!winrt::impl::consume_Microsoft_UI_Xaml_Controls_IControlOverrides<winrt::Microsoft::UI::Xaml::Controls::IControlOverrides>::OnPointerPressed(const winrt::Microsoft::UI::Xaml::Input::PointerRoutedEventArgs & e) Line 5752
    at C:\__w\1\s\BuildOutput\obj\x86fre\controls\dev\dll\generated\winrt\Microsoft.UI.Xaml.Controls.h(5752)
Microsoft.UI.Xaml.Controls.dll!NavigationView::CreateAndHookEventsToSettings() Line 1311
    at C:\__w\1\s\controls\dev\NavigationView\NavigationView.cpp(1311)
Microsoft.UI.Xaml.Controls.dll!NavigationView::UpdateFooterRepeaterItemsSource(bool sourceCollectionReset, bool sourceCollectionChanged) Line 868
    at C:\__w\1\s\controls\dev\NavigationView\NavigationView.cpp(868)
Microsoft.UI.Xaml.Controls.dll!NavigationView::UpdatePaneDisplayMode() Line 4343
    at C:\__w\1\s\controls\dev\NavigationView\NavigationView.cpp(4343)
Microsoft.UI.Xaml.Controls.dll!NavigationView::OnApplyTemplate() Line 695
    at C:\__w\1\s\controls\dev\NavigationView\NavigationView.cpp(695)
Microsoft.UI.Xaml.Controls.dll!winrt::impl::produce<NavigationView,winrt::Microsoft::UI::Xaml::IFrameworkElementOverrides>::OnApplyTemplate() Line 9228
    at C:\__w\1\s\BuildOutput\obj\x86fre\controls\dev\dll\generated\winrt\Microsoft.UI.Xaml.h(9228)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElementGenerated::OnApplyTemplateProtected() Line 1144
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\FrameworkElement.g.cpp(1144)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElement::OnApplyTemplateFromCore(CFrameworkElement * nativeTarget) Line 184
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FrameworkElement_Partial.cpp(184)
[Inline Frame] Microsoft.ui.xaml.dll!FxCallbacks::FrameworkElement_OnApplyTemplate(CFrameworkElement *) Line 748
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FxCallbacks.cpp(748)
Microsoft.ui.xaml.dll!CFrameworkElement::InvokeApplyTemplate(unsigned char * bAddedVisuals) Line 1233
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1233)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1498
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1498)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CGrid::MeasureCell(CUIElement * const child, const CellUnitTypes rowHeightTypes, const CellUnitTypes columnWidthTypes, const bool forceRowToInfinity, const float rowSpacing, const float columnSpacing) Line 468
    at C:\__w\1\s\dxaml\xcp\core\core\elements\grid.cpp(468)
Microsoft.ui.xaml.dll!CGrid::MeasureCellsGroup(unsigned int cellsHead, unsigned int cellCount, const float rowSpacing, const float columnSpacing, const bool ignoreColumnDesiredSize, const bool forceRowToInfinity, Jupiter::stack_vector<CellCache,16> & cellCacheVector) Line 349
    at C:\__w\1\s\dxaml\xcp\core\core\elements\grid.cpp(349)
Microsoft.ui.xaml.dll!CGrid::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 1235
    at C:\__w\1\s\dxaml\xcp\core\core\elements\grid.cpp(1235)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CContentPresenter::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 851
    at C:\__w\1\s\dxaml\xcp\core\core\elements\contentpresenter.cpp(851)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CControl::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 417
    at C:\__w\1\s\dxaml\xcp\core\core\elements\control.cpp(417)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureOverrideForPInvoke(XSIZEF availableSize, XSIZEF * pDesiredSize) Line 1429
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1429)
[Inline Frame] Microsoft.ui.xaml.dll!CoreImports::FrameworkElement_MeasureOverride(CFrameworkElement *) Line 546
    at C:\__w\1\s\dxaml\xcp\core\dll\CoreImports.cpp(546)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElement::MeasureOverrideImpl(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * returnValue) Line 203
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FrameworkElement_Partial.cpp(203)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElementGenerated::MeasureOverride(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 1079
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\FrameworkElement.g.cpp(1079)
Microsoft.ui.xaml.dll!DirectUI::ContentControl::MeasureOverride(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 41
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\ContentControl_Partial.cpp(41)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 1102
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\FrameworkElement.g.cpp(1102)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElement::MeasureOverrideFromCore(CFrameworkElement * nativeTarget, float inWidth, float inHeight, float * outWidth, float * outHeight) Line 246
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FrameworkElement_Partial.cpp(246)
[Inline Frame] Microsoft.ui.xaml.dll!FxCallbacks::FrameworkElement_MeasureOverride(CFrameworkElement *) Line 742
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FxCallbacks.cpp(742)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1581
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1581)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CBorder::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 236
    at C:\__w\1\s\dxaml\xcp\core\core\elements\border.cpp(236)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
[Inline Frame] Microsoft.ui.xaml.dll!CoreImports::UIElement_Measure(CUIElement *) Line 739
    at C:\__w\1\s\dxaml\xcp\core\dll\CoreImports.cpp(739)
Microsoft.ui.xaml.dll!DirectUI::UIElement::MeasureImpl(ABI::Windows::Foundation::Size availableSize) Line 296
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\UIElement_Partial.cpp(296)
Microsoft.ui.xaml.dll!DirectUI::UIElementGenerated::Measure(ABI::Windows::Foundation::Size availableSize) Line 4420
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\UIElement.g.cpp(4420)
Microsoft.ui.xaml.dll!DirectUI::ScrollContentPresenter::MeasureOverride(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 1854
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\ScrollContentPresenter_Partial.cpp(1854)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 1102
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\FrameworkElement.g.cpp(1102)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElement::MeasureOverrideFromCore(CFrameworkElement * nativeTarget, float inWidth, float inHeight, float * outWidth, float * outHeight) Line 246
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FrameworkElement_Partial.cpp(246)
[Inline Frame] Microsoft.ui.xaml.dll!FxCallbacks::FrameworkElement_MeasureOverride(CFrameworkElement *) Line 742
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FxCallbacks.cpp(742)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1581
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1581)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
[Inline Frame] Microsoft.ui.xaml.dll!CoreImports::UIElement_Measure(CUIElement *) Line 739
    at C:\__w\1\s\dxaml\xcp\core\dll\CoreImports.cpp(739)
Microsoft.ui.xaml.dll!DirectUI::UIElement::MeasureImpl(ABI::Windows::Foundation::Size availableSize) Line 296
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\UIElement_Partial.cpp(296)
Microsoft.ui.xaml.dll!DirectUI::UIElementGenerated::Measure(ABI::Windows::Foundation::Size availableSize) Line 4420
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\UIElement.g.cpp(4420)
Microsoft.ui.xaml.dll!DirectUI::ScrollViewer::MeasureOverride(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pDesired) Line 1968
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\ScrollViewer_Partial.cpp(1968)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected(ABI::Windows::Foundation::Size availableSize, ABI::Windows::Foundation::Size * pReturnValue) Line 1102
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\FrameworkElement.g.cpp(1102)
Microsoft.ui.xaml.dll!DirectUI::FrameworkElement::MeasureOverrideFromCore(CFrameworkElement * nativeTarget, float inWidth, float inHeight, float * outWidth, float * outHeight) Line 246
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FrameworkElement_Partial.cpp(246)
[Inline Frame] Microsoft.ui.xaml.dll!FxCallbacks::FrameworkElement_MeasureOverride(CFrameworkElement *) Line 742
    at C:\__w\1\s\dxaml\xcp\dxaml\lib\FxCallbacks.cpp(742)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1581
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1581)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CXamlIslandRoot::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 925
    at C:\__w\1\s\dxaml\xcp\core\core\elements\XamlIslandRoot.cpp(925)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CXamlIslandRootCollection::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 25
    at C:\__w\1\s\dxaml\xcp\core\core\elements\XamlIslandRootCollection.cpp(25)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CRootVisual::MeasureOverride(XSIZEF availableSize, XSIZEF & desiredSize) Line 90
    at C:\__w\1\s\dxaml\xcp\core\core\elements\rootvisual.cpp(90)
Microsoft.ui.xaml.dll!CFrameworkElement::MeasureCore(XSIZEF availableSize, XSIZEF & desiredSize) Line 1598
    at C:\__w\1\s\dxaml\xcp\core\core\elements\framework.cpp(1598)
Microsoft.ui.xaml.dll!CUIElement::MeasureInternal(XSIZEF availableSize) Line 4122
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(4122)
Microsoft.ui.xaml.dll!CUIElement::Measure(XSIZEF availableSize) Line 3956
    at C:\__w\1\s\dxaml\xcp\core\core\elements\uielement.cpp(3956)
Microsoft.ui.xaml.dll!CLayoutManager::UpdateLayout(unsigned int controlWidth, unsigned int controlHeight) Line 311
    at C:\__w\1\s\dxaml\xcp\core\layout\layoutmanager.cpp(311)
Microsoft.ui.xaml.dll!CCoreServices::NWDrawTree(HWWalk * pHWWalk, CWindowRenderTarget * pRenderTarget, VisualTree * pVisualTree, bool forceRedraw, bool * pFrameDrawn) Line 6121
    at C:\__w\1\s\dxaml\xcp\core\dll\xcpcore.cpp(6121)
Microsoft.ui.xaml.dll!CCoreServices::NWDrawMainTree(CWindowRenderTarget * pIRenderTarget, bool forceRedraw, bool * pFrameDrawn) Line 5922
    at C:\__w\1\s\dxaml\xcp\core\dll\xcpcore.cpp(5922)
Microsoft.ui.xaml.dll!CWindowRenderTarget::Draw(CCoreServices * forceRedraw, bool pFrameDrawn, bool *) Line 129
    at C:\__w\1\s\dxaml\xcp\core\compositor\windowrendertarget.cpp(129)
Microsoft.ui.xaml.dll!CXcpBrowserHost::OnTick() Line 339
    at C:\__w\1\s\dxaml\xcp\host\win\browserdesktop\WinBrowserHost.cpp(339)
Microsoft.ui.xaml.dll!CXcpDispatcher::Tick() Line 1128
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(1128)
Microsoft.ui.xaml.dll!CXcpDispatcher::OnReentrancyProtectedWindowMessage(unsigned int msg, unsigned int lParam, long) Line 741
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(741)
Microsoft.ui.xaml.dll!CXcpDispatcher::ProcessMessage(unsigned int msg, unsigned int wParam, long lParam) Line 604
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(604)
Microsoft.ui.xaml.dll!CDeferredInvoke::DispatchQueuedMessage(bool * dispatchedWork, bool * hasMoreWork) Line 147
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(147)
Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallback() Line 1215
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(1215)
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::MessageTimerCallbackStatic(void *) Line 1203
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(1203)
[Inline Frame] Microsoft.ui.xaml.dll!CXcpDispatcher::Init::__l46::<lambda_1>::operator()(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *) Line 313
    at C:\__w\1\s\dxaml\xcp\win\shared\xcpwindow.cpp(313)
Microsoft.ui.xaml.dll!Microsoft::WRL::Details::DelegateArgTraits<long (__stdcall ABI::Windows::Foundation::ITypedEventHandler_impl<ABI::Windows::Foundation::Internal::AggregateType<ABI::Microsoft::UI::Dispatching::DispatcherQueueTimer *,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *>,IInspectable *>::*)(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *)>::DelegateInvokeHelper<Microsoft::WRL::Implements<Microsoft::WRL::RuntimeClassFlags<2>,ABI::Windows::Foundation::ITypedEventHandler<ABI::Microsoft::UI::Dispatching::DispatcherQueueTimer *,IInspectable *>,Microsoft::WRL::FtmBase>,`CXcpDispatcher::Init'::`46'::<lambda_1> &,1,ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer *,IInspectable *>::Invoke(ABI::Microsoft::UI::Dispatching::IDispatcherQueueTimer * <args_0>, IInspectable * <args_1>) Line 354
    at C:\__w\1\s\packages\Microsoft.Windows.SDK.cpp.10.0.22621.755\c\Include\10.0.22621.0\winrt\wrl\event.h(354)
github-actions[bot] commented 1 month ago

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one. Thank you!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

Sergio0694 commented 1 month ago

cc. @manodasanw FWI this seems possibly related to CsWinRT, as it only crashes with PublishAot set 🤔

dotMorten commented 1 month ago

Rebuilding everything with 1.6 and CSWinRT added, the problem does go away. The error message you get is pretty terrible though. CSWinRT does point out the need for partial added, but that's only if you realize you need CSWinRT explicitly referenced.