Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.

[Android] Platform.GetRenderer NullReferenceException #3563

@paleicikas

Description

@paleicikas

MOST AFFECTED OS

SDK 26: 42.4%
SDK 24: 33.4%
SDK 23: 11.9%
SDK 25: 7.0%
Others: 5.3%

Xamarin Exception Stack:
System.NullReferenceException: Object reference not set to an instance of an object
  at Xamarin.Forms.Platform.Android.Platform.GetRenderer (Xamarin.Forms.VisualElement bindable) [0x00000] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Xamarin.Forms.Platform.Android.MasterDetailContainer.DisposeChildRenderers () [0x00000] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Xamarin.Forms.Platform.Android.MasterDetailContainer.Dispose (System.Boolean disposing) [0x00009] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailContainer.Dispose (System.Boolean disposing) [0x00076] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Java.Lang.Object.Dispose () [0x00000] in <263adecfa58f4c449f1ff56156d886fd>:0
  at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer.Dispose (System.Boolean disposing) [0x0006c] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Java.Lang.Object.Dispose () [0x00000] in <263adecfa58f4c449f1ff56156d886fd>:0
  at Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPageInternal (Xamarin.Forms.Page newRoot) [0x0003f] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Xamarin.Forms.Platform.Android.AppCompat.Platform+<>c__DisplayClass36_0.b__0 () [0x0001f] in <6b73296523894c3d8d57f5a8e3480a43>:0
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <263adecfa58f4c449f1ff56156d886fd>:0
  at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <263adecfa58f4c449f1ff56156d886fd>:0
  at (wrapper dynamic-method) System.Object.6a8c0e08-443e-4efa-a77d-652641d27e79(intptr,intptr)

Thread 1:
0   dalvik.system.VMStack.getThreadStackTrace(VMStack.java:-2)
1   java.lang.Thread.getStackTrace(Thread.java:1556)
2   java.lang.Thread.getAllStackTraces(Thread.java:1606)
3   com.microsoft.appcenter.crashes.Crashes.saveUncaughtException(Crashes.java:923)
4   com.microsoft.appcenter.crashes.WrapperSdkExceptionManager.saveWrapperException(WrapperSdkExceptionManager.java:50)
5   mono.java.lang.RunnableImplementor.n_run(RunnableImplementor.java:-2)
6   mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
7   android.os.Handler.handleCallback(Handler.java:808)
8   android.os.Handler.dispatchMessage(Handler.java:101)
9   android.os.Looper.loop(Looper.java:166)
10  android.app.ActivityThread.main(ActivityThread.java:7425)
11  java.lang.reflect.Method.invoke(Method.java:-2)
12  com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
13  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

Thread 3068:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:178)
2   java.lang.Daemons$Daemon.run(Daemons.java:103)
3   java.lang.Thread.run(Thread.java:784)

Thread 3069:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Object.wait(Object.java:422)
2   java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
3   java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
4   java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:235)
5   java.lang.Daemons$Daemon.run(Daemons.java:103)
6   java.lang.Thread.run(Thread.java:784)

Thread 3070:
0   java.lang.Thread.sleep(Thread.java:-2)
1   java.lang.Thread.sleep(Thread.java:386)
2   java.lang.Thread.sleep(Thread.java:327)
3   java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:345)
4   java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:371)
5   java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:284)
6   java.lang.Daemons$Daemon.run(Daemons.java:103)
7   java.lang.Thread.run(Thread.java:784)

Thread 3086:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   android.os.HandlerThread.run(HandlerThread.java:65)

Thread 3093:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   android.os.HandlerThread.run(HandlerThread.java:65)

Thread 3095:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   android.os.HandlerThread.run(HandlerThread.java:65)

Thread 3111:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   android.os.HandlerThread.run(HandlerThread.java:65)

Thread 3113:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   android.os.HandlerThread.run(HandlerThread.java:65)

Thread 3120:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059)
5   java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   KE.run
10  java.lang.Thread.run(Thread.java:784)

Thread 3125:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059)
5   java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   KE.run
10  java.lang.Thread.run(Thread.java:784)

Thread 3127:
0   java.lang.Object.wait(Object.java:-2)
1   com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:101)
2   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
3   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
4   java.lang.Thread.run(Thread.java:784)

Thread 3128:
0   java.lang.Object.wait(Object.java:-2)
1   com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:323)
2   com.android.okhttp.okio.AsyncTimeout.-wrap0
3   com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:286)

Thread 3155:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059)
5   java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   java.lang.Thread.run(Thread.java:784)

Thread 3232:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101)
5   java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   java.lang.Thread.run(Thread.java:784)

Thread 3233:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Object.wait(Object.java:422)
2   java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
3   java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
4   agA.run(SourceFile:3)

Thread 3240:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101)
5   java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   java.lang.Thread.run(Thread.java:784)

Thread 3251:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101)
5   java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   java.lang.Thread.run(Thread.java:784)

Thread 3256:
0   java.lang.Object.wait(Object.java:-2)
1   java.lang.Thread.parkFor$(Thread.java:2161)
2   sun.misc.Unsafe.park(Unsafe.java:358)
3   java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
4   java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101)
5   java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
6   java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086)
7   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147)
8   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
9   java.lang.Thread.run(Thread.java:784)

Thread 3258:
0   android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
1   android.os.MessageQueue.next(MessageQueue.java:379)
2   android.os.Looper.loop(Looper.java:144)
3   com.android.internal.policy.BackdropFrameRenderer.run(BackdropFrameRenderer.java:217)

No code to reproduce
Latest XF

Metadata

Metadata

Assignees

Labels

e/1 🕐1has-stacktraceBugs without reproductions but that contain a stack trace.p/Androids/needs-repro ❔This reported issue doesn't include a sample project reproducing the issue. Please provide one.t/bug 🐛

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions