Closed YuriiKot closed 3 days ago
Thanks for reporting.
I fail to see the steps you list in the stacktrace you give us; for instance the stacktrace has grpcResponseToException
once but you say it's called twice.
It could be that OkHttp throws on reading, and that after OkHttp threw, Wire tries to read the trailers and this fails.
@oldergod You are right, updated steps to reproduce. I guess IOException is really thrown during read. New steps give similar stacktrace
Is there no trace from OkHttp's read? And your trace isn't analyzable by the IDE right now, are you modifying it, or is it how the play console shows it?
This trace is from Bugsnag reported thread. I see trace from another thread though
Object.java:-2 java.lang.Object.wait
Object.java:386 java.lang.Object.wait
Object.java:524 java.lang.Object.wait
Http2Stream:714 okhttp3.internal.http2.Http2Stream.waitForIo$okhttp
Http2Stream:376 okhttp3.internal.http2.Http2Stream$FramingSource.read
Exchange:281 okhttp3.internal.connection.Exchange$ResponseBodySource.read
RealBufferedSource:265 okio.RealBufferedSource.read
RealBufferedSource:76 okio.RealBufferedSource.read
OkHttpNetwork:189 io.bitdrift.capture.network.okhttp.OkHttpNetwork$StreamState.consumeResponse
OkHttpNetwork:97 io.bitdrift.capture.network.okhttp.OkHttpNetwork$StreamState.access$consumeResponse
OkHttpNetwork:138 io.bitdrift.capture.network.okhttp.OkHttpNetwork$StreamState$2$onResponse$1.run
ThreadPoolExecutor.java:1145 java.util.concurrent.ThreadPoolExecutor.runWorker
ThreadPoolExecutor.java:644 java.util.concurrent.ThreadPoolExecutor$Worker.run
Thread.java:1012 java.lang.Thread.run
Got it. I recommend using the "raw" version of those when sharing with others.
Thanks, good call. I also found another thread with proper trace and updated the question accordingly. In previous messages I guess it was bitdrift logger or something
@oldergod Do you have any recommendations or a workaround to address the issue?
I think OkHttp throws on reading and Wire is wrong in reading the trailers if it cannot. If you don't know what the problem is in the reading (or if the cause is elsewhere), I don't see much. I'll try to update Wire so that we don't read the trailers if we are not to.
Thanks. I don't see reading problem. Our current setup works in prod for 10M+ users. This might be some edge case, but still appears to be the top 1 crash
Closed with #3087 hopefully. Will be in next release happening this week.
Hello!
We have an Android app with huge amount of users and getting crash in Android app
Related thread trace
Most of the time happens in background after activity stop or resume and trying to establish connection
Steps to reproduce:
It's rare edge case for prod that you need to have those 2 exceptions, but still around
0.002%