-
Notifications
You must be signed in to change notification settings - Fork 18k
net: fix deadlock in lookupProtocol on Windows #73364
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
base: master
Are you sure you want to change the base?
Conversation
This PR (HEAD: a22c8bf) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/664956. Important tips:
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Gopher Robot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
a22c8bf
to
20f125f
Compare
This PR (HEAD: 20f125f) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/664956. Important tips:
|
Message from Zxilly Chou: Patch Set 2: Code-Review+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Damien Neil: Patch Set 2: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Go LUCI: Patch Set 2: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-04-16T23:59:05Z","revision":"26d9098a565eb0bf17c73d69c0302d6bfd276417"} Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Damien Neil: Patch Set 2: (3 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Damien Neil: Patch Set 2: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Go LUCI: Patch Set 2: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Go LUCI: Patch Set 2: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
If the context expires before acquireThread(ctx) succeeds, then the goroutine can block like: net.lookupProtocol.func1() src/net/lookup_windows.go:58 +0x105 created by net.lookupProtocol in goroutine 2834 src/net/lookup_windows.go:56 +0xda We saw this in our UTs with a leak detector, confirmed by inspection of the source code.
20f125f
to
27af747
Compare
This PR (HEAD: 27af747) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/664956. Important tips:
|
Message from Spike Curtis: Patch Set 3: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from Damien Neil: Patch Set 3: Code-Review+2 Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
Message from David Chase: Patch Set 3: Code-Review+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/664956. |
If the context expires before acquireThread(ctx) succeeds, then the goroutine can block like:
net.lookupProtocol.func1()
src/net/lookup_windows.go:58 +0x105
created by net.lookupProtocol in goroutine 2834
src/net/lookup_windows.go:56 +0xda
We saw this in our UTs with a leak detector, confirmed by inspection of the source code.