-
Notifications
You must be signed in to change notification settings - Fork 18.5k
runtime,runtime/pprof: clean up goroutine leak profile writing #76045
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
runtime,runtime/pprof: clean up goroutine leak profile writing #76045
Conversation
|
This PR (HEAD: 7f1c287) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Gopher Robot: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
7f1c287 to
9f938be
Compare
|
This PR (HEAD: 9f938be) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Georgian-Vlad Saioc: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Georgian-Vlad Saioc: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 3: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 3: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-10-27T11:25:05Z","revision":"b56ebcfe8ea10abbbd4dc11673785d168bf8f191"} Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 3: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 3: This CL has failed the run. Reason: Tryjob golang/try/gotip-linux-386 has failed with summary (view all results):
To reproduce, try Additional links for debugging: Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 3: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR (HEAD: 8ddb8be) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Michael Knyszek: Patch Set 4: (3 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR (HEAD: 21bfbb3) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Georgian-Vlad Saioc: Patch Set 5: (3 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 5: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 5: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-10-30T11:44:40Z","revision":"041a4f97b6f23e9cc6c9f9a14a5a5d719016efea"} Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 5: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 5: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 5: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 5: Code-Review+2 (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR (HEAD: ddfb0aa) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Georgian-Vlad Saioc: Patch Set 5: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Florian Lehner: Patch Set 6: Code-Review+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 6: Code-Review+2 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 6: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 6: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-11-04T13:39:08Z","revision":"887162a27d8caa8ae89f653b6aed2abe5eec3b84"} Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 6: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 7: LUCI-TryBot-Result-1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 7: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Georgian-Vlad Saioc: Patch Set 7: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 7: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 7: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 7: Code-Review+2 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR (HEAD: 7130fe4) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Michael Knyszek: Patch Set 8: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 8: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-11-05T17:38:27Z","revision":"619ffbd8644b8cfd10c643c9467b37893359b99c"} Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 8: Auto-Submit+1 Code-Review+2 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Knyszek: Patch Set 8: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 8: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 8: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Pratt: Patch Set 8: Code-Review+1 (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR (HEAD: 5e9eb3b) has been imported to Gerrit for code review. Please visit Gerrit at https://go-review.googlesource.com/c/go/+/714580. Important tips:
|
|
Message from Georgian-Vlad Saioc: Patch Set 9: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 9: Commit-Queue+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 9: Dry run: CV is trying the patch. Bot data: {"action":"start","triggered_at":"2025-11-06T11:06:59Z","revision":"830c0028ca17e75d37c090434492a748d1716a80"} Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from t hepudds: Patch Set 9: -Commit-Queue Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 9: This CL has passed the run Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Go LUCI: Patch Set 9: LUCI-TryBot-Result+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Michael Pratt: Patch Set 9: Code-Review+2 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
Message from Junyang Shao: Patch Set 9: Code-Review+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
Cleaned up goroutine leak profile extraction: - removed the acquisition of goroutineProfile semaphore - inlined the call to saveg when recording stacks instead of using doRecordGoroutineProfile, which had side-effects over goroutineProfile fields. Added regression tests for goroutine leak profiling frontend for binary and debug=1 profile formats. Added stress tests for concurrent goroutine and goroutine leak profile requests. Change-Id: I55c1bcef11e9a7fb7699b4c5a2353e594d3e7173 GitHub-Last-Rev: 5e9eb3b GitHub-Pull-Request: #76045 Reviewed-on: https://go-review.googlesource.com/c/go/+/714580 Reviewed-by: Michael Pratt <[email protected]> Reviewed-by: Michael Knyszek <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Junyang Shao <[email protected]>
|
Message from Michael Knyszek: Patch Set 9: Code-Review+2 Please don’t reply on this GitHub thread. Visit golang.org/cl/714580. |
|
This PR is being closed because golang.org/cl/714580 has been merged. |
Cleaned up goroutine leak profile extraction:
doRecordGoroutineProfile, which had side-effects over
goroutineProfile fields.
Added regression tests for goroutine leak profiling frontend for binary
and debug=1 profile formats.
Added stress tests for concurrent goroutine and goroutine leak profile requests.