-
Notifications
You must be signed in to change notification settings - Fork 18k
x/net/http2: Transport leaks goroutines (awaitRequestCancel) #24776
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
@tombergan, that code was added in golang/net@1c05540f (https://go-review.googlesource.com/53250) Could you take a look? |
(I think I found the bug. Now I'm working on a test. Should have CL in next couple days.) |
Change https://golang.org/cl/108415 mentions this issue: |
If conn closes but the request cancel select is still blocked we must close the connection wait channel. Updates golang/go#24776 (needs bundle into std for fix) Change-Id: I7e3ffdf2dd9b127727e24fe262b2f4c5d96fc184 Reviewed-on: https://go-review.googlesource.com/108415 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Change https://golang.org/cl/111655 mentions this issue: |
Change https://golang.org/cl/111876 mentions this issue: |
What version of Go are you using (
go version
)?go version go1.10 darwin/amd64
go version go1.10.1 linux/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?What did you do?
HTTP2 client leaks goroutines when the following conditions are met:
http.Client
hasTimeout
setMaxConcurrentStreams
is reasonably lowTest program that reproduces the issue: https://gist.github.com/g7r/3044f20a47e5d41630d9a2cdc5c24918
What did you expect to see?
It is expected to see steady number of goroutines.
What did you see instead?
Number of goroutines grows infinitely.
Leaked goroutine stacktraces are:
The text was updated successfully, but these errors were encountered: