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: plan9 fatal error: invalid pointer found on stack #62507
Comments
The offending stack slot is
If The other write to
|
We should already don't use X15 for zeroing on Plan 9. The rewriting rules for |
Looks like CL https://go.dev/cl/453536 is the culprit. It added a new use of X15 without the guard. |
@cherrymui, nice find! I look forward to what a test for this will look like 😅 |
For a test, I guess we could have an assembly function that clobbers X15, then call a function with a certain frame layout which would trigger the zeroing code, then check it is actually zeroed. The ABI wrapper between assembly and Go would zero X15, but I think we don't do that on Plan 9, so we can keep X15 clobbered. Maybe we could have the compiler just error out if X15 (or any SSE) is used on Plan 9 in compiled code? (We should probably want to allow assembly code.) |
I am wondering, since you are using SSE: should you be testing for buildcfg.GOAMD64 > 1, not isPlan9? |
@rminnich I'm not sure what you are referring to - maybe 386? Because our amd64 architecture port requires SSE, and has since Go was released. |
Removing release blocker since Plan 9 isn't a first class port. |
What version of Go are you using (
go version
)?Go 1.21.0
Does this issue reproduce with the latest release?
Haven't yet tried Go 1.21.1.
What operating system and processor architecture are you using (
go env
)?plan9/amd64
What did you do?
A Plan 9 user (@9nut) sent me this crash trying to run Tailscale (
go install tailscale.com/cmd/tailscaled
at tailscale/tailscale@6fd1961). I don't have enough Plan 9 knowledge to debug or repro:What did you expect to see?
Not a crash in
runtime.copystack
.What did you see instead?
A crash.
The text was updated successfully, but these errors were encountered: