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

runtime: intermittent os/exec.Command.Start() Hang on Darwin in Presence of "plugin" Package [1.16 backport] #50245

Closed
gopherbot opened this issue Dec 17, 2021 · 3 comments
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link

@cherrymui requested issue #38824 to be considered for backport to the next 1.16 minor release.

@gopherbot please backport this to previous releases. This can cause program that uses plugins to hang on macOS.

@gopherbot
Copy link
Author

Change https://golang.org/cl/373095 mentions this issue: [release-branch.go1.16] cmd/link: force eager binding when using plugins on darwin

@cagedmantis
Copy link
Contributor

This is a serious issue without a workaround.

@cagedmantis cagedmantis added the CherryPickApproved Used during the release process for point releases label Jan 5, 2022
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Jan 5, 2022
@cagedmantis cagedmantis modified the milestones: Go1.16.13, Go1.16.14 Jan 6, 2022
gopherbot pushed a commit that referenced this issue Feb 7, 2022
…ins on darwin

When building/using plugins on darwin, we need to use flat
namespace so the same symbol from the main executable and the
plugin can be resolved to the same address. Apparently, when using
flat namespace the dynamic linker can hang at forkExec when
resolving a lazy binding. Work around it by forcing early bindings.

Updates #38824.
Fixes #50245.

Change-Id: I983aa0a0960b15bf3f7871382e8231ee244655f4
Reviewed-on: https://go-review.googlesource.com/c/go/+/372798
Trust: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit c5fee93)
Reviewed-on: https://go-review.googlesource.com/c/go/+/373095
@gopherbot
Copy link
Author

Closed by merging 5ef9566 to release-branch.go1.16.

@golang golang locked and limited conversation to collaborators Feb 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

2 participants