Skip to content

Fatal Exception: java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.1) #3490

Closed
@bswhite1

Description

@bswhite1

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: 2021.1.1 Patch 2_
  • Firebase Component: _Firestore (Database, Firestore, Storage, Functions, etc)
  • Component version: 24.0.1_

[REQUIRED] Step 3: Describe the problem

Crashlitics have dramatically spiked with Firebase-Firestore 24.0.1, reverting to 24.0.0 stops the issues.

4 of the crash reports are all very similar.

All 4 are: Fatal Exception: java.lang.RuntimeException Internal error in Cloud Firestore (24.0.1).

All 4 seem to be triggered by: Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'com.google.firebase.firestore.c1.o com.google.firebase.firestore.c1.s.getKey()' on a null object reference

These are within the io.grpc.internal.ClientCallImpl or io.grpc.internal.DelayedClientCall

Steps to reproduce:

Still have not been able to reproduce locally even with a release build. Had some pretty upset users, and had to revert to 24.0.0

Stack Traces:

Trace 1
Fatal Exception: java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.1).
       at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3(AsyncQueue.java:19)
       at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$jx84dqgUsF4ojecSMurRqFLFD1Y.run(-.java:2)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:250)
       at android.app.ActivityThread.main(ActivityThread.java:7803)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.firestore.c1.o com.google.firebase.firestore.c1.s.getKey()' on a null object reference
       at com.google.firebase.firestore.model.mutation.MutationBatch.applyToLocalView(MutationBatch.java:61)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:77)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:6)
       at com.google.firebase.firestore.local.LocalStore.lambda$rejectBatch$4(LocalStore.java:40)
       at com.google.firebase.firestore.local.LocalStore.lambda$rejectBatch$4$LocalStore(LocalStore.java)
       at com.google.firebase.firestore.local.-$$Lambda$LocalStore$q2bi6U1gVZLUJFQcPgOyxQhIzUs.get(-.java:4)
       at com.google.firebase.firestore.local.SQLitePersistence.runTransaction(SQLitePersistence.java:20)
       at com.google.firebase.firestore.local.LocalStore.rejectBatch(LocalStore.java:9)
       at com.google.firebase.firestore.core.SyncEngine.handleRejectedWrite(SyncEngine.java:7)
       at com.google.firebase.firestore.core.MemoryComponentProvider$RemoteStoreCallback.handleRejectedWrite(MemoryComponentProvider.java:6)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteError(RemoteStore.java:39)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteStreamClose(RemoteStore.java:42)
       at com.google.firebase.firestore.remote.RemoteStore.access$600(RemoteStore.java)
       at com.google.firebase.firestore.remote.RemoteStore$2.onClose(RemoteStore.java:2)
       at com.google.firebase.firestore.remote.AbstractStream.close(AbstractStream.java:246)
       at com.google.firebase.firestore.remote.AbstractStream.handleServerClose(AbstractStream.java:14)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onClose$3(AbstractStream.java:72)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onClose$3$AbstractStream$StreamObserver(AbstractStream.java)
       at com.google.firebase.firestore.remote.-$$Lambda$AbstractStream$StreamObserver$TipiGQ2cqCGKJgDRSEMcijVDBXg.run(-.java:4)
       at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(AbstractStream.java:21)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onClose(AbstractStream.java:7)
       at com.google.firebase.firestore.remote.FirestoreChannel$1.onClose(FirestoreChannel.java:2)
***  at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:10)**
       at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:13)
       at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:5)
       at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java)
       at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:39)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:18)
       at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:6)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:17)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:15)
       at java.lang.Thread.run(Thread.java:923)

Trace 2
Fatal Exception: java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.1).
       at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3(AsyncQueue.java:19)
       at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$jx84dqgUsF4ojecSMurRqFLFD1Y.run(-.java:2)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:250)
       at android.app.ActivityThread.main(ActivityThread.java:7803)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.firestore.c1.o com.google.firebase.firestore.c1.s.getKey()' on a null object reference
       at com.google.firebase.firestore.model.mutation.MutationBatch.applyToLocalView(MutationBatch.java:61)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:77)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:6)
       at com.google.firebase.firestore.local.LocalStore.lambda$rejectBatch$4(LocalStore.java:40)
       at com.google.firebase.firestore.local.LocalStore.lambda$rejectBatch$4$LocalStore(LocalStore.java)
       at com.google.firebase.firestore.local.-$$Lambda$LocalStore$q2bi6U1gVZLUJFQcPgOyxQhIzUs.get(-.java:4)
       at com.google.firebase.firestore.local.SQLitePersistence.runTransaction(SQLitePersistence.java:20)
       at com.google.firebase.firestore.local.LocalStore.rejectBatch(LocalStore.java:9)
       at com.google.firebase.firestore.core.SyncEngine.handleRejectedWrite(SyncEngine.java:7)
       at com.google.firebase.firestore.core.MemoryComponentProvider$RemoteStoreCallback.handleRejectedWrite(MemoryComponentProvider.java:6)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteError(RemoteStore.java:39)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteStreamClose(RemoteStore.java:42)
       at com.google.firebase.firestore.remote.RemoteStore.access$600(RemoteStore.java)
       at com.google.firebase.firestore.remote.RemoteStore$2.onClose(RemoteStore.java:2)
       at com.google.firebase.firestore.remote.AbstractStream.close(AbstractStream.java:246)
       at com.google.firebase.firestore.remote.AbstractStream.handleServerClose(AbstractStream.java:14)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onClose$3(AbstractStream.java:72)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onClose$3$AbstractStream$StreamObserver(AbstractStream.java)
       at com.google.firebase.firestore.remote.-$$Lambda$AbstractStream$StreamObserver$TipiGQ2cqCGKJgDRSEMcijVDBXg.run(-.java:4)
       at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(AbstractStream.java:21)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onClose(AbstractStream.java:7)
       at com.google.firebase.firestore.remote.FirestoreChannel$1.onClose(FirestoreChannel.java:2)
***  at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java)
       at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:39)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:18)
       at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:6)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:17)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:15)
       at java.lang.Thread.run(Thread.java:923)

Trace 3
Fatal Exception: java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.1).
       at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3(AsyncQueue.java:19)
       at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$jx84dqgUsF4ojecSMurRqFLFD1Y.run(-.java:2)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:250)
       at android.app.ActivityThread.main(ActivityThread.java:7803)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.firestore.c1.o com.google.firebase.firestore.c1.s.getKey()' on a null object reference
       at com.google.firebase.firestore.model.mutation.MutationBatch.applyToLocalView(MutationBatch.java:61)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:77)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:6)
       at com.google.firebase.firestore.local.LocalStore.lambda$acknowledgeBatch$3(LocalStore.java:40)
       at com.google.firebase.firestore.local.LocalStore.lambda$acknowledgeBatch$3$LocalStore(LocalStore.java)
       at com.google.firebase.firestore.local.-$$Lambda$LocalStore$lVdtE1Q-smZ5G8FkMVocZAwo0B4.get(-.java:4)
       at com.google.firebase.firestore.local.SQLitePersistence.runTransaction(SQLitePersistence.java:20)
       at com.google.firebase.firestore.local.LocalStore.acknowledgeBatch(LocalStore.java:9)
       at com.google.firebase.firestore.core.SyncEngine.handleSuccessfulWrite(SyncEngine.java:30)
       at com.google.firebase.firestore.core.MemoryComponentProvider$RemoteStoreCallback.handleSuccessfulWrite(MemoryComponentProvider.java:6)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteStreamMutationResults(RemoteStore.java:20)
       at com.google.firebase.firestore.remote.RemoteStore.access$500(RemoteStore.java)
       at com.google.firebase.firestore.remote.RemoteStore$2.onWriteResponse(RemoteStore.java:2)
       at com.google.firebase.firestore.remote.WriteStream.onNext(WriteStream.java:68)
       at com.google.firebase.firestore.remote.WriteStream.onNext(WriteStream.java:2)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onNext$1(AbstractStream.java:42)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onNext$1$AbstractStream$StreamObserver(AbstractStream.java)
       at com.google.firebase.firestore.remote.-$$Lambda$AbstractStream$StreamObserver$IZBnAkL3D_hQ5ofbDpSmX2lhuPo.run(-.java:4)
       at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(AbstractStream.java:21)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onNext(AbstractStream.java:7)
       at com.google.firebase.firestore.remote.FirestoreChannel$1.onMessage(FirestoreChannel.java:2)
  *** at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:40)**
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:18)
       at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:6)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:17)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:15)
       at java.lang.Thread.run(Thread.java:923)
Trace 4
Fatal Exception: java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.1).
       at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3(AsyncQueue.java:19)
       at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$jx84dqgUsF4ojecSMurRqFLFD1Y.run(-.java:2)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:246)
       at android.app.ActivityThread.main(ActivityThread.java:8633)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.firestore.c1.o com.google.firebase.firestore.c1.s.getKey()' on a null object reference
       at com.google.firebase.firestore.model.mutation.MutationBatch.applyToLocalView(MutationBatch.java:61)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:77)
       at com.google.firebase.firestore.local.LocalDocumentsView.recalculateAndSaveOverlays(LocalDocumentsView.java:6)
       at com.google.firebase.firestore.local.LocalStore.lambda$acknowledgeBatch$3(LocalStore.java:40)
       at com.google.firebase.firestore.local.LocalStore.lambda$acknowledgeBatch$3$LocalStore(LocalStore.java)
       at com.google.firebase.firestore.local.-$$Lambda$LocalStore$lVdtE1Q-smZ5G8FkMVocZAwo0B4.get(-.java:4)
       at com.google.firebase.firestore.local.SQLitePersistence.runTransaction(SQLitePersistence.java:20)
       at com.google.firebase.firestore.local.LocalStore.acknowledgeBatch(LocalStore.java:9)
       at com.google.firebase.firestore.core.SyncEngine.handleSuccessfulWrite(SyncEngine.java:30)
       at com.google.firebase.firestore.core.MemoryComponentProvider$RemoteStoreCallback.handleSuccessfulWrite(MemoryComponentProvider.java:6)
       at com.google.firebase.firestore.remote.RemoteStore.handleWriteStreamMutationResults(RemoteStore.java:20)
       at com.google.firebase.firestore.remote.RemoteStore.access$500(RemoteStore.java)
       at com.google.firebase.firestore.remote.RemoteStore$2.onWriteResponse(RemoteStore.java:2)
       at com.google.firebase.firestore.remote.WriteStream.onNext(WriteStream.java:68)
       at com.google.firebase.firestore.remote.WriteStream.onNext(WriteStream.java:2)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onNext$1(AbstractStream.java:42)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.lambda$onNext$1$AbstractStream$StreamObserver(AbstractStream.java)
       at com.google.firebase.firestore.remote.-$$Lambda$AbstractStream$StreamObserver$IZBnAkL3D_hQ5ofbDpSmX2lhuPo.run(-.java:4)
       at com.google.firebase.firestore.remote.AbstractStream$CloseGuardedRunner.run(AbstractStream.java:21)
       at com.google.firebase.firestore.remote.AbstractStream$StreamObserver.onNext(AbstractStream.java:7)
       at com.google.firebase.firestore.remote.FirestoreChannel$1.onMessage(FirestoreChannel.java:2)
 *** at io.grpc.internal.DelayedClientCall$DelayedListener.onMessage(DelayedClientCall.java:6)**
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:40)
       at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:18)
       at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:6)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:17)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor$DelayedStartFactory.run(AsyncQueue.java:15)
       at java.lang.Thread.run(Thread.java:923)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions