Android crash NullPointerException TR0.<init>

Abierto
#8,268 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
android, react-native
Área
mobile

Línea de trabajo

Comienza en la llamada a NavigationTurboModule.setRoot mostrada en el stack trace y sigue el recorrido hasta el constructor que recibe un contexto null. Reproduce el cierre inesperado intermitente de Android alrededor de setRoot, identifica las condiciones que lo desencadenan y verifica que el mismo recorrido ya no provoque esta NullPointerException.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

platform: Android type: accepted/bug
What happened?

Sometimes a crash occurs, most likely when calling setRoot

java.lang.NullPointerException: Parameter specified as non-null is null: method TR0., parameter context
at TR0.(SourceFile:1)
at fS0.(Unknown Source)
at AV.j(Unknown Source)
at AV.a(Unknown Source)
at com.reactnativenavigation.react.NavigationTurboModule.setRoot$lambda$0(Unknown Source)
at com.reactnativenavigation.react.NavigationTurboModule.a(Unknown Source)
at T90.run(Unknown Source)
at com.reactnativenavigation.react.NavigationTurboModule.handle$lambda$15(Unknown Source)
at com.reactnativenavigation.react.NavigationTurboModule.o(Unknown Source)
at X90.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:249)
at android.os.Looper.loop(Looper.java:337)
at android.app.ActivityThread.main(ActivityThread.java:9500)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:636)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)

#0. ActivityHelper
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:355)
at android.os.Looper.loopOnce(Looper.java:203)
at android.os.Looper.loop(Looper.java:337)
at android.os.HandlerThread.run(HandlerThread.java:85)

#1. DefaultDispatcher-worker-1
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at Rn$c.n(Unknown Source)
at Rn$c.t(Unknown Source)
at Rn$c.p(Unknown Source)
at Rn$c.run(Unknown Source)

#2. DefaultDispatcher-worker-2
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at Rn$c.n(Unknown Source)
at Rn$c.t(Unknown Source)
at Rn$c.p(Unknown Source)
at Rn$c.run(Unknown Source)

#3. DefaultDispatcher-worker-3
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at Rn$c.n(Unknown Source)
at Rn$c.t(Unknown Source)
at Rn$c.p(Unknown Source)
at Rn$c.run(Unknown Source)

#4. DefaultDispatcher-worker-4
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at Rn$c.n(Unknown Source)
at Rn$c.t(Unknown Source)
at Rn$c.p(Unknown Source)
at Rn$c.run(Unknown Source)

#5. DefaultDispatcher-worker-5
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at Rn$c.n(Unknown Source)
at Rn$c.t(Unknown Source)
at Rn$c.p(Unknown Source)
at Rn$c.run(Unknown Source)

#6. FinalizerDaemon
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:405)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:350)
at java.lang.Daemons$Daemon.run(Daemons.java:135)
at java.lang.Thread.run(Thread.java:1564)

#7. FinalizerWatchdogDaemon
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:405)
at java.lang.Object.wait(Object.java:543)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:483)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:463)
at java.lang.Daemons$Daemon.run(Daemons.java:135)
at java.lang.Thread.run(Thread.java:1564)

#8. Firebase Background Thread #0
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at com.google.firebase.concurrent.b.a(Unknown Source)
at com.google.firebase.concurrent.a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#9. Firebase Background Thread #1
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at com.google.firebase.concurrent.b.a(Unknown Source)
at com.google.firebase.concurrent.a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#10. Firebase Background Thread #2
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at com.google.firebase.concurrent.b.a(Unknown Source)
at com.google.firebase.concurrent.a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#11. Firebase Background Thread #3
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at com.google.firebase.concurrent.b.a(Unknown Source)
at com.google.firebase.concurrent.a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#12. Firebase Blocking Thread #0
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410)
at java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452)
at java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194)
at java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1079)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at com.google.firebase.concurrent.b.a(Unknown Source)
at com.google.firebase.concurrent.a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#13. Firebase-Messaging-Init
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1224)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:953)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at Il1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#14. Firebase-Messaging-Topics-Io
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:371)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:519)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3797)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3738)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1712)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1224)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:953)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1140)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at Il1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:1564)

#15. FrameMetricsAggregator
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:355)
at android.os.Looper.loopOnce(Looper.java:203)
at android.os.Looper.loop(Looper.java:337)
at android.os.HandlerThread.run(HandlerThread.java:85)

#16. FramePolicy
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:355)
at android.os.Looper.loopOnce(Looper.java:203)
at android.os.Looper.loop(Looper.java:337)
at android.os.HandlerThread.run(HandlerThread.java:85)

#17. FramePredictInitTh
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:355)
at android.os.Looper.loopOnce(Looper.java:203)
at android.os.Looper.loop(Looper.java:337)
at android.os.HandlerThread.run(HandlerThread.java:85)

#18. GmsDynamite
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:405)
at java.lang.Object.wait(Object.java:543)
at Jl1.run(Unknown Source)

#19. GoogleApiHandler
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:355)
at android.os.Looper.loopOnce(Looper.java:203)
at android.os.Looper.loop(Looper.java:337)
at android.os.HandlerThread.run(HandlerThread.java:85)

What was the expected behaviour?

No crashes

Was it tested on latest react-native-navigation?
  • I have tested this issue on the latest react-native-navigation release and it still reproduces.
Help us reproduce this issue!

No response

In what environment did this happen?

React Native Navigation version: 8.8.1/8.8.3
React Native version: 0.81.6
Has Fabric (React Native's new rendering system) enabled: yes
Node version: 24
Device model: Any
Android version: Any

Lenguaje dominante
MDX
Estrellas
13.2k
Forks
2.6k
Merge medio
2 d 10 h
PR fusionados (30 d)
6

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de wix/react-native-navigation

Todos los issues de wix/react-native-navigation

Issues similares

Más issues de Mobile Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.