Closed
Description
[REQUIRED] Step 2: Describe your environment
- Firebase Component: Firestore
- Component version: 18.2.0
- Affected Android Versions: 4.2.2, 5.1.1
[REQUIRED] Step 3: Describe the problem
Got this stack trace from crashlytics:
Fatal Exception: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@3c12814d rejected from com.google.firebase.firestore.util.AsyncQueue$1@394ca676[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 6141]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:298)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:503)
at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:592)
at io.grpc.internal.SerializingExecutor.schedule(SerializingExecutor.java:93)
at io.grpc.internal.SerializingExecutor.execute(SerializingExecutor.java:86)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.closed(ClientCallImpl.java:588)
at io.grpc.internal.ForwardingClientStreamListener.closed(ForwardingClientStreamListener.java:39)
at io.grpc.internal.InternalSubchannel$CallTracingTransport$1$1.closed(InternalSubchannel.java:716)
at io.grpc.internal.DelayedStream$DelayedStreamListener$5.run(DelayedStream.java:441)
at io.grpc.internal.DelayedStream$DelayedStreamListener.delayOrExecute(DelayedStream.java:383)
at io.grpc.internal.DelayedStream$DelayedStreamListener.closed(DelayedStream.java:438)
at io.grpc.internal.AbstractClientStream$TransportState.closeListener(AbstractClientStream.java:452)
at io.grpc.internal.AbstractClientStream$TransportState.access$400(AbstractClientStream.java:212)
at io.grpc.internal.AbstractClientStream$TransportState$1.run(AbstractClientStream.java:435)
at io.grpc.internal.AbstractClientStream$TransportState.deframerClosed(AbstractClientStream.java:273)
at io.grpc.internal.Http2ClientStreamTransportState.deframerClosed(Http2ClientStreamTransportState.java:31)
at io.grpc.okhttp.OkHttpClientStream$TransportState.deframerClosed(OkHttpClientStream.java:282)
at io.grpc.internal.MessageDeframer.close(MessageDeframer.java:229)
at io.grpc.internal.MessageDeframer.closeWhenComplete(MessageDeframer.java:191)
at io.grpc.internal.AbstractStream$TransportState.closeDeframer(AbstractStream.java:183)
at io.grpc.internal.AbstractClientStream$TransportState.transportReportStatus(AbstractClientStream.java:438)
at io.grpc.okhttp.OkHttpClientTransport.startGoAway(OkHttpClientTransport.java:765)
at io.grpc.okhttp.OkHttpClientTransport.access$1700(OkHttpClientTransport.java:102)
at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:980)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Here is the device information:
Steps to reproduce:
It happens rarely but the amount of devices in production is less than 100.
Relevant Code:
N/A