Недавно я получил этот сбой от пользователей на Crashlytics:
PartialForwardingClientCallListener.java line 39
io.grpc.PartialForwardingClientCallListener.onClose
Fatal Exception: java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).
at com.google.firebase.firestore.g.zza.zzb(com.google.firebase:firebase-firestore@@17.0.5:324)
at com.google.firebase.firestore.g.zzd.run(com.google.firebase:firebase-firestore@@17.0.5)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5763)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
Caused by java.util.MissingFormatArgumentException: Format specifier: a
at java.util.Formatter.getArgument(Formatter.java:1111)
at java.util.Formatter.doFormat(Formatter.java:1076)
at java.util.Formatter.format(Formatter.java:1042)
at java.util.Formatter.format(Formatter.java:1011)
at java.lang.String.format(String.java:1554)
at java.lang.String.format(String.java:1528)
at com.google.firebase.firestore.g.zzr.zza(com.google.firebase:firebase-firestore@@17.0.5:29)
at com.google.firebase.firestore.g.zzr.zza(com.google.firebase:firebase-firestore@@17.0.5:44)
at com.google.firebase.firestore.f.zzk.zza(com.google.firebase:firebase-firestore@@17.0.5:169)
at com.google.firebase.firestore.f.zzk.zza(com.google.firebase:firebase-firestore@@17.0.5:124)
at com.google.firebase.firestore.f.zzo.zza(com.google.firebase:firebase-firestore@@17.0.5:9381)
at com.google.firebase.firestore.f.zza.zza(com.google.firebase:firebase-firestore@@17.0.5:290)
at com.google.firebase.firestore.f.zza.zza(com.google.firebase:firebase-firestore@@17.0.5:347)
at com.google.firebase.firestore.f.zza$zzb.zza(com.google.firebase:firebase-firestore@@17.0.5:104)
at com.google.firebase.firestore.g.zzm$1.onClose(com.google.firebase:firebase-firestore@@17.0.5:104)
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:684)
at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:391)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:1471)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:1553)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:591)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at com.google.firebase.firestore.g.zza$zza.run(com.google.firebase:firebase-firestore@@17.0.5:190)
at java.lang.Thread.run(Thread.java:818)
Этот сбой иногда достигает:
Caused by java.util.UnknownFormatConversionException: Conversion = 'p'
Я не могу воспроизвести этот сбой, но кажется, что эта функцияза это отвечает: com.google.firebase.firestore.g.zza (..)
private static void zza(int var0, String var1, String var2, Object... var3) {
if (var0 - 1 >= zza - 1) {
var1 = String.format("(%s) [%s]: ", "0.6.6-dev", var1) + String.format(var2, var3);
switch(null.zza[var0 - 1]) {
case 1:
Log.i("Firestore", var1);
return;
case 2:
Log.w("Firestore", var1);
return;
case 3:
throw new IllegalStateException("Trying to log something on level NONE");
}
}
}
Версия FiresStore: com.google.firebase: firebase-firestore: 17.1.0
Мой код использует обычные операции Firestore, такие как получить, установить, транзакции.Я также использую firebase-UI-firestore для списка запросов.
Почему произошел этот сбой и как его решить?