-
Notifications
You must be signed in to change notification settings - Fork 9.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Http2 Connection becomes stalled after interrupt during call.execute #7016
Comments
Relates to #3146 |
It looks like this is meant to be covered
|
It seems like it could be related to interrupts vs close. This appears to fix the MediaTest.
I had thought that an interrupt was meant to cancel the call, but it doesn't seem like it does. |
I assume it's the leaked responses that don't get closed, but without being consumed are effectively blocking the entire connection. |
Also tangentially relevant https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#200-alpha01---october-11-2021
|
Gaaahhh!!! The fix above calling |
I guess we can't even know the state of the Connection, maybe partially written output, so we'd need to close the whole connection. As I can do that externally to fix this, no point adding here. I guess the optimal change is to use enqueue instead of execute, avoid this failure condition, and deal with the interrupt later during reading the response.
|
Added some simple flags to the repro https://github.com/square/okhttp/pull/7014/files
|
I think this is covered by
|
Reproduction in https://github.com/square/okhttp/pull/7014/files
With 1 Good thread - downloads work.
With 1 Good thread + 9 Cancelling (interrupt) threads - Download gets stuck, and other threads get SocketTimeout on following request
With 1 Good thread + 9 cancel + Interceptor setting noNewExchanges - Overall systems stays healthy, but download stays stuck.
The text was updated successfully, but these errors were encountered: