-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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: "truncation is not exact" ICE while compiling on ppc64le on QEMU #34139
Comments
Thanks for opening this. I've changed the title to clarify that this issue is only reproducible when emulating a ppc64le system on QEMU, since this a (possibly) relevant piece of information. Feel free to speak up if I'm mistaken and this is also reproducible outside of QEMU. |
Looks fine, thanks. I don't have any ppc64le hardware to reproduce on. |
If you had a short reproducer program or better directions on how to get to the failure I could try it on ppc64le. |
Just running |
node_exporter built successfully on all variations I tried: Debian 9 power8 and SLES power9. On the power8 I compiled using go from Go 1.13 and upstream on hardware, not QEMU. This must have built successfully in Go 1.12? |
@laboger Are you using a QEMU ppc64le guest VM? What version of QEMU? |
I am not using QEMU. I only tried it on ppc64le hardware. |
This issue is about QEMU. |
I mean... we weren't sure. Now we (more or less) are. Thanks @laboger for testing on real hardware. My question now is... is this a QEMU bug? It could be. After all, Go produces binaries that work on real ppc64le hardware. |
Yes, I know now but based on what was written earlier I didn't think it was known to be QEMU only for sure. Is this a new failure in Go 1.13? |
The problem appeared when upgrading from QEMU 2.8 (Debian 9) to QEMU 3.1 (Debian 10). |
I've received information that there were some recent fixes to QEMU for ppc64le related to float conversions that will be in QEMU 4.2. The person who gave me this information was able to do a build of node_exporter successfully using QEMU built from upstream. |
Great! Looking forward to testing that. Can you link to the patch here? |
Here is the merge commit that includes the fixes:
|
Thanks, I wonder if we can get this patch backported by Debian into Buster. 😄 |
Since this appears to be confirmed as a QEMU bug, I'm closing this issue. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Building prometheus/node_exporter fails.
Running a Debian 9 (stretch) ppc64le QEMU VM on Debian 10 (buster) amd64 host.
QEMU 3.1 and 4.1 both produce the same compile error.
The text was updated successfully, but these errors were encountered: