Skip to content
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

fix(timeout.go): remove redundant leaked go func in RegisterTimeoutHandler #4004

Merged
merged 1 commit into from
Aug 2, 2024

Conversation

Roytangrb
Copy link
Contributor

@Roytangrb Roytangrb commented Aug 2, 2024

What type of PR is this?

Bug fix

What does this PR do? Why is it needed?

Fix #4003

The removed goroutine is redundant and will fail user code tests where timeout or sigterm do no happen.

IIUC, we only need to register a noop handler for sigterm signal for bazel to gracefully shutdown in case of a test timeout and signal.Notify(c, signal.SIGTERM) create a strong reference to prevent c from being GCed when RegisterTimeoutHandler returns.

Which issues(s) does this PR fix?

Fixes #4003

Other notes for review

Tested with my own repo tests and a simple time.Sleep ran with --test_timeout

Copy link

google-cla bot commented Aug 2, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@fmeum fmeum enabled auto-merge (squash) August 2, 2024 15:55
@fmeum fmeum force-pushed the fix-go_test-leak-goroutine branch from 3ed33b3 to 55a9d0c Compare August 2, 2024 15:55
Copy link
Member

@fmeum fmeum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Could you sign the CLA? I unfortunately don't have the required permissions to exempt this (small but very useful) change.

@Roytangrb
Copy link
Contributor Author

@fmeum CLA signed, CLA check passed.

Test is failing for a different target per last trigger tho. I dont' seem to have permission to rerun

@fmeum fmeum merged commit 5ec14ee into bazel-contrib:master Aug 2, 2024
2 checks passed
cgrindel-self-hosted-renovate bot referenced this pull request in cgrindel/bazel-starlib Aug 30, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://redirect.github.com/bazelbuild/rules_go) |
http_archive | minor | `v0.49.0` -> `v0.50.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.50.0`](https://redirect.github.com/bazelbuild/rules_go/releases/tag/v0.50.0)

[Compare
Source](https://redirect.github.com/bazelbuild/rules_go/compare/v0.49.0...v0.50.0)

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"67b4d1f517ba73e0a92eb2f57d821f2ddc21f5bc2bd7a231573f11bd8758192e",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.50.0/rules_go-v0.50.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.50.0/rules_go-v0.50.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.23.0")

#### What's Changed

- Break reliance on GOROOT_FINAL by
[@&#8203;JacobOaks](https://redirect.github.com/JacobOaks) in
[https://github.com/bazelbuild/rules_go/pull/3984](https://redirect.github.com/bazelbuild/rules_go/pull/3984)
- Migrate to macos_arm64 by
[@&#8203;meteorcloudy](https://redirect.github.com/meteorcloudy) in
[https://github.com/bazelbuild/rules_go/pull/3990](https://redirect.github.com/bazelbuild/rules_go/pull/3990)
- Support matching release candidate toolchain versions by
[@&#8203;JacobOaks](https://redirect.github.com/JacobOaks) in
[https://github.com/bazelbuild/rules_go/pull/3998](https://redirect.github.com/bazelbuild/rules_go/pull/3998)
- rm crosstool by
[@&#8203;sluongng](https://redirect.github.com/sluongng) in
[https://github.com/bazelbuild/rules_go/pull/3986](https://redirect.github.com/bazelbuild/rules_go/pull/3986)
- fix(timeout.go): remove redundant leaked go func in
RegisterTimeoutHandler by
[@&#8203;Roytangrb](https://redirect.github.com/Roytangrb) in
[https://github.com/bazelbuild/rules_go/pull/4004](https://redirect.github.com/bazelbuild/rules_go/pull/4004)
- Run nogo in a separate validation action by
[@&#8203;fmeum](https://redirect.github.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3995](https://redirect.github.com/bazelbuild/rules_go/pull/3995)

#### New Contributors

- [@&#8203;JacobOaks](https://redirect.github.com/JacobOaks) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3984](https://redirect.github.com/bazelbuild/rules_go/pull/3984)
- [@&#8203;Roytangrb](https://redirect.github.com/Roytangrb) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/4004](https://redirect.github.com/bazelbuild/rules_go/pull/4004)

**Full Changelog**:
bazel-contrib/rules_go@release-0.49...release-0.50

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OC4wIiwidXBkYXRlZEluVmVyIjoiMzguNTguMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: cgrindel-self-hosted-renovate[bot] <139595543+cgrindel-self-hosted-renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in kreempuff/rules_unreal_engine Aug 30, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.49.0` -> `v0.50.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.50.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.50.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.49.0...v0.50.0)

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"67b4d1f517ba73e0a92eb2f57d821f2ddc21f5bc2bd7a231573f11bd8758192e",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.50.0/rules_go-v0.50.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.50.0/rules_go-v0.50.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.23.0")

#### What's Changed

- Break reliance on GOROOT_FINAL by
[@&#8203;JacobOaks](https://togithub.com/JacobOaks) in
[https://github.com/bazelbuild/rules_go/pull/3984](https://togithub.com/bazelbuild/rules_go/pull/3984)
- Migrate to macos_arm64 by
[@&#8203;meteorcloudy](https://togithub.com/meteorcloudy) in
[https://github.com/bazelbuild/rules_go/pull/3990](https://togithub.com/bazelbuild/rules_go/pull/3990)
- Support matching release candidate toolchain versions by
[@&#8203;JacobOaks](https://togithub.com/JacobOaks) in
[https://github.com/bazelbuild/rules_go/pull/3998](https://togithub.com/bazelbuild/rules_go/pull/3998)
- rm crosstool by [@&#8203;sluongng](https://togithub.com/sluongng) in
[https://github.com/bazelbuild/rules_go/pull/3986](https://togithub.com/bazelbuild/rules_go/pull/3986)
- fix(timeout.go): remove redundant leaked go func in
RegisterTimeoutHandler by
[@&#8203;Roytangrb](https://togithub.com/Roytangrb) in
[https://github.com/bazelbuild/rules_go/pull/4004](https://togithub.com/bazelbuild/rules_go/pull/4004)
- Run nogo in a separate validation action by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3995](https://togithub.com/bazelbuild/rules_go/pull/3995)

#### New Contributors

- [@&#8203;JacobOaks](https://togithub.com/JacobOaks) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3984](https://togithub.com/bazelbuild/rules_go/pull/3984)
- [@&#8203;Roytangrb](https://togithub.com/Roytangrb) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/4004](https://togithub.com/bazelbuild/rules_go/pull/4004)

**Full Changelog**:
bazel-contrib/rules_go@release-0.49...release-0.50

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/kreempuff/rules_unreal_engine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

go_test: goroutine leak in RegisterTimeoutHandler
2 participants