I installed the trial version of Xamarin controls and followed the getting started tutorial to add the XamFunnelChart to the page. The control renders successfully but as soon as one navigates away from the page, either by closing it or navigating to another page, the entire app crashes. This also happens in your sample project, which is out of date, but after fixing references and a few small things, and upgrading the nuget packages, notably Xamarin Forms 4.2.0.848062, it crashes with this crash report as soon as you select another tab or navigate away from the page:
[0:] 00.002 >>> SamplesViewPage opening sample XAML code view: Views.FunnelCharts.FunnelChartDataBinding[0:] 00.002 >>> SamplesViewPage removing sample view: FunnelChartDataBinding
================================================================= Native Crash Reporting=================================================================Got a SIGSEGV while executing native code. This usually indicatesa fatal error in the mono runtime or one of the native libraries used by your application.=================================================================
================================================================= Native stacktrace:================================================================= 0x101dc57a5 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Samples.Browser.iOS : mono_dump_native_crash_info 0x101db9df5 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Samples.Browser.iOS : mono_handle_native_crash 0x101dcbfb1 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Samples.Browser.iOS : mono_sigsegv_signal_handler_debug 0x7fff518c5b5d - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_platform.dylib : _sigtramp 0x7ffeedf7bf90 - Unknown 0x1025fdb65 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Frameworks/libSkiaSharp.framework/libSkiaSharp : gr_glinterface_has_extension 0x1025fdb01 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Frameworks/libSkiaSharp.framework/libSkiaSharp : gr_glinterface_has_extension 0x102601b70 - /Users/dragansfs/Library/Developer/CoreSimulator/Devices/E553C71F-7084-47A2-B7D2-070872F24D24/data/Containers/Bundle/Application/1E633BBE-21E8-4DDF-A58C-6BCEE7A57283/Samples.Browser.iOS.app/Frameworks/libSkiaSharp.framework/libSkiaSharp : gr_glinterface_has_extension 0x112ead2d1 - Unknown 0x112f3518b - Unknown
================================================================= Basic Fault Address Reporting=================================================================Memory around native instruction pointer (0x1026029e5):0x1026029d5 e8 a6 ee 05 00 4d 89 b5 e0 00 00 00 49 8b 46 48 .....M......I.FH0x1026029e5 48 8b 00 49 89 85 f0 00 00 00 49 8b 9d e8 00 00 H..I......I.....0x1026029f5 00 49 89 9d f8 00 00 00 41 8b 86 10 11 00 00 41 .I......A......A0x102602a05 89 85 00 01 00 00 66 41 c7 85 04 01 00 00 00 00 ......fA........
================================================================= Managed Stacktrace:================================================================= at <unknown> <0xffffffff> at SkiaSharp.SkiaApi:sk_canvas_draw_color <0x00160> at SkiaSharp.SKCanvas:DrawColor <0x000c2> at Infragistics.Portable.Controls.SkiaSharpCanvasRenderer:ClearRectangle <0x000ba> at Infragistics.Portable.RenderingContext:ClearRectangle <0x000e3> at Infragistics.Controls.Charts.Implementation.XamFunnelView:ClearMessageReceived <0x002ca> at Infragistics.Controls.Charts.Messaging.Implementation.MessageHandler:MessageReceived <0x00112> at Infragistics.Controls.Charts.Implementation.XamFunnelView:MessageReceived <0x00082> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendMessage <0x000a1> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendToNext <0x000aa> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendMessage <0x000a1> at Infragistics.Controls.Charts.Implementation.XamFunnelController:SendClearMessage <0x00152> at Infragistics.Controls.Charts.Implementation.XamFunnelController:DisplayFrame <0x000da> at Infragistics.Controls.Charts.Implementation.XamFunnelController:Plot <0x0063a> at Infragistics.Controls.Charts.Implementation.XamFunnelController:RefreshVisuals <0x004c2> at Infragistics.Controls.Charts.Implementation.XamFunnelController:MessageReceived <0x001ca> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendMessage <0x000a1> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendToNext <0x000aa> at Infragistics.Controls.Charts.Messaging.Implementation.MessageChannel:SendMessage <0x000a1> at Infragistics.Controls.Charts.Implementation.XamFunnelChart:OnPropertyChanged <0x0051a> at <>c:<.cctor>b__308_22 <0x0013a> at Infragistics.Portable.Components.DependencyObject:SetValue <0x00418> at Infragistics.Controls.Charts.Implementation.XamFunnelChart:set_Legend <0x0008a> at Infragistics.Controls.Charts.FunnelChartView:set_Legend <0x0011a> at Infragistics.XamarinForms.Controls.Charts.XamFunnelChartMediator`2:OnElementChangedImpl <0x0027a> at Infragistics.XamarinForms.Controls.Charts.XamFunnelChartMediator`2:OnElementChanged <0x0130a> at Infragistics.XamarinForms.Controls.Charts.XamFunnelChartMediator`2:set_XamarinFormElement <0x00187> at Infragistics.XamarinForms.Controls.Charts.XamFunnelChartRenderer:OnElementChanged <0x0027a> at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1:SetElement <0x00b1f> at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1:Dispose <0x00362> at Xamarin.Forms.Platform.iOS.ViewRenderer`2:Dispose <0x0028a> at Infragistics.XamarinForms.Controls.Charts.XamFunnelChartRenderer:Dispose <0x0007a> at Foundation.NSObject:Dispose <0x00074> at Xamarin.Forms.Platform.iOS.VisualElementPackager:Dispose <0x002c5> at Xamarin.Forms.Platform.iOS.VisualElementPackager:Dispose <0x00071> at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1:Dispose <0x0024a> at Foundation.NSObject:Dispose <0x00074> at Xamarin.Forms.Platform.iOS.VisualElementPackager:Dispose <0x002c5> at Xamarin.Forms.Platform.iOS.VisualElementPackager:Dispose <0x00071> at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1:Dispose <0x0024a> at Foundation.NSObject:Dispose <0x00074> at Xamarin.Forms.Platform.iOS.VisualElementPackager:OnChildRemoved <0x002cd> at Xamarin.Forms.Platform.iOS.VisualElementPackager:OnChildRemoved <0x00120> at Xamarin.Forms.Element:OnChildRemoved <0x00143> at Xamarin.Forms.VisualElement:OnChildRemoved <0x00092> at Xamarin.Forms.Layout`1:OnChildRemoved <0x00082> at Xamarin.Forms.Layout:OnInternalRemoved <0x00160> at Xamarin.Forms.Layout:InternalChildrenOnCollectionChanged <0x0026a> at <Module>:invoke_void_object_NotifyCollectionChangedEventArgs <0x00187> at System.Collections.ObjectModel.ObservableCollection`1:OnCollectionChanged <0x000fa> at System.Collections.ObjectModel.ObservableCollection`1:OnCollectionChanged <0x00103> at System.Collections.ObjectModel.ObservableCollection`1:RemoveItem <0x0018a> at System.Collections.ObjectModel.Collection`1:Remove <0x001e5> at Xamarin.Forms.ObservableWrapper`2:Remove <0x00262> at Samples.Browser.SamplesViewPage:DisposeView <0x002f8> at Samples.Browser.SamplesViewPage:UpdateView <0x000ba> at Samples.Browser.SamplesViewPage:OpenSampleXamlView <0x0029a> at <>c__DisplayClass0_0:<.ctor>b__0 <0x00135> at Xamarin.Forms.Command:Execute <0x00079> at Infragistics.Framework.ImageButton:OnViewTapped <0x00a6a> at Xamarin.Forms.TapGestureRecognizer:SendTapped <0x002c0> at <>c__DisplayClass13_0:<CreateRecognizerHandler>b__0 <0x00552> at Callback:Activated <0x00079> at <Module>:runtime_invoke_void__this___object <0x000eb> at <unknown> <0xffffffff> at UIKit.UIApplication:UIApplicationMain <0x00251> at UIKit.UIApplication:Main <0x000b2> at UIKit.UIApplication:Main <0x00132> at Samples.Browser.iOS.Application:Main <0x0015a> at <Module>:runtime_invoke_void_object <0x00352>=================================================================
Hello,
Thank you for reporting this. A similar issue was found with Xamarin.Forms version 4 or greater. I would kindly recommend staying on version 2.4 if possible since it's our latest supported version despite the fact that it may cause compatibility issues with either Android or iOS.
There is a work around for DataChart if you clear and remove any series or axis before switching away. I'm not quite sure what could be done about the Funnel Chart at this moment but I'll have to reproduce the behavior first.
I'll let our development team know of this issue though since does seem to be a breaking change with the latest Xamarin.Forms versions.
Should this be done in onDisappearing?
Well, it depends on your scenario, for me Initially I try on OnDissappearing but it creates a problem for me in child pages so I choose OnNavigatedFrom (Using Prism).
I recommend upgrading to 20.1. We fixed these issues without the need of any work arounds.