https://kotlinlang.org logo
#coroutines
Title
# coroutines
s

SUPERCILEX

03/15/2019, 9:59 PM
It seems like if an exception is raised in some background thread from Java code and passed through the coroutines funnel, you get useless stuff like this:
Copy code
Fatal Exception: java.net.SocketTimeoutException: timeout
       at okio.Okio$4.newTimeoutException(Okio.java:232)
       at okio.AsyncTimeout.exit(AsyncTimeout.java:275)
       at okio.AsyncTimeout$2.read(AsyncTimeout.java:243)
       at okio.RealBufferedSource.indexOf(RealBufferedSource.java:354)
       at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:226)
       at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
       at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
       at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at support.bymason.magicwand.core.data.PlatformRequestsKt$client$1.intercept(PlatformRequests.kt:18)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
       at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
       at okhttp3.RealCall$AsyncCall.execute(RealCall.java:2254)
       at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
       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)
g

gildor

03/16/2019, 4:48 AM
But looks that this is some Okio exception that cause crash of your app, looks that it never catched
I may be wrong of course, just a guess
g

gildor

03/16/2019, 9:32 AM
I got it, but it's not obvious that this is problem of coroutines
4 Views