dewango / BottomNavigationBarXF

Bottom Navigation Bar for Xamarin Forms
MIT License
187 stars 97 forks source link

UNHANDLED EXCEPTION: 07-27 19:55:07.501 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions #69

Open Troto opened 7 years ago

Troto commented 7 years ago

Hi, Using the bottom bar page we have run into this. This occurs using both the latest pre release of xamarin 2.3.5.256-pre6 and the stable 2.3.4.247. BottomNavigationBar version 1.4.0.3 and BottomNavigationBar.XF version 1.0.2

This occurs when I have navigated using prism to a master detail page with a bottom bar page as the content, and then I navigate away and upon navigating back the exception occurs.

UNHANDLED EXCEPTION: 07-27 19:55:07.501 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions 07-27 19:55:07.501 I/MonoDroid(11259): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/4009/f3074d2c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 07-27 19:55:07.501 I/MonoDroid(11259): at Java.Interop.JniEnvironment+InstanceMethods.CallBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method) [0x00084] in /Users/builder/data/lanes/4009/9578cdcd/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11304 07-27 19:55:07.501 I/MonoDroid(11259): at Android.Runtime.JNIEnv.CallBooleanMethod (System.IntPtr jobject, System.IntPtr jmethod) [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/JNIEnv.g.cs:114 07-27 19:55:07.501 I/MonoDroid(11259): at Android.Support.V4.App.FragmentManagerInvoker.ExecutePendingTransactions () [0x00033] in <6296d3d76c5d4378959a1d9bf7205023>:0 07-27 19:55:07.501 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.Dispose (System.Boolean disposing) [0x00012] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\NavigationRenderer.cs:265 07-27 19:55:07.501 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203 07-27 19:55:07.501 I/MonoDroid(11259): at BottomBar.Droid.Renderers.BottomBarPageRenderer.Dispose (System.Boolean disposing) [0x0004b] in <8ef25c146c33416cb32def72170c57a0>:0 07-27 19:55:07.501 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203 07-27 19:55:07.501 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer.OnDestroyView () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\FormsAppCompatActivity.cs:419 07-27 19:55:07.501 I/MonoDroid(11259): at Android.Support.V4.App.Fragment.n_OnDestroyView (System.IntPtr jnienv, System.IntPtr nativethis) [0x00009] in <6296d3d76c5d4378959a1d9bf7205023>:0 07-27 19:55:07.501 I/MonoDroid(11259): at (wrapper dynamic-method) System.Object:c0ddbf67-994b-4497-be16-325908dc17d9 (intptr,intptr) 07-27 19:55:07.501 I/MonoDroid(11259): --- End of managed Java.Lang.IllegalStateException stack trace --- 07-27 19:55:07.501 I/MonoDroid(11259): java.lang.IllegalStateException: FragmentManager is already executing transactions 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1649) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589) 07-27 19:55:07.501 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.n_onDestroyView(Native Method) 07-27 19:55:07.501 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.onDestroyView(FragmentContainer.java:59) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.Fragment.performDestroyView(Fragment.java:2306) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1183) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1387) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:771) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 07-27 19:55:07.501 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589) 07-27 19:55:07.501 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.n_run(Native Method) 07-27 19:55:07.501 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30) 07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Handler.handleCallback(Handler.java:739) 07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Handler.dispatchMessage(Handler.java:95) 07-27 19:55:07.501 I/MonoDroid(11259): at android.os.Looper.loop(Looper.java:158) 07-27 19:55:07.501 I/MonoDroid(11259): at android.app.ActivityThread.main(ActivityThread.java:7224) 07-27 19:55:07.501 I/MonoDroid(11259): at java.lang.reflect.Method.invoke(Native Method) 07-27 19:55:07.501 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 07-27 19:55:07.501 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 07-27 19:55:07.511 D/Mono (11259): DllImport searching in: 'Internal' ('(null)'). 07-27 19:55:07.511 D/Mono (11259): Searching for 'java_interop_jnienv_throw'. 07-27 19:55:07.511 D/Mono (11259): Probing 'java_interop_jnienv_throw'. 07-27 19:55:07.511 D/Mono (11259): Found as 'java_interop_jnienv_throw'. 07-27 19:55:08.531 I/MonoDroid(11259): UNHANDLED EXCEPTION: 07-27 19:55:08.561 I/MonoDroid(11259): Java.Lang.IllegalStateException: FragmentManager is already executing transactions 07-27 19:55:08.561 I/MonoDroid(11259): at (wrapper managed-to-native) Java.Interop.NativeMethods:java_interop_jnienv_call_boolean_method (intptr,intptr&,intptr,intptr) 07-27 19:55:08.561 I/MonoDroid(11259): at Java.Interop.JniEnvironment+InstanceMethods.CallBooleanMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method) [0x0006b] in /Users/builder/data/lanes/4009/9578cdcd/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11300 07-27 19:55:08.561 I/MonoDroid(11259): at Android.Runtime.JNIEnv.CallBooleanMethod (System.IntPtr jobject, System.IntPtr jmethod) [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/JNIEnv.g.cs:114 07-27 19:55:08.561 I/MonoDroid(11259): at Android.Support.V4.App.FragmentManagerInvoker.ExecutePendingTransactions () [0x00033] in <6296d3d76c5d4378959a1d9bf7205023>:0 07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailContainer.Dispose (System.Boolean disposing) [0x0004e] in <3364a2d206a142d8a54cb7a9b77626da>:0 07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203 07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.Dispose (System.Boolean disposing) [0x00033] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\FrameRenderer.cs:123 07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Object.Dispose () [0x00000] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Object.cs:203 07-27 19:55:08.561 I/MonoDroid(11259): at Xamarin.Forms.Platform.Android.AppCompat.Platform+<>cDisplayClass35_0.b__0 () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\FormattedStringExtensions.cs:70 07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.Thread+RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/4009/9578cdcd/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36 07-27 19:55:08.561 I/MonoDroid(11259): at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr nativethis) [0x00009] in /Users/builder/data/lanes/4009/9578cdcd/source/monodroid/src/Mono.Android/platforms/android-25/src/generated/Java.Lang.IRunnable.cs:81 07-27 19:55:08.561 I/MonoDroid(11259): at (wrapper dynamic-method) System.Object:de5e5191-2a1b-4e20-bfeb-39af839e42ab (intptr,intptr) 07-27 19:55:08.561 I/MonoDroid(11259): --- End of managed Java.Lang.IllegalStateException stack trace --- 07-27 19:55:08.561 I/MonoDroid(11259): java.lang.IllegalStateException: FragmentManager is already executing transactions 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1649) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589) 07-27 19:55:08.561 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.n_onDestroyView(Native Method) 07-27 19:55:08.561 I/MonoDroid(11259): at md5270abb39e60627f0f200893b490a1ade.FragmentContainer.onDestroyView(FragmentContainer.java:59) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.Fragment.performDestroyView(Fragment.java:2306) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1183) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1387) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:771) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 07-27 19:55:08.561 I/MonoDroid(11259): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:589) 07-27 19:55:08.561 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.n_run(Native Method) 07-27 19:55:08.561 I/MonoDroid(11259): at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30) 07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Handler.handleCallback(Handler.java:739) 07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Handler.dispatchMessage(Handler.java:95) 07-27 19:55:08.561 I/MonoDroid(11259): at android.os.Looper.loop(Looper.java:158) 07-27 19:55:08.561 I/MonoDroid(11259): at android.app.ActivityThread.main(ActivityThread.java:7224) 07-27 19:55:08.561 I/MonoDroid(11259): at java.lang.reflect.Method.invoke(Native Method) 07-27 19:55:08.561 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 07-27 19:55:08.561 I/MonoDroid(11259): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

couperyork commented 7 years ago

I am also receiving this same error with similar xamarin configuration.

Vaibhav-Khanna commented 6 years ago

Does anyone has a solution for this ?

couperyork commented 6 years ago

Depending on your scenario, in ours, We removed this repo and just implemented a webview on the page that uses css to look like a bottom nav bar and tie in button click events using usual xamarin.

nosweat commented 6 years ago

any alternatives to this bottom navigation bar? to me it is full of bugs and very unstable. Lacking of basic functions