-
Notifications
You must be signed in to change notification settings - Fork 18k
net/http: HTTP/1 transport connection broken: readLoopPeekFailLocked: <nil> #15253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@jingweno could you please also include a sample of the "Unsolicited response received on idle HTTP channel" lines? I believe they said the data was |
@dpiddy Good call. The error was Also it would be nice that |
Does it happen at tip? |
@bradfitz We'd have to try tip on our staging. Will report result back. |
@bradfitz Just make sure I understand your terms, does tip mean master? Or does that mean particular branches? |
Yes, master. |
Any update? |
@bradfitz Unfortunately, we weren't able to reproduce the issue on our staging environment...we may have to wait for 1.7 and then turn on keep alive in prod and see if it fixes it... Any idea on top of you mind that might have caused this? |
Pretty sure this is a dup of #15446 which has more info. |
Please answer these questions before submitting your issue. Thanks!
go version
)?go env
)?If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
Proxying requests using
httputil.ReverseProxy
with a defaulthttp.Transport
. A simplified version of the code is here.We expect everything to run fine.
There were errors
net/http: HTTP/1 transport connection broken: readLoopPeekFailLocked: <nil>
. The error happened occasionally and seemed to only happen to backend services that responds in gzip. This is the code that emitted the error.After some investigation, we thought it might be related to keep alive that when all the buffers line up alright but EOF was seen (like from the gzip reader) and the connection was thought to be free again and was put back in the pool. Then when the next request uses that connection it saw the end of the chunked encoding. We disabled keel alive by setting
DisableKeepAlives
on the transport and the errors hasn't happened for the past 24 hours. We also dug around and thought it might be related to 18072ad (but don't quote us on that).Let us know if you need more info.
/cc @dpiddy @spofdamon
The text was updated successfully, but these errors were encountered: