Closed
Description
I'm currently using gRPC on Android, and it crashes due to the following exceptions:
Case 1:
Fatal Exception: java.lang.IllegalStateException: activeTransport still points to the delayedTransport. Seems transportShutdown() was not called.
at com.google.common.base.Preconditions.checkState(Preconditions.java:174)
at io.grpc.internal.TransportSet$TransportListener.transportTerminated(TransportSet.java:495)
at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Case 2:
Fatal Exception: java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:159)
at io.grpc.internal.DelayedClientTransport.startBackoff(DelayedClientTransport.java:324)
at io.grpc.internal.TransportSet$2.run(TransportSet.java:297)
at io.grpc.internal.TransportSet$TransportListener.transportShutdown(TransportSet.java:477)
at io.grpc.okhttp.OkHttpClientTransport.startGoAway(OkHttpClientTransport.java:568)
at io.grpc.okhttp.OkHttpClientTransport.access$1400(OkHttpClientTransport.java:98)
at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:752)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Is there any way to handle these exceptions before crashing?
Thanks in advance.