Skip to content

runtime, x/sys/unix: Connectx is broken on darwin/amd64 [1.23 backport] #73380

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

Closed
randall77 opened this issue Apr 15, 2025 · 2 comments
Closed
Labels
Backport Issues created for requesting a backport of a change to a previous Go version. CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Milestone

Comments

@randall77
Copy link
Contributor

@randall77 requested issue #71302 to be considered for backport to the next 1.23 minor release.

Ok, that's good. I'll get that CL in soon.

I think the remaining question is, should we backport?
In favor:

  1. This could cause really weird behavior and/or corruption on darwin/amd64. There is only one stdlib call affected (syscall/Getnameinfo), but several in x.sys (Connectx for freebsd, mmap for netbsd, dragonfly).
  2. darwin/amd64 is a first-class port.

In opposition:

  1. This has always been broken (since introduced in late 2022). It is not a regression from 1.24.
  2. Only the Connectx failure has been noticed.

I'm leaning towards backporting. The fix is pretty simple and the unfixed behavior is very hard to debug and/or work around.

@gopherbot please open backport issues

@randall77 randall77 added CherryPickCandidate Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime. labels Apr 15, 2025
@randall77 randall77 added this to the Go1.23.9 milestone Apr 15, 2025
@gabyhelp gabyhelp added the Backport Issues created for requesting a backport of a change to a previous Go version. label Apr 15, 2025
@prattmic prattmic added the CherryPickApproved Used during the release process for point releases label Apr 16, 2025
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Apr 16, 2025
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/666015 mentions this issue: [release-branch.go1.23] runtime: fix 9-arg syscall on darwin/amd64

@dmitshur dmitshur changed the title x/sys/unix: Connectx is broken on darwin/amd64 [1.23 backport] runtime, x/sys/unix: Connectx is broken on darwin/amd64 [1.23 backport] Apr 16, 2025
gopherbot pushed a commit that referenced this issue Apr 28, 2025
The last 3 arguments need to be passed on the stack, not registers.

Fixes #73380

Change-Id: Ib1155ad1a805957fad3d9594c93981a558755591
Reviewed-on: https://go-review.googlesource.com/c/go/+/665435
Reviewed-by: Michael Pratt <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
Reviewed-by: Keith Randall <[email protected]>
(cherry picked from commit 9d7de04)
Reviewed-on: https://go-review.googlesource.com/c/go/+/666015
@gopherbot
Copy link
Contributor

Closed by merging CL 666015 (commit 8ff45d1) to release-branch.go1.23.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backport Issues created for requesting a backport of a change to a previous Go version. CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Projects
None yet
Development

No branches or pull requests

4 participants