reflect: method parameters getting wrong values on amd64p32 #33628
Labels
FrozenDueToAge
NeedsFix
The path to resolution is known, but the work has not been done.
OS-NaCl
GOOS=nacl, Native Client, removed in Go 1.14
Milestone
What version of Go are you using (
go version
)?Playground. Can't reproduce elsewhere, but the actual behavior seems very unlikely to be playground-specific, except obviously it is.
Does this issue reproduce with the latest release?
I think so.
What operating system and processor architecture are you using (
go env
)?Various. Only shows up on playground, which I think is 386.
What did you do?
Obtain a method using reflect, convert it to a function of its type, and call the function.
Here's a slightly verbose version, using both int32 and int64 parameters.
https://play.golang.org/p/PX0pVeYzswQ
Calls to the same method, directly and using reflect, report in their stack traces:
The same lines from a local machine, running GOARCH=386, and running 386 go:
So there's two things that stand out here. One is that on the playground, with int64, only the one that looks wrong is actually working.
What did you expect to see?
I expected that to work.
What did you see instead?
If the parameter in question is int64, I see garbage values because the call parameters appear to be out of sync in some way.
The text was updated successfully, but these errors were encountered: