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

Open
gopherbot opened this issue Oct 1, 2019 · 2 comments

Comments

@gopherbot
Copy link

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

This comment has been minimized.

Copy link
Member

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

This comment has been minimized.

Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.