Share via

System.ObjectDisposedException: Cannot access a disposed object. Object name: ''DefaultRenderer' iOS

Bindresh Kumar 6 Reputation points
2021-01-05T11:05:42.183+00:00

Hi Team,

I need your help to fix this issue. I am struggling since 3-4 days but no luck :( . I am getting this Exception in Xamarin forms project when I am trying to launch my MasterDetail page from login page in iOS. However this is working fine in Android. I am using the latest Xamarin forms version 4.8.0.1821.

Here are the lines of code where app is crashing.

masterDetail.Detail = new SeritiNavigationPage(new HealthAndSafetyView());
App.Current.MainPage = masterDetail; The app is crashing in this line.

For navigation I am using ViewModelNavigation pattern. The same code is working fine with android version.

Exception Log:
Unhandled Exception:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'DefaultRenderer'.

at Foundation.NSObject.get_SuperHandle () [0x00012] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:394
at UIKit.UIView.RemoveFromSuperview () [0x00023] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIView.g.cs:1476
at Xamarin.Forms.Platform.iOS.NavigationRenderer+Container.Dispose (System.Boolean disposing) [0x00031] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:1707
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.NavigationRenderer+ParentingViewController.Dispose (System.Boolean disposing) [0x0007e] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:1132
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.NavigationRenderer.Dispose (System.Boolean disposing) [0x0002f] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:264
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.DisposeHelpers.DisposeModalAndChildRenderers (Xamarin.Forms.Element view) [0x000a0] in D:\a\1\s\Xamarin.Forms.Platform.iOS\DisposeHelpers.cs:43
at Xamarin.Forms.Platform.iOS.Platform.CleanUpPages () [0x00017] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:673
at Xamarin.Forms.Platform.iOS.PlatformRenderer.Dispose (System.Boolean disposing) [0x0001e] in D:\a\1\s\Xamarin.Forms.Platform.iOS\PlatformRenderer.cs:121
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.Platform.Dispose (System.Boolean disposing) [0x00013] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:75
at Xamarin.Forms.Platform.iOS.Platform.System.IDisposable.Dispose () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:61
at Xamarin.Forms.Platform.iOS.FormsApplicationDelegate.UpdateMainPage () [0x00022] in D:\a\1\s\Xamarin.Forms.Platform.iOS\FormsApplicationDelegate.cs:200
at Xamarin.Forms.Platform.iOS.FormsApplicationDelegate.ApplicationOnPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs args) [0x00012] in D:\a\1\s\Xamarin.Forms.Platform.iOS\FormsApplicationDelegate.cs:152
at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:229
at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:353
at Xamarin.Forms.Application.set_MainPage (Xamarin.Forms.Page value) [0x0008b] in D:\a\1\s\Xamarin.Forms.Core\Application.cs:93
at SeritiVisitorApp.Services.Navigation.NavigationService.InternalNavigateToAsync (System.Type viewModelType, System.Object parameter) [0x000cc] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/Services/Navigation/NavigationService.cs:106
at SeritiVisitorApp.ViewModels.LoginViewModel.SignInAsync () [0x00447] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/ViewModels/LoginViewModel.cs:69
at SeritiVisitorApp.ViewModels.LoginViewModel.b__6_0 () [0x0001f] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/ViewModels/LoginViewModel.cs:19
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSAction.cs:178
--- End of stack trace from previous location where exception was thrown ---

at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIApplication.cs:86
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIApplication.cs:65
at SeritiVisitorApp.iOS.Application.Main (System.String[] args) [0x00001] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp.iOS/Main.cs:12
2021-01-05 00:46:52.140166-0800 SeritiVisitorApp.iOS[38377:676980] Unhandled managed exception: Cannot access a disposed object.
Object name: 'DefaultRenderer'. (System.ObjectDisposedException)
at Foundation.NSObject.get_SuperHandle () [0x00012] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:394
at UIKit.UIView.RemoveFromSuperview () [0x00023] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIView.g.cs:1476
at Xamarin.Forms.Platform.iOS.NavigationRenderer+Container.Dispose (System.Boolean disposing) [0x00031] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:1707
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.NavigationRenderer+ParentingViewController.Dispose (System.Boolean disposing) [0x0007e] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:1132
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.NavigationRenderer.Dispose (System.Boolean disposing) [0x0002f] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Renderers\NavigationRenderer.cs:264
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.DisposeHelpers.DisposeModalAndChildRenderers (Xamarin.Forms.Element view) [0x000a0] in D:\a\1\s\Xamarin.Forms.Platform.iOS\DisposeHelpers.cs:43
at Xamarin.Forms.Platform.iOS.Platform.CleanUpPages () [0x00017] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:673
at Xamarin.Forms.Platform.iOS.PlatformRenderer.Dispose (System.Boolean disposing) [0x0001e] in D:\a\1\s\Xamarin.Forms.Platform.iOS\PlatformRenderer.cs:121
at Foundation.NSObject.Dispose () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSObject2.cs:144
at Xamarin.Forms.Platform.iOS.Platform.Dispose (System.Boolean disposing) [0x00013] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:75
at Xamarin.Forms.Platform.iOS.Platform.System.IDisposable.Dispose () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.iOS\Platform.cs:61
at Xamarin.Forms.Platform.iOS.FormsApplicationDelegate.UpdateMainPage () [0x00022] in D:\a\1\s\Xamarin.Forms.Platform.iOS\FormsApplicationDelegate.cs:200
at Xamarin.Forms.Platform.iOS.FormsApplicationDelegate.ApplicationOnPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs args) [0x00012] in D:\a\1\s\Xamarin.Forms.Platform.iOS\FormsApplicationDelegate.cs:152
at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:229
at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:353
at Xamarin.Forms.Application.set_MainPage (Xamarin.Forms.Page value) [0x0008b] in D:\a\1\s\Xamarin.Forms.Core\Application.cs:93
at SeritiVisitorApp.Services.Navigation.NavigationService.InternalNavigateToAsync (System.Type viewModelType, System.Object parameter) [0x000cc] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/Services/Navigation/NavigationService.cs:106
at SeritiVisitorApp.ViewModels.LoginViewModel.SignInAsync () [0x00447] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/ViewModels/LoginViewModel.cs:69
at SeritiVisitorApp.ViewModels.LoginViewModel.b__6_0 () [0x0001f] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp/ViewModels/LoginViewModel.cs:19

at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/Foundation/NSAction.cs:178
--- End of stack trace from previous location where exception was thrown ---

at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIApplication.cs:86
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/UIKit/UIApplication.cs:65
at SeritiVisitorApp.iOS.Application.Main (System.String[] args) [0x00001] in /Users/user183880/Downloads/SeritiVisitorApp-2/SeritiVisitorApp/SeritiVisitorApp/SeritiVisitorApp.iOS/Main.cs:12

=================================================================

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

Thanks,
Bindresh

Developer technologies | .NET | Xamarin

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.