Xamarin.Forms icon indicating copy to clipboard operation
Xamarin.Forms copied to clipboard

[Bug] Android : Java.Lang.IllegalStateException: Fragment FragmentContainer{7f20e26} (f17e4f2b-a95f-41fd-ade2-368ecc2dd0b4) id=0x2 android:switcher:2:-1519590384} does not have a view

Open jonathanantoine opened this issue 4 years ago • 48 comments

Description

I have a TabbedPage which is using tabs on the bottom. Each page was a MasterDetails page and since I migrated them to Flyout Page I have this exception making my app crash : Java.Lang.IllegalStateException: Fragment FragmentContainer{7f20e26} (f17e4f2b-a95f-41fd-ade2-368ecc2dd0b4) id=0x2 android:switcher:2:-1519590384} does not have a view

Steps to Reproduce

  1. Use a Tabbed Page as the main page (not shell).
  2. Create some FlyoutPage having a NavigationPage as the details and a ContentPage as the flyout.
  3. Launch the app
  4. Use some other apps (especially memory consuming one)
  5. Launch again your app from the "main icon"

Expected Behavior

The app is displayed.

Actual Behavior

This exception makes the app crash :

Java.Lang.IllegalStateException: Fragment FragmentContainer{7f20e26} (f17e4f2b-a95f-41fd-ade2-368ecc2dd0b4) id=0x2 android:switcher:2:-1519590384} does not have a view

Basic Information

  • Version with issue: at least 5.0.0.1905
  • Last known good version: don't know
  • Platform Target Frameworks:
    • Android: 10.0 : 29
  • Android Support Library / AndroidX Version: (added below in an expendable section)
  • NuGet Packages:
  • Affected Devices: all android devices
Android Support Library / AndroidX Version:
<PackageReference Include="Xamarin.Android.Support.Animated.Vector.Drawable" Version="28.0.0.3" 
<PackageReference Include="Xamarin.Android.Support.Annotations" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.AsyncLayoutInflater" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Collections" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Compat" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.CoordinaterLayout" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Core.UI" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Core.Utils" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.CursorAdapter" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.CustomTabs" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.CustomView" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Design" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.DocumentFile" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Fragment" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Interpolator" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Loader" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.LocalBroadcastManager" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.SlidingPaneLayout" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.SwipeRefreshLayout" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Transition" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v4" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v7.AppCompat" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v7.CardView" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v7.MediaRouter" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v7.Palette" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.v7.RecyclerView" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.Vector.Drawable" Version="28.0.0.3" />
<PackageReference Include="Xamarin.Android.Support.VersionedParcelable" Version="28.0.0.3" />
<PackageReference Include="Xamarin.AndroidX.Activity" Version="1.2.0.1" />
<PackageReference Include="Xamarin.AndroidX.Annotation" Version="1.1.0.9" />
<PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.2.0.7" />
<PackageReference Include="Xamarin.AndroidX.AppCompat.Resources" Version="1.1.0.1" />
<PackageReference Include="Xamarin.AndroidX.Arch.Core.Common" Version="2.1.0.8" />
<PackageReference Include="Xamarin.AndroidX.Arch.Core.Runtime" Version="2.1.0.8" />
<PackageReference Include="Xamarin.AndroidX.AsyncLayoutInflater" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Browser" Version="1.3.0.5" />
<PackageReference Include="Xamarin.AndroidX.CardView" Version="1.0.0.8" />
<PackageReference Include="Xamarin.AndroidX.Collection" Version="1.1.0.7" />
<PackageReference Include="Xamarin.AndroidX.CoordinatorLayout" Version="1.1.0.7" />
<PackageReference Include="Xamarin.AndroidX.Core" Version="1.3.2.3" />
<PackageReference Include="Xamarin.AndroidX.CursorAdapter" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.CustomView" Version="1.1.0.6" />
<PackageReference Include="Xamarin.AndroidX.DocumentFile" Version="1.0.1.7" />
<PackageReference Include="Xamarin.AndroidX.DrawerLayout" Version="1.1.1.2" />
<PackageReference Include="Xamarin.AndroidX.Fragment" Version="1.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Interpolator" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.UI" Version="1.0.0.8" />
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.Utils" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Lifecycle.Common" Version="2.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData.Core" Version="2.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Lifecycle.Runtime" Version="2.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Lifecycle.ViewModel" Version="2.3.0.1" />
<PackageReference Include="Xamarin.AndroidX.Loader" Version="1.1.0.7" />
<PackageReference Include="Xamarin.AndroidX.LocalBroadcastManager" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Media" Version="1.2.1.2" />
<PackageReference Include="Xamarin.AndroidX.MediaRouter" Version="1.2.2.1" />
<PackageReference Include="Xamarin.AndroidX.Migration" Version="1.0.8" />
<PackageReference Include="Xamarin.AndroidX.MultiDex" Version="2.0.1.7" />
<PackageReference Include="Xamarin.AndroidX.Palette" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.Print" Version="1.0.0.7" />
<PackageReference Include="Xamarin.AndroidX.RecyclerView" Version="1.1.0.8" />
<PackageReference Include="Xamarin.AndroidX.SavedState" Version="1.1.0.1" />
<PackageReference Include="Xamarin.AndroidX.SlidingPaneLayout" Version="1.1.0.2" />
<PackageReference Include="Xamarin.AndroidX.SwipeRefreshLayout" Version="1.1.0.2" />
<PackageReference Include="Xamarin.AndroidX.Transition" Version="1.4.0.1" />
<PackageReference Include="Xamarin.AndroidX.VectorDrawable" Version="1.1.0.7" />
<PackageReference Include="Xamarin.AndroidX.VectorDrawable.Animated" Version="1.1.0.7" />
<PackageReference Include="Xamarin.AndroidX.VersionedParcelable" Version="1.1.1.7" />
<PackageReference Include="Xamarin.AndroidX.ViewPager" Version="1.0.0.7" />

Environment

Show/Hide Visual Studio info
=== Visual Studio Community 2019 for Mac ===

Version 8.8.10 (build 2)
Installation UUID: 92feefa5-5500-4af3-9272-b35e1821aefa
	GTK+ 2.24.23 (Raleigh theme)
	Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)

	Package version: 612000122

=== Mono Framework MDK ===

Runtime:
	Mono 6.12.0.122 (2020-02/c621c35ffa0) (64-bit)
	Package version: 612000122

=== Roslyn (Language Service) ===

3.8.0-5.20519.18+4c195c3ac1974edcefa76774d7a59a2350ec55fa

=== NuGet ===

Version: 5.8.0.6860

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/5.0.103/Sdks
SDK Versions:
	5.0.103
	5.0.102
	5.0.101
	5.0.100
	3.1.406
	3.1.405
	3.1.404
	3.1.403
	3.1.402
	3.1.401
	3.1.302
	3.1.301
	3.1.300
	3.1.202
	3.1.200
	3.1.102
	3.1.101
	3.1.100
	3.0.101
	3.0.100
	2.2.401
	2.2.300
	2.2.106
	2.2.104
	2.2.101
	2.1.505
	2.1.302
	2.1.301
	2.1.4
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
	5.0.3
	5.0.2
	5.0.1
	5.0.0
	3.1.12
	3.1.11
	3.1.10
	3.1.9
	3.1.8
	3.1.7
	3.1.6
	3.1.5
	3.1.4
	3.1.2
	3.1.1
	3.1.0
	3.0.1
	3.0.0
	2.2.6
	2.2.5
	2.2.4
	2.2.2
	2.2.0
	2.1.23
	2.1.22
	2.1.21
	2.1.20
	2.1.19
	2.1.18
	2.1.17
	2.1.16
	2.1.15
	2.1.14
	2.1.13
	2.1.9
	2.1.2
	2.1.1
	2.0.5

=== .NET Core 3.1 SDK ===

SDK: 3.1.406

=== Xamarin.Profiler ===

Version: 1.6.15.68
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 12.4 (17801)
Build 12D4e

=== Xamarin.Mac ===

Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.

=== Xamarin.iOS ===

Version: 14.10.0.4 (Visual Studio Community)
Hash: 5a05865f6
Branch: xcode12.4
Build date: 2021-01-28 02:30:23-0500

=== Xamarin Designer ===

Version: 16.8.0.510
Hash: 44e3f3ce9
Branch: remotes/origin/d16-8
Build date: 2020-12-10 00:06:14 UTC

=== Xamarin.Android ===

Version: 11.1.0.26 (Visual Studio Community)
Commit: xamarin-android/d16-8/a36ce73
Android SDK: /Users/jonathanantoine/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		4.4 (API level 19)
		8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 31.0.0
SDK Build Tools Version: 30.0.2

Build Information: 
Mono: 5e9cb6d
Java.Interop: xamarin/java.interop/d16-8@79d9533
ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000
SQLite: xamarin/sqlite/3.32.1@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc

=== Microsoft OpenJDK for Mobile ===

Java SDK: /Users/jonathanantoine/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 16.8.0.32
Hash: 01a7774
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:34:58 UTC

=== Android Device Manager ===

Version: 16.8.0.46
Hash: 0a81419
Branch: remotes/origin/d16-8
Build date: 2021-01-14 00:35:22 UTC

=== Build Information ===

Release ID: 808100002
Git revision: f81ffa2444a28c09f173849935ec9ee0195a5b17
Build date: 2021-02-18 12:02:12-05
Build branch: release-8.8
Xamarin extensions: f81ffa2444a28c09f173849935ec9ee0195a5b17

=== Operating System ===

Mac OS X 10.16.0
Darwin 20.3.0 Darwin Kernel Version 20.3.0
    Thu Jan 21 00:07:06 PST 2021
    root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64


Full exception trace Logs

JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args)
Java.Interop
JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
Android.App
Activity.OnStart ()
Xamarin.Forms.Platform.Android
FormsAppCompatActivity.OnStart ()
Android.App
Activity.n_OnStart (System.IntPtr jnienv, System.IntPtr native__this)
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.14(intptr,intptr)
java.lang.IllegalStateException: Fragment FragmentContainer{97f02ca} (34116daa-5635-4f54-b760-e0190e104a2b) id=0x2 android:switcher:2:-1582031703} does not have a view
androidx.fragment.app.Fragment$4.onFindViewById(Unknown Source:37)
androidx.fragment.app.FragmentStateManager.createView(Unknown Source:73)
androidx.fragment.app.FragmentStateManager.moveToExpectedState(Unknown Source:135)
androidx.fragment.app.FragmentStore.moveToExpectedState(Unknown Source:30)
androidx.fragment.app.FragmentManager.moveToState(Unknown Source:32)
androidx.fragment.app.FragmentManager.dispatchStateChange(Unknown Source:9)
androidx.fragment.app.FragmentManager.dispatchActivityCreated(Unknown Source:11)
androidx.fragment.app.Fragment.performActivityCreated(Unknown Source:23)
androidx.fragment.app.FragmentStateManager.activityCreated(Unknown Source:35)
androidx.fragment.app.FragmentStateManager.moveToExpectedState(Unknown Source:128)
androidx.fragment.app.FragmentStore.moveToExpectedState(Unknown Source:30)
androidx.fragment.app.FragmentManager.moveToState(Unknown Source:32)
androidx.fragment.app.FragmentManager.dispatchStateChange(Unknown Source:9)
androidx.fragment.app.FragmentManager.dispatchActivityCreated(Unknown Source:11)
androidx.fragment.app.FragmentController.dispatchActivityCreated(Unknown Source:4)
androidx.fragment.app.FragmentActivity.onStart(Unknown Source:15)
androidx.appcompat.app.AppCompatActivity.onStart(Unknown Source:0)
crc643f46942d9dd1fff9.FormsAppCompatActivity.n_onStart(Native Method)
crc643f46942d9dd1fff9.FormsAppCompatActivity.onStart(Unknown Source:0)
android.app.Instrumentation.callActivityOnStart Instrumentation.java:1436
android.app.Activity.performStart Activity.java:8124
android.app.ActivityThread.handleStartActivity ActivityThread.java:3527
android.app.servertransaction.TransactionExecutor.performLifecycleSequence TransactionExecutor.java:221
android.app.servertransaction.TransactionExecutor.cycleToPath TransactionExecutor.java:201
android.app.servertransaction.TransactionExecutor.executeLifecycleState TransactionExecutor.java:173
android.app.servertransaction.TransactionExecutor.execute TransactionExecutor.java:97
android.app.ActivityThread$H.handleMessage ActivityThread.java:2108
android.os.Handler.dispatchMessage Handler.java:106
android.os.Looper.loop Looper.java:236
android.app.ActivityThread.main ActivityThread.java:7876
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:656
com.android.internal.os.ZygoteInit.main ZygoteInit.java:967

Reproduction Link

Workaround

None known

jonathanantoine avatar Feb 28 '21 20:02 jonathanantoine

@jonathanantoine Can you attach a small repro of this crash? I'm not seeing anything in the stack trace that gives me any indication of what might be wrong here

PureWeen avatar Mar 02 '21 18:03 PureWeen

I'm seeing similar crash reports in appcenter, the app doesn't use the flyout page, and it seems like it's crashing on startup, but I was not able to reproduce it, using xamarin forms 5.0.0.2012

JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args)
JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
Activity.OnStart ()
FormsAppCompatActivity.OnStart ()
Activity.n_OnStart (System.IntPtr jnienv, System.IntPtr native__this)
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.13(intptr,intptr)
java.lang.IllegalStateException: Fragment FragmentContainer{377ee6f} (404d2e67-b3c9-4ab7-9a6b-56fccf4c8521) id=0x4} does not have a view
androidx.fragment.app.Fragment$4.onFindViewById(Unknown Source:37)
androidx.fragment.app.FragmentStateManager.createView(Unknown Source:73)
androidx.fragment.app.FragmentStateManager.moveToExpectedState(Unknown Source:135)
androidx.fragment.app.FragmentStore.moveToExpectedState(Unknown Source:30)
androidx.fragment.app.FragmentManager.moveToState(Unknown Source:32)
androidx.fragment.app.FragmentManager.dispatchStateChange(Unknown Source:9)
androidx.fragment.app.FragmentManager.dispatchActivityCreated(Unknown Source:11)
androidx.fragment.app.Fragment.performActivityCreated(Unknown Source:23)
androidx.fragment.app.FragmentStateManager.activityCreated(Unknown Source:35)
androidx.fragment.app.FragmentStateManager.moveToExpectedState(Unknown Source:128)
androidx.fragment.app.FragmentStore.moveToExpectedState(Unknown Source:30)
androidx.fragment.app.FragmentManager.moveToState(Unknown Source:32)
androidx.fragment.app.FragmentManager.dispatchStateChange(Unknown Source:9)
androidx.fragment.app.FragmentManager.dispatchActivityCreated(Unknown Source:11)
androidx.fragment.app.FragmentController.dispatchActivityCreated(Unknown Source:4)
androidx.fragment.app.FragmentActivity.onStart(Unknown Source:15)
androidx.appcompat.app.AppCompatActivity.onStart(Unknown Source:0)
crc643f46942d9dd1fff9.FormsAppCompatActivity.n_onStart(Native Method)
crc643f46942d9dd1fff9.FormsAppCompatActivity.onStart(Unknown Source:0)
android.app.Instrumentation.callActivityOnStart Instrumentation.java:1432
android.app.Activity.performStart Activity.java:7825
android.app.ActivityThread.handleStartActivity ActivityThread.java:3322
android.app.servertransaction.TransactionExecutor.performLifecycleSequence TransactionExecutor.java:221
android.app.servertransaction.TransactionExecutor.cycleToPath TransactionExecutor.java:201
android.app.servertransaction.TransactionExecutor.executeLifecycleState TransactionExecutor.java:173
android.app.servertransaction.TransactionExecutor.execute TransactionExecutor.java:97
android.app.ActivityThread$H.handleMessage ActivityThread.java:2041
android.os.Handler.dispatchMessage Handler.java:107
android.os.Looper.loop Looper.java:214
android.app.ActivityThread.main ActivityThread.java:7389
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:492
com.android.internal.os.ZygoteInit.main ZygoteInit.java:980

stepkillah avatar Mar 02 '21 23:03 stepkillah

@PureWeen Crash reproduces after changing font size in OS settings and switching back to the app.

XF 4.8 works OK - no crash, app relaunched. XF 5.0 crashes

Not sure if this is the reason, but JNI-used constructor is missing from FlyoutPageContainer

melimion avatar Mar 03 '21 15:03 melimion

@PureWeen @melimion I did some investigation and it appears it works fine with XF 5.0.0.2012 and FlyoutPage.

Now I am supsecting one of the latest Xamarin.AndroidX nuget package to be the culprit. I am now upgrading them one by one to detect which one is causing the issue.

Here is my working AndroidX packages versions, updating one of them to the last makes the bug to be here :

<PackageReference Include="Xamarin.AndroidX.Fragment" Version="1.2.5.4"/>

@melimion can you tell me if you have one in a higher version than this ?

Edit - I am trying to update them one by one to find the culprit(s). Here is the list of excluded one :

<PackageReference Include="Xamarin.AndroidX.Interpolator" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.CursorAdapter" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.CustomView" Version="1.1.0.4"/>
<PackageReference Include="Xamarin.AndroidX.AsyncLayoutInflater" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Browser" Version="1.3.0.4"/>
<PackageReference Include="Xamarin.AndroidX.CardView" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Collection" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.CoordinatorLayout" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.MultiDex" Version="2.0.1.6"/>
<PackageReference Include="Xamarin.AndroidX.Palette" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.SlidingPaneLayout" Version="1.1.0.1"/>
<PackageReference Include="Xamarin.AndroidX.Print" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.VectorDrawable" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.VectorDrawable.Animated" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.SwipeRefreshLayout" Version="1.1.0.1"/>
<PackageReference Include="Xamarin.AndroidX.Annotation" Version="1.1.0.8"/>
<PackageReference Include="Xamarin.AndroidX.DocumentFile" Version="1.0.1.6"/>
<PackageReference Include="Xamarin.AndroidX.DrawerLayout" Version="1.1.1.1"/>
<PackageReference Include="Xamarin.AndroidX.Loader" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.LocalBroadcastManager" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Media" Version="1.2.1.1"/>
<PackageReference Include="Xamarin.AndroidX.SavedState" Version="1.0.0.2"/>
<PackageReference Include="Xamarin.AndroidX.ExifInterface"  Version="1.3.2.1"/>
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.UI" Version="1.0.0.7"/>
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.Core.Utils" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.2.0.6"/>
<PackageReference Include="Xamarin.AndroidX.ViewPager" Version="1.0.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Lifecycle.Runtime" Version="2.2.0.4"/>
<PackageReference Include="Xamarin.AndroidX.Lifecycle.ViewModel" Version="2.2.0.4"/>
<PackageReference Include="Xamarin.AndroidX.Migration" Version="1.0.8"/>
<PackageReference Include="Xamarin.AndroidX.VersionedParcelable" Version="1.1.1.6"/>
<PackageReference Include="Xamarin.AndroidX.Core" Version="1.3.2.1"/>
<PackageReference Include="Xamarin.AndroidX.MediaRouter" Version="1.2.0.1"/>
<PackageReference Include="Xamarin.AndroidX.AppCompat.Resources" Version="1.1.0.1"/>
<PackageReference Include="Xamarin.AndroidX.Activity" Version="1.1.0.5"/>

I also plainly removed :

<PackageReference Include="Xamarin.AndroidX.RecyclerView" Version="1.1.0.6"/>
<PackageReference Include="Xamarin.AndroidX.Lifecycle.Common" Version="2.2.0.4"/>
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.2.0.4"/>
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData.Core" Version="2.2.0.4"/>
<PackageReference Include="Xamarin.AndroidX.Transition" Version="1.3.1.6"/>
<PackageReference Include="Xamarin.AndroidX.Arch.Core.Common" Version="2.1.0.7"/>
<PackageReference Include="Xamarin.AndroidX.Arch.Core.Runtime" Version="2.1.0.7"/>

jonathanantoine avatar Mar 03 '21 20:03 jonathanantoine

@jonathanantoine I have all packages updated to latest version.

Downgrading to versions that you specified fixed the problem.

melimion avatar Mar 04 '21 11:03 melimion

Do you need to reference all those AndroidX packages? Can you just remove them all and just use what transiently comes in with XF?

PureWeen avatar Mar 05 '21 14:03 PureWeen

@PureWeen yes, it's asked by the Android x migration tools and build failed if not added.

If I run the "Migrate to Android X tool" they are all added back so I can't think it's a good idea to remove them.

jonathanantoine avatar Mar 05 '21 17:03 jonathanantoine

I'm seeing this issue after upgrading to the latest packages as well. I upgraded both Xamarin.Forms and all the Xamarin.AndroidX packages, so I'm not sure which of them caused it.

I'm using a FlyoutPage, but no tabs.

erlenddahl avatar Mar 06 '21 18:03 erlenddahl

If I don't upgrade Xamarin.AndroidX.Fragment and stay to the Version 1.2.5.4, the crash do not seems to happen. I think we have our culprit.

jonathanantoine avatar Mar 09 '21 19:03 jonathanantoine

Can someone attach a small sample project reproducing the issue so that we can investigate further? I've tried and unfortunately have been unable to reproduce the issue myself :/

rachelkang avatar Mar 18 '21 21:03 rachelkang

If I don't upgrade Xamarin.AndroidX.Fragment and stay to the Version 1.2.5.4, the crash do not seems to happen. I think we have our culprit.

@rachelkang @jonathanantoine I'm still getting the crashes in 1.2.5.4. Note: I'm using Shell. There are other issues found with this package as well: https://github.com/xamarin/Xamarin.Forms/issues/13843

**System.TypeLoadException:** 'VTable setup of type Jakar.SettingsView.Droid.SettingsViewLayoutManager failed'

03-19 09:49:59.396  JNI DETECTED ERROR IN APPLICATION: JNI NewString called with pending exception android.runtime.JavaProxyThrowable: System.TypeLoadException: VTable setup of type Jakar.SettingsView.Droid.SettingsViewLayoutManager failed
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000cb] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:241 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00033] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:131 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0003e] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:358 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000b3] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:140 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00163] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:351 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:112 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:481 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e8] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:244 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00033] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:131 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0003e] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:358 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000b3] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:140 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00163] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:351 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:112 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:481 
03-19 09:49:59.396    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e8] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:244 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00033] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:131 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, Android.Content.Context context) [0x0003e] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:358 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x000b3] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:140 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00163] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:351 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:112 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:481 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x000e8] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:244 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.VisualElementRenderer`1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00033] in D:\a\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:131 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element, AndroidX.Fragment.App.FragmentManager fragmentManager, Android.Content.Context context) [0x00031] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:404 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer.OnCreateView (Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState) [0x00008] in D:\a\1\s\Xamarin.Forms.Platform.Android\AppCompat\FragmentContainer.cs:57 
03-19 09:49:59.397    at Xamarin.Forms.Platform.Android.AppCompat.ShellFragmentContainer.OnCreateView (Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState) [0x00011] in D:\a\1\s\Xamarin.Forms.Platform.Android\AppCompat\ShellFragmentContainer.cs:35 
03-19 09:49:59.397    at AndroidX.Fragment.App.Fragment.n_OnCreateView_Landroid_view_LayoutInflater_Landroid_view_ViewGroup_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_inflater, System.IntPtr native_container, System.IntPtr native_savedInstanceState) [0x00021] in D:\a\1\s\generated\androidx.fragment.fragment\obj\Release\monoandroid90\generated\src\AndroidX.Fragment.App.Fragment.cs:1950 
03-19 09:49:59.397    at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.81(intptr,intptr,intptr,intptr,intptr)
03-19 09:49:59.397    at android.view.View crc64720bb2db43a66fe9.ShellFragmentContainer.n_onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (ShellFragmentContainer.java:-2)
03-19 09:49:59.397    at android.view.View crc64720bb2db43a66fe9.ShellFragmentContainer.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (ShellFragmentContainer.java:39)
03-19 09:49:59.397    at void androidx.fragment.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2699)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentStateManager.createView(androidx.fragment.app.FragmentContainer) (FragmentStateManager.java:320)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.moveToState(androidx.fragment.app.Fragment, int) (FragmentManager.java:1199)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.moveToState(androidx.fragment.app.Fragment) (FragmentManager.java:1368)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(androidx.fragment.app.Fragment) (FragmentManager.java:1446)
03-19 09:49:59.397    at void androidx.fragment.app.BackStackRecord.executeOps() (BackStackRecord.java:442)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.executeOps(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2181)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.executeOpsTogether(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2004)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(java.util.ArrayList, java.util.ArrayList) (FragmentManager.java:1959)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentManager.execSingleAction(androidx.fragment.app.FragmentManager$OpGenerator, boolean) (FragmentManager.java:1830)
03-19 09:49:59.397    at void androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss() (BackStackRecord.java:303)
03-19 09:49:59.397    at void androidx.fragment.app.FragmentPagerAdapter.finishUpdate(android.view.ViewGroup) (FragmentPagerAdapter.java:246)
03-19 09:49:59.397    at void androidx.viewpager.widget.ViewPager.populate(int) (ViewPager.java:1244)
03-19 09:49:59.397    at void androidx.viewpager.widget.ViewPager.populate() (ViewPager.java:1092)
03-19 09:49:59.397    at void androidx.viewpager.widget.ViewPager.onMeasure(int, int) (ViewPager.java:1622)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(android.view.View, int, int, int, int) (CoordinatorLayout.java:760)
03-19 09:49:59.397    at boolean com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout, android.view.View, int, int, int, int) (HeaderScrollingViewBehavior.java:99)
03-19 09:49:59.397    at boolean com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(androidx.coordinatorlayout.widget.CoordinatorLayout, android.view.View, int, int, int, int) (AppBarLayout.java:1996)
03-19 09:49:59.397    at void androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(int, int) (CoordinatorLayout.java:831)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.widget.LinearLayout.measureVertical(int, int) (LinearLayout.java:995)
03-19 09:49:59.397    at void android.widget.LinearLayout.onMeasure(int, int) (LinearLayout.java:721)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void androidx.drawerlayout.widget.DrawerLayout.onMeasure(int, int) (DrawerLayout.java:1156)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void crc643f46942d9dd1fff9.PlatformRenderer.n_onMeasure(int, int) (PlatformRenderer.java:-2)
03-19 09:49:59.397    at void crc643f46942d9dd1fff9.PlatformRenderer.onMeasure(int, int) (PlatformRenderer.java:71)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.widget.RelativeLayout.measureChildHorizontal(android.view.View, android.widget.RelativeLayout$LayoutParams, int, int) (RelativeLayout.java:735)
03-19 09:49:59.397    at void android.widget.RelativeLayout.onMeasure(int, int) (RelativeLayout.java:481)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void androidx.appcompat.widget.ContentFrameLayout.onMeasure(int, int) (ContentFrameLayout.java:146)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.LinearLayout.measureChildBeforeLayout(android.view.View, int, int, int, int, int) (LinearLayout.java:1552)
03-19 09:49:59.397    at void android.widget.LinearLayout.measureVertical(int, int) (LinearLayout.java:842)
03-19 09:49:59.397    at void android.widget.LinearLayout.onMeasure(int, int) (LinearLayout.java:721)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewGroup.measureChildWithMargins(android.view.View, int, int, int, int) (ViewGroup.java:7951)
03-19 09:49:59.397    at void android.widget.FrameLayout.onMeasure(int, int) (FrameLayout.java:194)
03-19 09:49:59.397    at void com.android.internal.policy.DecorView.onMeasure(int, int) (DecorView.java:1159)
03-19 09:49:59.397    at void android.view.View.measure(int, int) (View.java:27145)
03-19 09:49:59.397    at void android.view.ViewRootImpl.performMeasure(int, int) (ViewRootImpl.java:4075)
03-19 09:49:59.397    at boolean android.view.ViewRootImpl.measureHierarchy(android.view.View, android.view.WindowManager$LayoutParams, android.content.res.Resources, int, int) (ViewRootImpl.java:2837)
03-19 09:49:59.397    at void android.view.ViewRootImpl.performTraversals() (ViewRootImpl.java:3100)
03-19 09:49:59.397    at void android.view.ViewRootImpl.doTraversal() (ViewRootImpl.java:2519)
03-19 09:49:59.397    at void android.view.ViewRootImpl$TraversalRunnable.run() (ViewRootImpl.java:9775)
03-19 09:49:59.397    at void android.view.Choreographer$CallbackRecord.run(long) (Choreographer.java:1010)
03-19 09:49:59.397    at void android.view.Choreographer.doCallbacks(int, long) (Choreographer.java:809)
03-19 09:49:59.397    at void android.view.Choreographer.doFrame(long, int) (Choreographer.java:744)
03-19 09:49:59.397    at void android.view.Choreographer$FrameDisplayEventReceiver.run() (Choreographer.java:995)
03-19 09:49:59.397    at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:938)
03-19 09:49:59.397    at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:99)
03-19 09:49:59.397    at void android.os.Looper.loop() (Looper.java:246)
03-19 09:49:59.397    at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:8425)
03-19 09:49:59.397    at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
03-19 09:49:59.397    at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:596)
03-19 09:49:59.397    at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1130)
03-19 09:49:59.397  
03-19 09:49:59.397      in call to NewString
03-19 09:49:59.397      from android.view.View crc64720bb2db43a66fe9.ShellFragmentContainer.n_onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)

Jakar510 avatar Mar 19 '21 15:03 Jakar510

@rachelkang here's a repo: https://github.com/Jakar510/DebugXamarinAndroidX/tree/master

Jakar510 avatar Mar 19 '21 20:03 Jakar510

Got this issue also randomly with a TabbedPage, no navigation page inside, no flyout. This happens often when the app is idle/backgrounded for a long time and re opening it. Never had the chance to reproduce on debug builds, only release ones.

XF 5.0.0.2012 Target Framework : 11

vincentcastagna avatar Apr 03 '21 04:04 vincentcastagna

I was able to reproduce the issue by :

  • Enabling the setting "Don't keep activities"
  • Minimize the application
  • Open the application from recent apps menu

I've reverted the recent AndroidX updates that I've installed in order to prevent the error to happen. imagen

ducmerida avatar Apr 04 '21 22:04 ducmerida

@ducmerida can you share which androidX packages you downgraded (fragment I guess ?), but from which version to which version . Cause I don't have a direct reference to fragment, I want to be sure its the one that causes the issue

vincentcastagna avatar Apr 06 '21 13:04 vincentcastagna

@vincentcastagna you can add a direct reference to Android.X.Fragment in it's "1.2.5.4" version. It should do the job.

jonathanantoine avatar Apr 06 '21 15:04 jonathanantoine

@vincentcastagna you can add a direct reference to Android.X.Fragment in it's "1.2.5.4" version. It should do the job. This fixed it for me.

J-Hoffman avatar Apr 08 '21 12:04 J-Hoffman

Based on the conversations here it sounds like this PR should resolve

https://github.com/xamarin/Xamarin.Forms/pull/14101

If you can test the nugets here that would be helpful

https://github.com/xamarin/Xamarin.Forms/issues/13843#issuecomment-819121845

PureWeen avatar Apr 14 '21 17:04 PureWeen

@PureWeen it does not seems to fix the issue. I think you can reopen it :(

jonathanantoine avatar Apr 19 '21 20:04 jonathanantoine

@jonathanantoine what version of Android Fragment works for you?

If you update to the latest version https://www.nuget.org/packages/Xamarin.AndroidX.Fragment/

does that work for you?

PureWeen avatar Apr 19 '21 20:04 PureWeen

I have the same problem. Xamarin.Forms 5.0.0.2012 and Xamarin.AndroidX.Fragment 1.3.2 installed, also using TabbedPage

@jonathanantoine what version of Android Fragment works for you?

If you update to the latest version https://www.nuget.org/packages/Xamarin.AndroidX.Fragment/

does that work for you?

@PureWeen nope, with the latest Xamarin.AndroidX.Fragment can reproduce, app crashes after I reopen it from multitask

Alex-Dobrynin avatar Apr 21 '21 16:04 Alex-Dobrynin

@PureWeen the working version for me is "1.2.5.4"

jonathanantoine avatar Apr 23 '21 19:04 jonathanantoine

The version 1.2.5.4 crashes for me. The latest that does not crash is "1.2.5.3"

lucorn avatar Apr 24 '21 18:04 lucorn

Hi @PureWeen after update to the latest version i get similar exception. But only sometimes:

04-30 10:09:37.585 pixel_2_pie_9_0_-_api_28 Error 7096 AndroidRuntime java.lang.IllegalStateException: Layout state should be one of 100 but it is 10 at androidx.recyclerview.widget.RecyclerView$State.assertLayoutStep(RecyclerView.java:12371) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4151) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3862) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404) at crc643f46942d9dd1fff9.ItemsViewRenderer_3.n_onLayout(Native Method) at crc643f46942d9dd1fff9.ItemsViewRenderer_3.onLayout(ItemsViewRenderer_3.java:45) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_onLayout(Native Method) at crc643f46942d9dd1fff9.Platform_DefaultRenderer.onLayout(Platform_DefaultRenderer.java:72) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:37) at crc643f46942d9dd1fff9.ScrollViewContainer.n_onLayout(Native Method) at crc643f46942d9dd1fff9.ScrollViewContainer.onLayout(ScrollViewContainer.java:54) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at androidx.core.widget.NestedScrollView.onLayout(NestedScrollView.java:1854) at crc643f46942d9dd1fff9.ScrollViewRenderer.n_onLayout(Native Method) at crc643f46942d9dd1fff9.ScrollViewRenderer.onLayout(ScrollViewRenderer.java:91) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at crc643f46942d9dd1fff9.VisualElementRenderer_1.n_onMeasure(Native Method) at crc643f46942d9dd1fff9.VisualElementRenderer_1.onMeasure(VisualElementRenderer_1.java:108) at android.view.View.measure(View.java:23169) at com.xamarin.forms.platform.android.FormsViewGroup.measureAndLayout(FormsViewGroup.java:36) at crc643f46942d9dd1fff9.ItemContentView.n_onLayout(Native Method) at crc643f46942d9dd1fff9.ItemContentView.onLayout(ItemContentView.java:54) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at androidx.recyclerview.widget.RecyclerView$LayoutManager.layoutDecoratedWithMargins(RecyclerView.java:9587) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1685) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851) at androidx.recyclerview.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1897) at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5260) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949) at android.view.Choreographer.doCallbacks(Choreographer.java:761) at android.view.Choreographer.doFrame(Choreographer.java:693) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

AlleSchonWeg avatar Apr 30 '21 10:04 AlleSchonWeg

We also get this on anything that triggers an activity restart (plugging in a USB keyboard or changing the font size while the app is backgrounded for example).

Downgrading the androidx fragment package to 1.2.5.5 solved out issue.

joshuangfraedom avatar May 11 '21 01:05 joshuangfraedom

1.2.5.5 solves the problem any version above this is crashing. anyone has proguard settings for this library? should this be just fine?

-keep public class androidx.fragment .** { *; }

EmilAlipiev avatar Jun 27 '21 23:06 EmilAlipiev

I also have the same bug in android I have the latest version of XF:

android.runtime.JavaProxyThrowable
crc643f46942d9dd1fff9.FormsAppCompatActivity.n_onStart

This is what Google /ARN says

any solution???

This is a serious error in production, according to Google/ARN it has occurred in Xiaomi and OnePlus with Android 10 and 11

angelru avatar Sep 09 '21 14:09 angelru

@jsuarezruiz why unverified ? You have a repro project ? @jfversluis this is for this reason I ask you if I were not doing a repro for nothing...😔

jonathanantoine avatar Oct 17 '21 17:10 jonathanantoine

@jonathanantoine I don't understand. Javier removed the unverified label. I have seen your reproduction and I will get to it, but I haven't had the time yet. Your effort has not been for nothing, don't worry.

jfversluis avatar Oct 18 '21 06:10 jfversluis

This bug seems to have disappeared in the newest versions, at least for me (but I'm using a FlyoutPage, not a TabPage, so I cannot speak for everybody in here).

I'm currently on Xamarin.Forms.5.0.0.2125 and Xamarin.AndroidX.Fragment.1.3.6.3, and haven't seen this crash since I upgraded the NuGet packages 10 days ago.

erlenddahl avatar Oct 18 '21 07:10 erlenddahl