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
Go 1.4 faults when bootstrapping 1.14.3 on Plan 9 (9front) #39273
Comments
It is possible that Go 1.4.2 is not stable on Plan 9. Could you try bootstrapping from the tip of |
Thanks @cherrymui - I tried downloading and building Go from https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz into
FWIW, 1.4 is at least functional enough for |
cc @0intro |
Have you seen the bootstrapping instructions in https://github.com/golang/go/wiki/Plan9 ? |
@millerresearch: No I hadn't, thanks - I was using the 9front FQA instructions. I'll take a look at the wiki, and try the instructions there. |
I think you should try to bootstrap from a more recent Go distribution. More binary packages are available here. |
... it seems to fail to bootstrap 1.13, 1.9, and 1.5 as well (and presumably every other version, those are just the ones I tested). (I built go1.4 from the C sources, on AMD64) |
I was able to build 1.5 by, effectively, brute forcing it. 1.4 panics building 1.14, but it has an entirely different issue with 1.5: it sporadically, non-deterministically encounters
eventually works, but the easiest way I found was to split the build into multiple steps - first, build cmd/dist/dist, then run the bootstrap repeatedly until it succeeds, with Naturally, 1.5 has the same issue bootstrapping HEAD, 1.14, and 1.9 (plus others, most likely, these are again just the tested revisions), so it's very "fun" trying to get up to 1.14 natively. |
Okay, here's what worked for me: 1.4 can build 1.5 and 1.7 without issue - but 1.5 cannot build HEAD. 1.7 can, however, so a viable bootstrap path remains: 1.4->1.7->1.14 :) Other paths might work as well, this is what worked for me. |
By "natively", do you mean doing the first bootstrap step with a C compiler binary instead of a Go compiler binary? Because you trust the provenance of your C compiler more than the Go compiler binaries referenced above, or just because? I'm not criticising: that's a reasonable thing to want to do. But it's problematic because go1.4 on Plan 9 is abandonware. There are serious bugs in its runtime which nobody has devoted the time to fixing, because they don't exist in more modern releases of Go, and they are the sort of intermittent bugs which are really tricky to diagnose. The Plan 9 Go test builders don't use go1.4 for the bootstrap stage; they start with binaries for a later release. In order to make bootstrapping from go1.4 reliable, somebody would need to go back and fix the runtime. Any volunteers? About the |
Don't be too confident. There are intermittent problems in go1.4 which can make it fail whatever it's trying to build. |
True; "with less issue than the other paths tried" is a more accurate phrasing. |
We no longer use Go 1.4 for bootstrapping, so this issue is obsolete. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes - although I'm bootstrapping with 1.4.2, the issue occurs when building 1.14.3.
What operating system and processor architecture are you using (
go env
)?go env
What did you do?
Built and installed Go 1.4.2 into
$home/go1.4
(which succeded), then:What did you expect to see?
A successful build of Go.
What did you see instead?
The front fell off.
The text was updated successfully, but these errors were encountered: