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

syscall: (*LazyProc).Call does not keep arguments alive (anymore) [1.13 backport] #34642

Closed
gopherbot opened this issue Oct 1, 2019 · 4 comments
Labels
CherryPickCandidate Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link

@zx2c4 requested issue #34474 to be considered for backport to the next 1.13 minor release.

@gopherbot please backport this, because mis-compilations are dangerous and the fix appears to be a trivial single line fix.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Oct 1, 2019
@gopherbot gopherbot added this to the Go1.13.2 milestone Oct 1, 2019
@mdempsky
Copy link
Member

mdempsky commented Oct 8, 2019

@FiloSottile I'm curious your thoughts here.

https://go-review.googlesource.com/c/go/+/198043 fixes direct calls to LazyProc.Call. It's minimal and safe and fixes the regression that was introduced in Go 1.8.

However, in #34684, I'm currently waiting for a decision on whether we support indirect call to LazyProc.Call too. If we do (which I don't think we handled correctly even back in Go 1.7), a somewhat more invasive fix will be necessary.

I'm somewhat inclined to proceed with CL 198043 as-is for now, and backport just that to Go 1.13. And then if we do decide to support indirect LazyProc.Call calls, it's okay to just fix that in Go 1.14 without backporting.

@ianlancetaylor
Copy link
Contributor

I'm fairly certain that indirect calls to LazyProc.Call never worked correctly. Even if we fix that somehow, I don't see any reason to backport that fix to 1.13.

@katiehockman katiehockman modified the milestones: Go1.13.2, Go1.13.3 Oct 17, 2019
@toothrot toothrot modified the milestones: Go1.13.3, Go1.13.4 Oct 17, 2019
@andybons andybons modified the milestones: Go1.13.4, Go1.13.5 Oct 31, 2019
@gopherbot
Copy link
Author

Change https://golang.org/cl/205244 mentions this issue: [release-branch.go1.13] cmd/compile: fix //go:uintptrescapes for basic method calls

@cagedmantis
Copy link
Contributor

There is insufficient justification to backport this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickCandidate Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

7 participants