-
Notifications
You must be signed in to change notification settings - Fork 18k
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: internal error autotmp_3 (type *int) recorded as live on entry, p.Pc=0 #15091
Comments
Although I don't really see how |
Oh. Because I was using a script with git bisect, and that version fails make.bash. Sigh. Trying again with a better script... |
Actually, that revision might be the actual culprit. From the description: "Add convert op for proper liveness in presence of uintptr to/from unsafe.Pointer conversions." And I forgot that this gets triggered via the race detector, which plays fast and loose with types internally. |
Unclear whether race detector is inserting bad code or if this is a fumbled conversion.
Race detector inserts what looks like a use before initialization, though we could have botched the conversions, too:
For reasons not 100% clear, this ends up with autotmp_3 treated as if it were an argument to the function, which ultimately fails because of course it isn't. Any insights into what the race detector is doing here would be welcome, I am going to look both at that and at the convert op code. |
CL https://golang.org/cl/21771 mentions this issue. |
Awesome. Confirmed that it's fixed. Thanks all! |
This was first reported here russross/blackfriday#251, but it looks like a Go compiler issue.
What version of Go are you using (
go version
)?go version devel +59fc42b Fri Apr 1 22:23:13 2016 +0000 linux/amd64
What operating system and processor architecture are you using (
go env
)?What did you do?
I just run
go build -race
to reproduce:What did you expect to see?
No error message.
What did you see instead?
Thank you all!
The text was updated successfully, but these errors were encountered: