-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime, internal/cpu: internal compiler error: Ctz64 & Initialize when bootstrapping a build #33977
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
Comments
That stack trace doesn't make much sense to me:
There's no code at |
Yeah that is weird, seems that the trace actually looks like this, I just stepped through everything manually:
|
What version is the bootstrap compiler (GOROOT_BOOTSTRAP is set to)? The panic happens in toolchain1, which is compiled by the bootstrap compiler. The stack trace |
This is still visible in 1.13 as well:
Edit: Updated with void-packages link now that i686 has run there. The bootstrap compiler is go1.4-bootstrap-20171003, as used in the documentation on bootstrapping the compiler from source. It's possible we could work around this by introducing a second bootstrap version to build after we build 1.4. For example, build 1.4, build 1.11 with 1.4, then build 1.13 (or 1.12.x or later) using that. However, I'm not sure that really helps us understand why the compiler panics. |
Thanks, I can reproduce it now. I need to set I think at some point we might have decided to not supporting GOHOSTARCH != GOARCH during bootstrap. Could you set them the same by any chance? |
The panic cc @bradfitz |
It also explains why it fails at line 6. In the generated code by cmd/dist, the panic is indeed at line 6. |
I've seen some +build line changes recently, adding a space in /cc @tklauser |
Marked broken on i686 until golang/go#33977 is resolved.
Marked broken on i686 until golang/go#33977 is resolved.
Has there been any further investigation into this? Or is there any other info I or someone else can provide here to help it along (since the issue is still labeled WaitingForInfo)? |
@nilium, could you answer
Is there a reason that you need them to be different? Could you set them the same by any chance? |
Change https://golang.org/cl/197602 mentions this issue: |
I just sent https://go-review.googlesource.com/c/go/+/197602 which fixes @cherrymui's repro. Could @0paIescent or @nilium confirm that fixes it for you? |
I'll try applying the patch in the 1.13.1 build to see if that fixes it once I get off work. |
Looks like the patch resolves the initial panics. I'm still seeing i686 fail to build on Travis CI (not when cross-compiling from x86_64 locally), but there's no output to dig into at the moment. For now I'm assuming this is a separate issue. I'm going to need to get a test machine to get a better look at it, since I can't reproduce the newest Travis failure on my workstation. |
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
)?Ubuntu 18.04 i686
What did you do?
Submitted a PR to void-linux/void-packages, and the i686 travis build panicked twice.
What did you expect to see?
Done. Your build exited with 0.
What did you see
Two panics, one of which was while compiling Ctz64, and the other was while compiling Initialize.
The text was updated successfully, but these errors were encountered: