Skip to content

Android crash NullPointerException TR0.<init> #8268

Description

@ermakov95

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions