0

after upgrade my app, an user have a crash when he open the app.

Here is the report, it seems to be Cloud Firestore but I don't understand why and how correct this.

Exception java.lang.RuntimeException: Internal error in Cloud Firestore (24.2.0).
  at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$3 (AsyncQueue.java)
  at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$jx84dqgUsF4ojecSMurRqFLFD1Y.run (-.java)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:233)
  at android.os.Looper.loop (Looper.java:344)
  at android.app.ActivityThread.main (ActivityThread.java:8210)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:584)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1034)
Caused by java.lang.RuntimeException: android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
  at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor.lambda$executeAndReportResult$1 (AsyncQueue.java)
  at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$SynchronizedShutdownAwareExecutor$pKSAgg-ozJ8RbUveSl-44aUfFQw.run (-.java)
  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)
  at java.lang.Thread.run (Thread.java:920)
Caused by android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1
  at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow (SQLiteConnection.java)
  at android.database.sqlite.SQLiteConnection.executeForCursorWindow (SQLiteConnection.java:1009)
  at android.database.sqlite.SQLiteSession.executeForCursorWindow (SQLiteSession.java:838)
  at android.database.sqlite.SQLiteQuery.fillWindow (SQLiteQuery.java:62)
  at android.database.sqlite.SQLiteCursor.fillWindow (SQLiteCursor.java:145)
  at android.database.sqlite.SQLiteCursor.getCount (SQLiteCursor.java:132)
  at android.database.AbstractCursor.moveToPosition (AbstractCursor.java:238)
  at android.database.AbstractCursor.moveToNext (AbstractCursor.java:287)
  at com.google.firebase.firestore.local.SQLitePersistence$Query.forEach (SQLitePersistence.java)
  at com.google.firebase.firestore.local.SQLiteDocumentOverlayCache.processSingleCollection (SQLiteDocumentOverlayCache.java)
  at com.google.firebase.firestore.local.SQLiteDocumentOverlayCache.getOverlays (SQLiteDocumentOverlayCache.java)
  at com.google.firebase.firestore.local.LocalDocumentsView.populateOverlays (LocalDocumentsView.java)
  at com.google.firebase.firestore.local.LocalDocumentsView.getOverlayedDocuments (LocalDocumentsView.java)
  at com.google.firebase.firestore.local.LocalStore.lambda$writeLocally$2 (LocalStore.java)
  at com.google.firebase.firestore.local.LocalStore.lambda$writeLocally$2$LocalStore (LocalStore.java)
  at com.google.firebase.firestore.local.-$$Lambda$LocalStore$cg_93_KSzr574nUI4weqpmjMR0A.get (-.java)
  at com.google.firebase.firestore.local.SQLitePersistence.runTransaction (SQLitePersistence.java)
  at com.google.firebase.firestore.local.LocalStore.writeLocally (LocalStore.java)
  at com.google.firebase.firestore.core.SyncEngine.writeMutations (SyncEngine.java)
  at com.google.firebase.firestore.core.FirestoreClient.lambda$write$12 (FirestoreClient.java)
  at com.google.firebase.firestore.core.FirestoreClient.lambda$write$12$FirestoreClient (FirestoreClient.java)
  at com.google.firebase.firestore.core.-$$Lambda$FirestoreClient$EkV-69Na9I9DmQjVN9C_ABIfHUQ.run (-.java)
  at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$2 (AsyncQueue.java)
  at com.google.firebase.firestore.util.-$$Lambda$AsyncQueue$Y9GO7zO2DX6MzQJ5TbKtKW_NzO0.call (-.java)
  at com.google.firebase.firestore.util.AsyncQueue$SynchronizedShutdownAwareExecutor.lambda$executeAndReportResult$1 (AsyncQueue.java)
Nitneuq
  • 3,866
  • 13
  • 41
  • 64

1 Answers1

0

What kind of datas are you manipulating ?
The error message Row too big to fit into CursorWindow is pretty self-explanatory. You're trying to manipulate datas which are 'too big'.

SQLite can handle datas up to 2Mb at once.

You usually get this kind of error when trying to retrieve / store images.

FDuhen
  • 4,097
  • 1
  • 15
  • 26
  • Thank you, Yes it’s possible to be big, because I save all key value of sharedpref from my app – Nitneuq Aug 05 '22 at 08:30