xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.64k stars 1.88k forks source link

[Bug] NotSupportedException: Unable to activate instance of type Xamarin.Forms.Platform.Android.Platform+DefaultRenderer from native handle #15729

Closed thisisthekap closed 1 year ago

thisisthekap commented 1 year ago

Description

Our production monitoring reported this issue.

System.NotSupportedException: Unable to activate instance of type Xamarin.Forms.Platform.Android.Platform+DefaultRenderer from native handle 0x7fd80f10d4 (key_handle 0x5bc2a24).
  at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x00179] in <cdca18234b15488c85febc53c7fe3650>:0
  at Java.Lang.Object.GetObject (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type type) [0x00023] in <cdca18234b15488c85febc53c7fe3650>:0
  at Java.Lang.Object._GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00017] in <cdca18234b15488c85febc53c7fe3650>:0
  at Java.Lang.Object.GetObject[T] (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00000] in <cdca18234b15488c85febc53c7fe3650>:0
  at Java.Lang.Object.GetObject[T] (System.IntPtr jnienv, System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x00006] in <cdca18234b15488c85febc53c7fe3650>:0
  at Android.Views.View.n_OnTouchEvent_Landroid_view_MotionEvent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_e) [0x00000] in <cdca18234b15488c85febc53c7fe3650>:0
  at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPL_Z (_JniMarshal_PPL_Z callback, System.IntPtr jnienv, System.IntPtr klazz, System.IntPtr p0) [0x00005] in <cdca18234b15488c85febc53c7fe3650>:0
--- End of inner exception stack trace ---
  System.MissingMethodException: No constructor found for Xamarin.Forms.Platform.Android.Platform+DefaultRenderer::.ctor(System.IntPtr, Android.Runtime.JniHandleOwnership)
    at Java.Interop.TypeManager.CreateProxy (System.Type type, System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer) [0x000b5] in <cdca18234b15488c85febc53c7fe3650>:0
    at Java.Interop.TypeManager.CreateInstance (System.IntPtr handle, Android.Runtime.JniHandleOwnership transfer, System.Type targetType) [0x0010c] in <cdca18234b15488c85febc53c7fe3650>:0
  --- End of inner exception stack trace ---
    Java.Interop.JavaLocationException: Exception of type 'Java.Interop.JavaLocationException' was thrown.
      at Java.Lang.Error: Exception of type 'Java.Lang.Error' was thrown.
      at java.lang.Error: Java callstack:
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_onTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.onTouchEvent(Platform_DefaultRenderer.java:51)
      at android.view.View.dispatchTouchEvent(View.java:15199)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3914)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3578)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.Platform_DefaultRenderer.dispatchTouchEvent(Platform_DefaultRenderer.java:59)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.VisualElementRenderer_1.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.VisualElementRenderer_1.dispatchTouchEvent(VisualElementRenderer_1.java:71)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at crc643f46942d9dd1fff9.PlatformRenderer.n_dispatchTouchEvent(Native Method)
      at crc643f46942d9dd1fff9.PlatformRenderer.dispatchTouchEvent(PlatformRenderer.java:50)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3920)
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3594)
      at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:915)
      at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1957)
      at android.app.Activity.dispatchTouchEvent(Activity.java:4182)
      at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
      at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
      at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:873)
      at android.view.View.dispatchPointerEvent(View.java:15458)
      at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7457)
      at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7233)
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6595)
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6652)
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6618)
      at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6786)
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6626)
      at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6843)
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6599)
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6652)
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6618)
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6626)
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6599)
      at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9880)
      at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9718)
      at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9671)
      at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10014)
      at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
      at android.os.MessageQueue.nativePollOnce(Native Method)
      at android.os.MessageQueue.next(MessageQueue.java:335)
      at android.os.Looper.loop(Looper.java:206)
      at android.app.ActivityThread.main(ActivityThread.java:8633)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Expected Behavior

No crash.

Actual Behavior

Crash.

Basic Information