dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.2k stars 1.75k forks source link

Application crash on setting icon on toolbar item #25534

Open jdarwood007 opened 1 week ago

jdarwood007 commented 1 week ago

Description

My app sets a icon for a tool. The icon binding is inside a view model. The crash only happens with a specific setup and steps. I've linked to a test app that I can reliably cause it to crash.

2024-10-25 12:49:35.522451-0700 MauiApp6[28083:148689] System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Maui.ImageSourceExtensions.GetPlatformImageAsync(IImageSource imageSource, IMauiContext mauiContext)
2024-10-25 12:49:35.522702-0700 MauiApp6[28083:148689]    at Microsoft.Maui.ImageSourceExtensions.LoadImage(IImageSource source, IMauiContext mauiContext, Action`1 finished)
   at Microsoft.Maui.Controls.Compatibility.Platform.iOS.ToolbarItemExtensions.PrimaryToolbarItem.UpdateIconAndStyle(ToolbarItem item)
2024-10-25 12:49:35.522923-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.Compatibility.Platform.iOS.ToolbarItemExtensions.PrimaryToolbarItem.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
   at Microsoft.Maui.Controls.BindableObject.OnPropertyChanged(String propertyName)
2024-10-25 12:49:35.523087-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.Element.OnPropertyChanged(String propertyName)
   at Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty property, BindablePropertyContext context, Object value, Boolean currentlyApplying, SetValueFlags attributes, SetterSpecificity specificity, Boolean silent)
2024-10-25 12:49:35.523227-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes, SetterSpecificity specificity)
2024-10-25 12:49:35.523349-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.BindingExpression.ApplyCore(Object sourceObject, BindableObject target, BindableProperty property, Boolean fromTarget, SetterSpecificity specificity)
   at Microsoft.Maui.Controls.BindingExpression.Apply(Boolean fromTarget)
2024-10-25 12:49:35.523470-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.BindingExpression.BindingExpressionPart.<PropertyChanged>b__50_0()
   at Microsoft.Maui.Controls.DispatcherExtensions.DispatchIfRequired(IDispatcher dispatcher, Action action)
2024-10-25 12:49:35.523576-0700 MauiApp6[28083:148689]    at Microsoft.Maui.Controls.BindingExpression.BindingExpressionPart.PropertyChanged(Object sender, PropertyChangedEventArgs args)
   at Microsoft.Maui.Controls.BindingExpression.WeakPropertyChangedProxy.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
   at CommunityToolkit.Mvvm.ComponentModel.ObservableObject.OnPropertyChanged(PropertyChangedEventArgs e)
2024-10-25 12:49:35.523734-0700 MauiApp6[28083:148689]    at MauiApp6.AddViewModel.set_NoteIcon(String value) in C:\Users\jeremy\source\test\MauiApp6\MauiApp6\obj\Debug
et8.0-ios\iossimulator-arm64\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.ObservablePropertyGenerator\MauiApp6.AddViewModel.g.cs:line 25

I compiled the iOS code on XCode 16 on Mac OS Sonoma (14.5) on a M1 Mac. This does not crash Android

At first I thought this was related to the Mvvm tool kit, but I can get it to crash using just the native INotifyPropertyChanged I've included both in my rest repo.

The error I get with this is:

2024-10-25 13:20:21.314238-0700 MauiApp6[31889:181305] System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Maui.ImageSourceExtensions.GetPlatformImageAsync(IImageSource imageSource, IMauiContext mauiContext)
2024-10-25 13:20:21.314556-0700 MauiApp6[31889:181305]    at Microsoft.Maui.ImageSourceExtensions.LoadImage(IImageSource source, IMauiContext mauiContext, Action`1 finished)
   at Microsoft.Maui.Controls.Compatibility.Platform.iOS.ToolbarItemExtensions.PrimaryToolbarItem.UpdateIconAndStyle(ToolbarItem item)
2024-10-25 13:20:21.314828-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.Compatibility.Platform.iOS.ToolbarItemExtensions.PrimaryToolbarItem.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
   at Microsoft.Maui.Controls.BindableObject.OnPropertyChanged(String propertyName)
2024-10-25 13:20:21.315031-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.Element.OnPropertyChanged(String propertyName)
   at Microsoft.Maui.Controls.BindableObject.SetValueActual(BindableProperty property, BindablePropertyContext context, Object value, Boolean currentlyApplying, SetValueFlags attributes, SetterSpecificity specificity, Boolean silent)
2024-10-25 13:20:21.315194-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.BindableObject.SetValueCore(BindableProperty property, Object value, SetValueFlags attributes, SetValuePrivateFlags privateAttributes, SetterSpecificity specificity)
2024-10-25 13:20:21.315346-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.BindingExpression.ApplyCore(Object sourceObject, BindableObject target, BindableProperty property, Boolean fromTarget, SetterSpecificity specificity)
   at Microsoft.Maui.Controls.BindingExpression.Apply(Boolean fromTarget)
2024-10-25 13:20:21.315493-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.BindingExpression.BindingExpressionPart.<PropertyChanged>b__50_0()
   at Microsoft.Maui.Controls.DispatcherExtensions.DispatchIfRequired(IDispatcher dispatcher, Action action)
2024-10-25 13:20:21.315627-0700 MauiApp6[31889:181305]    at Microsoft.Maui.Controls.BindingExpression.BindingExpressionPart.PropertyChanged(Object sender, PropertyChangedEventArgs args)
   at Microsoft.Maui.Controls.BindingExpression.WeakPropertyChangedProxy.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
2024-10-25 13:20:21.315731-0700 MauiApp6[31889:181305]    at MauiApp6.AddViewModel.OnPropertyChanged(String propertyName) in C:\Users\jeremy\source\test\MauiApp6\MauiApp6\AddViewModel.cs:line 64
2024-10-25 13:20:21.342731-0700 MauiApp6[31889:181305] [MauiApp6] IIOImageSource:439: *** ERROR: can't open '/Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/0439438F-E562-4B4F-8843-4AD1F3808A60/MauiApp6.app/button_note'  (fileExists == false)
2024-10-25 13:20:21.350382-0700 MauiApp6[31889:181305] [MauiApp6] IIOImageSource:439: *** ERROR: can't open '/Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/0439438F-E562-4B4F-8843-4AD1F3808A60/MauiApp6.app/button_note'  (fileExists == false)

Which seems to indicate that the button_note file is not found. However this works to set it the first time around.

Checking the directory, the file exists, with the appropriate extension:

jeremy@macmini ~ % ls /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/0439438F-E562-4B4F-8843-4AD1F3808A60/MauiApp6.app | grep 'button_note'
button_note.png
button_note@2x.png
button_note@3x.png

I'm unsure if related, but at one point, I did get a sigsegv crash testing this

    Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
    Native stacktrace:
=================================================================
    0x106ef818c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_dump_native_crash_info
    0x106ea8378 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_handle_native_crash
    0x106e0f8b8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_sigsegv_signal_handler_debug
    0x1055637e0 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
    0x105b3cf0c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_ss_update
    0x105b3cba8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_process_single_step
    0x105b34280 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : debugger_agent_single_step_from_context
    0x104bfc8e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : sdb_single_step_trampoline
    0x106f0654c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_debugger_tramp
    0x106f04690 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcec50 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_try_invoke
    0x105b2a0cc - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_do_invoke_method
    0x105b26d44 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : suspend_current
    0x105b29280 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : process_event
    0x105b28a24 - /Users/jeremy/Library/Developer/CoreSimu
lator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_dbg_process_breakpoint_events
    0x105b3dde0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_process_breakpoint
    0x105b34388 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : debugger_agent_breakpoint_from_context
    0x104bfc9e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : sdb_breakpoint_trampoline
    0x106f0654c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_debugger_tramp
    0x106f046d8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcec50 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_try_invoke
    0x106fd1cc8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_invoke
    0x104c237ac - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : _ZL30native_to_managed_trampoline_9P11objc_objectP13objc_selectorPP11_MonoMethodj
    0x104c75f60 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : -[UIKit_UIControlEventProxy BridgeSelector]
    0x185aa7fa0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication sendAction:to:from:forEvent:]
    0x185384c1c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl sendAction:to:forEvent:]
    0x185384f60 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl _sendActionsForEvents:withEvent:]
    0x1853819d8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIButton _sendActionsForEvents:withEvent:]
    0x185383bf8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl touchesEnded:withEvent:]
    0x185adb7b8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIWindow _sendTouchesForEvent:]
    0x185adcbc8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIWindow sendEvent:]
    0x185abc93c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication sendEvent:]
    0x185b45664 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : __dispatchPreprocessedEventFromEventQueue
    0x185b485f4 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : __processEventQueue
    0x185b409f0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : updateCycleEntry
    0x185030388 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : _UIUpdateSequenceRun
    0x1859d22e8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : schedulerStepScheduledMainSection
    0x1859d1720 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : runloopSourceCallback
    0x18041b324 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
    0x18041b26c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoSource0
    0x18041a9d0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoSources0
    0x1804150b0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopRun
    0x180414960 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : CFRunLoopRunSpecific
    0x190183b10 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices : GSEventRunModal
    0x185aa2b40 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication _run]
    0x185aa6d38 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : UIApplicationMain
    0x1062a71e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libxamarin-dotnet-debug.dylib : xamarin_UIApplicationMain
    0x106f08a54 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_icall
    0x106f072f4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_icall_wrapper
    0x106efbd44 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcdc3c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
    0x106fd521c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_exec_main_checked
    0x106e66d78 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_exec
    0x1062e7984 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libxamarin-dotnet-debug.dylib : xamarin_main
    0x104cce47c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : main
    0x105c6d410 - Unknown
    0x1055e60e0 - Unknown
    0x904b800000000000 - Unknown

=================================================================
    Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x105b3cf18):
0x105b3cf08  39 43 00 94 f9 03 00 aa e8 1f 40 f9 08 79 7b f8  
9C........@..y
{.
0x105b3cf18  00 09 40 f9 f5 37 40 b9 
21 00 80 52 11 43 00 94  ..@
..7@.!..R.C..
0x105b3cf28  f5 03 01 a9 f9 6f 00 a9 e0 03 18 aa 19 21 00 94  .
....o.......!..

0x105b3cf38  7b 07 00 91 e8 37 80 b9 7f 03 08 
eb 2b fe ff 54  {....7..
....+..T

=================================================================
    Managed Stacktrace:
=================================================================
      at <unknown> <0xffffffff>
      at <unknown> <0xffffffff>
      at System.Runtime.CompilerServices.ObjectHandleOnStack:.ctor <0x00002>
      at System.Runtime.CompilerServices.ObjectHandleOnStack:Create <0x0001c>
      at System.RuntimeType:getFullName <0x00050>
      at System.RuntimeType:ToString <0x00026>
      at System.Exception:GetClassName <0x0002c>
      at System.Exception:ToString <0x0001c>
      at <Module>:runtime_invoke_direct_string__this__ <0x00088>
      at <unknown> <0x00000>
      at <unknown> <0xffffffff>
      at MauiApp6.AddViewModel:OnPropertyChanged <0x000b0>
      at MauiApp6.AddViewModel:SetProperty <0x000d2>
      at MauiApp6.AddViewModel:set_NoteIcon <0x00048>
      at MauiApp6.AddViewModel:SetIcon <0x0002e>
      at MauiApp6.AddPage:OnAppearing <0x00040>
      at Microsoft.Maui.Controls.Page:SendAppearing <0x0016e>
      at Microsoft.Maui.Controls.Shell:SendPageAppearing <0x00070>
      at Microsoft.Maui.Controls.ShellSection:PresentedPageAppearing <0x00184>
      at Microsoft.Maui.Controls.ShellSection:<PresentedPageAppearing>g__OnPresentedPageParentSet|89_0 <0x00016>
      at Microsoft.Maui.Controls.Element:OnParentSet <0x0004e>
      at Microsoft.Maui.Controls.NavigableElement:OnParentSet <0x0001c>
      at Microsoft.Maui.Controls.Page:OnParentSet <0x000a8>
      at Microsoft.Maui.Controls.Element:SetParent <0x004de>
      at Microsoft.Maui.Controls.Element:OnChildAdded <0x0002c>
      at Microsoft.Maui.Controls.ShellSection:OnChildAdded <0x00020>
      at Microsoft.Maui.Controls.Element:AddLogicalChild <0x0008e>
      at Microsoft.Maui.Controls.ShellSection:AddPage <0x00020>
      at Microsoft.Maui.Controls.ShellSection:OnPushAsync <0x001ca>
      at <PushStackOfPages>d__68:MoveNext <0x001e8>
      at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x00098>
      at System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start <0x00016>
      at Microsoft.Maui.Controls.ShellSection:PushStackOfPages <0x000a2>
      at <GoToAsync>d__65:MoveNext <0x010bc>
      at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x00098>
      at System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start <0x00016>
      at Microsoft.Maui.Controls.ShellSection:GoToAsync <0x000e4>
      at <GoToAsync>d__14:MoveNext <0x021e2>
      at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x00098>
      at System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start <0x00016>
      at Microsoft.Maui.Controls.ShellNavigationManager:GoToAsync <0x0009e>
      at Microsoft.Maui.Controls.ShellNavigationManager:GoToAsync <0x00028>
      at NavigationImpl:OnPushAsync <0x0013c>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:PushAsync <0x00074>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:OnPushAsync <0x000be>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:PushAsync <0x00074>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:OnPushAsync <0x000be>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:PushAsync <0x00074>
      at Microsoft.Maui.Controls.Internals.NavigationProxy:PushAsync <0x00028>
      at <OnCounterClicked>d__2:MoveNext <0x000b2>
      at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x00094>
      at System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start <0x00016>
      at MauiApp6.MainPage:OnCounterClicked <0x000aa>
      at Microsoft.Maui.Controls.Button:Microsoft.Maui.Controls.Internals.IButtonElement.PropagateUpClicked <0x0004c>
      at Microsoft.Maui.Controls.ButtonElement:ElementClicked <0x000a6>
      at Micro
soft.Maui.Controls.Button:SendClicked <0x00020>
      at Microsoft.Maui.Controls.Button:Microsoft.Maui.IButton.Clicked <0x0001e>
      at ButtonEventProxy:OnButtonTouchUpInside <0x0006c>
      at UIKit.UIControlEventProxy:Activated <0x0005c>
      at System.Object:runtime_invoke_direct_void__this__ <0x00088>
      at <unknown> <0x00000>
      at <unknown> <0xffffffff>
      at UIKit.UIApplication:xamarin_UIApplicationMain <0x000b8>
      at UIKit.UIApplication:UIApplicationMain <0x0006e>
      at UIKit.UIApplication:Main <0x00152>
      at MauiApp6.Program:Main <0x0002c>
      at <Module>:runtime_invoke_direct_void_string[] <0x0007e>
      at <unknown> <0x00000>
=================================================================

=================================================================
    Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

An error has occurred in the native fault reporting. Some diagnostic information will be unavailable.

=================================================================
    Native stacktrace:
=================================================================
    0x106ef818c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_dump_native_crash_info
    0x106ea8378 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_handle_native_crash
    0x106e0f8b8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_sigsegv_signal_handler_debug
    0x1055637e0 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
    0x105b3cf0c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_ss_update
    0x105b3cba8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_process_single_step
    0x105b34280 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : debugger_agent_single_step_from_context
    0x104bfc8e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : sdb_single_step_trampoline
    0x106f0654c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_debugger_tramp
    0x106f04690 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcec50 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_try_invoke
    0x105b2a0cc - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_do_invoke_method
    0x105b26d44 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : suspend_current
    0x105b29280 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : process_event
    0x105b28a24 - /Users/jeremy/Library/Developer/CoreSimu
lator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_dbg_process_breakpoint_events
    0x105b3dde0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : mono_de_process_breakpoint
    0x105b34388 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmono-component-debugger.dylib : debugger_agent_breakpoint_from_context
    0x104bfc9e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : sdb_breakpoint_trampoline
    0x106f0654c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_debugger_tramp
    0x106f046d8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcec50 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_try_invoke
    0x106fd1cc8 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_invoke
    0x104c237ac - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : _ZL30native_to_managed_trampoline_9P11objc_objectP13objc_selectorPP11_MonoMethodj
    0x104c75f60 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : -[UIKit_UIControlEventProxy BridgeSelector]
    0x185aa7fa0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication sendAction:to:from:forEvent:]
    0x185384c1c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl sendAction:to:forEvent:]
    0x185384f60 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl _sendActionsForEvents:withEvent:]
    0x1853819d8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIButton _sendActionsForEvents:withEvent:]
    0x185383bf8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIControl touchesEnded:withEvent:]
    0x185adb7b8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIWindow _sendTouchesForEvent:]
    0x185adcbc8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIWindow sendEvent:]
    0x185abc93c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication sendEvent:]
    0x185b45664 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : __dispatchPreprocessedEventFromEventQueue
    0x185b485f4 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : __processEventQueue
    0x185b409f0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : updateCycleEntry
    0x185030388 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : _UIUpdateSequenceRun
    0x1859d22e8 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : schedulerStepScheduledMainSection
    0x1859d1720 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : runloopSourceCallback
    0x18041b324 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
    0x18041b26c - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoSource0
    0x18041a9d0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopDoSources0
    0x1804150b0 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : __CFRunLoopRun
    0x180414960 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation : CFRunLoopRunSpecific
    0x190183b10 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices : GSEventRunModal
    0x185aa2b40 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UIApplication _run]
    0x185aa6d38 - /Library/Developer/CoreSimulator/Volumes/iOS_22A3351/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 18.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : UIApplicationMain
    0x1062a71e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libxamarin-dotnet-debug.dylib : xamarin_UIApplicationMain
    0x106f08a54 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_icall
    0x106f072f4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : do_icall_wrapper
    0x106efbd44 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_interp_exec_method
    0x106ef98e4 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : interp_runtime_invoke
    0x106e12af0 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
    0x106fcdc3c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
    0x106fd521c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_runtime_exec_main_checked
    0x106e66d78 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libmonosgen-2.0.dylib : mono_jit_exec
    0x1062e7984 - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/libxamarin-dotnet-debug.dylib : xamarin_main
    0x104cce47c - /Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/82EE64DA-D9C5-4D9E-B094-0E931556BB25/MauiApp6.app/MauiApp6 : main
    0x105c6d410 - Unknown
    0x1055e60e0 - Unknown
    0x904b800000000000 - Unknown

Exiting early due to double fault.

Steps to Reproduce

From my test repo

  1. Click on 'Go to Add page'
  2. The icon is set properly no error occurs
  3. Click the go back button.
  4. Click on the 'Go to Add page'
  5. App crash occurs on the second call to update the NoteIcon property.

Link to public reproduction project repository

https://github.com/jdarwood007/MauiAppIconCrash

Version with bug

8.0.92 SR9.2

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

iOS 17.5 (Simulator iPhone 14), iOS 15.8.3 (iPhone 6), iOS 18 (Simulator iPhone 16)

Did you find any workaround?

No response

Relevant log output

No response

jdarwood007 commented 1 week ago

Additional testing

If I comment out the call to SetProperty and have it just set a null, I still get a error.

        set
        {
            noteIcon = null;
            //SetProperty(ref noteIcon, value);
        }
2024-10-28 07:54:47.897878-0700 MauiApp6[9679:3285691] [MauiApp6] IIOImageSource:439: *** ERROR: can't open '/Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/8FE0AA34-83FD-4C3F-88B8-69B4BFDEFADB/MauiApp6.app/button_empty'  (fileExists == false)
2024-10-28 07:54:50.982529-0700 MauiApp6[9679:3285691] [MauiApp6] IIOImageSource:439: *** ERROR: can't open '/Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/8FE0AA34-83FD-4C3F-88B8-69B4BFDEFADB/MauiApp6.app/button_empty'  (fileExists == false)

The Fallbackvalue from the .xaml would be calling this

        <ToolbarItem Text="Notes" IconImageSource="{Binding NoteIcon, FallbackValue=button_empty}" />

I've tried to specify a file extension, no change.

I've installed the latest visual studio preview and upgraded to the latest (at the time) .NET 9. It does not crash, but produces the error:

2024-10-28 08:44:41.209437-0700 MauiApp6[17199:3339626] [MauiApp6] IIOImageSource:439: *** ERROR: can't open '/Users/jeremy/Library/Developer/CoreSimulator/Devices/B0940D78-2ADE-4E0D-9F93-4FE2A0A65412/data/Containers/Bundle/Application/0CA9C5C4-75ED-4638-8E41-F981404DCFF4/MauiApp6.app/button_note'  (fileExists == false)

Reverted back to .NET 8 and the crash occurs. This seems to specifically target .NET 8.

In my testing the icon still appears to be updated correctly and changes as expected on the interface if I use a try catch to ignore the null reference.

jdarwood007 commented 5 days ago

I am still trying to find a workaround here. This is holding up my app development as I can't reliably get the icon to change as app logic determines it should update.

I thought about adding some logic with a Task.Delay on the OnAppearing call using MainThread.InvokeOnMainThreadAsync. I would then remove the toolbar item and readd it. This resulted in a crash. I did some more testing and found just calling for removing the toolbar item is able to crash the app with similar errors as above

    private void CrashBtn_Clicked(object sender, EventArgs e)
    {
        ToolbarItem? noteBtn = ToolbarItems.FirstOrDefault(x => x.Text == "Notes");
        ToolbarItems.Remove(noteBtn);
    }

I tried to mess with linker settings and no workaround yet.

If I suppress the call with a try/catch, no crash but the icon does not update as expected either.