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
Closed

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Oct 1, 2019

@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.

@mdempsky
Copy link
Member

@mdempsky 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

@ianlancetaylor ianlancetaylor commented Oct 9, 2019

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

@gopherbot gopherbot commented Nov 5, 2019

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

@cagedmantis cagedmantis commented Dec 3, 2019

There is insufficient justification to backport this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants
You can’t perform that action at this time.