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

cmd/compile: ICE on deferred call to syscall.LazyDLL.Call [1.16 backport] #44464

Closed
gopherbot opened this issue Feb 20, 2021 · 7 comments
Closed

cmd/compile: ICE on deferred call to syscall.LazyDLL.Call [1.16 backport] #44464

gopherbot opened this issue Feb 20, 2021 · 7 comments

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Feb 20, 2021

@ianlancetaylor requested issue #44415 (fixed by 23943a6 for Go 1.17) to be considered for backport to the next 1.16 minor release.

@gopherbot Please backport to Go 1.16.

Compiler crash on valid Windows code that compiled with Go 1.15.

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Feb 25, 2021

Change https://golang.org/cl/296489 mentions this issue: [release-branch.go1.16] cmd/compile: fix mishandling of unsafe-uintptr arguments with call method in go/defer

@cagedmantis
Copy link
Contributor

@cagedmantis cagedmantis commented Feb 25, 2021

Approved. This is a serious issue.

@mdempsky
Copy link
Member

@mdempsky mdempsky commented Feb 25, 2021

What's the time frame like for 1.16.1? I'm wondering how much time we have for finding a revised fix for #44415 and preparing a backport CL.

@cagedmantis
Copy link
Contributor

@cagedmantis cagedmantis commented Feb 25, 2021

The point releases are tentatively scheduled for the middle of the first week in March 2021.

@mdempsky
Copy link
Member

@mdempsky mdempsky commented Feb 25, 2021

Okay, great, we should definitely have a fix for this by then.

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Feb 26, 2021

Change https://golang.org/cl/296769 mentions this issue: [release-branch.go1.16] cmd/compile: fix mishandling of unsafe-uintptr arguments with call method in go/defer

gopherbot pushed a commit that referenced this issue Mar 1, 2021
…r arguments with call method in go/defer

In CL 253457, we did the same fix for direct function calls. But for
method calls, the receiver argument also need to be passed through the
wrapper function, which we are not doing so the compiler crashes with
the code in #44415.

It will be nicer if we can rewrite OCALLMETHOD to normal OCALLFUNC, but
that will be for future CL. The passing receiver argument to wrapper
function is easier for backporting to go1.16 branch.

Fixes #44464

Change-Id: I03607a64429042c6066ce673931db9769deb3124
Reviewed-on: https://go-review.googlesource.com/c/go/+/296490
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/c/go/+/296769
Trust: Bryan C. Mills <bcmills@google.com>
@gopherbot
Copy link
Author

@gopherbot gopherbot commented Mar 1, 2021

Closed by merging ca9cd62 to release-branch.go1.16.

@gopherbot gopherbot closed this Mar 1, 2021
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
3 participants