cmd/link: build broken on plan9/amd64 since CL 20928 #14894
Since CL 20928, the build is broken on plan9/amd64.
It always fail when reading symbols from the buffer in readsym, but not always at the same place.
Where src/cmd/link/internal/ld/objfile.go:290 is:
Where src/cmd/link/internal/ld/objfile.go:274 is:
Where src/cmd/link/internal/ld/objfile.go:287 is:
I've looked at the builder history and noticed a few cases where
I think this issue in another consequence of the same issue.
For example, on 2016-02-29:
Where src/cmd/link/internal/ld/objfile.go:245 is:
Urgh. Can I reproduce this somehow? The only thing I can really think of is to print out debugging spew about how much data is written into an object file and how much is read out again. I suppose the call to Bread in readsym should check its return value, at least... although it seems more likely that the problem is that it's trying to read too many bytes from the data block, rather than failing to read all the data.
Yes, this is what I wanted to do. However the problem disappears when I add print statements.
referenced this issue
Mar 29, 2016
Not yet. I can reproduce the issue on 9front's amd64 kernel (which the builder is running), but not on 9k, though the interfaces are similar.
I get the same issue when the linker has been cross-compiled from Linux. The issue goes away when I add print statements in src/cmd/link/internal/ld/objfile.go or when I run
Any help would be appreciated. I can provide a QEMU image running 9front/amd64 if needed.
I've built a disk image running 9front. It is available on http://9legacy.org/download/go/2016-03-29/9front.qcow2.bz2 (516 MB)
You can run it under QEMU with the following command:
After booting the image, you get rio running with a terminal open.
Other installations of Go 1.4 to 1.7 (pre-built) are available in
You can edit files with
I've noticed that I can reproduce the issue only if the virtual machine has been configured with more than 2480 MB of memory, approximately.
@0intro Thanks. I was able to get the VM running and to run make.rc.
Unfortunately, I've run make.rc 3 times so far, and it's successfully built each time. I'll continue trying, but at the moment I can't repro the failure.
What version of QEMU are you using? I appear to have:
provided by Ubuntu.
I've been using 9front/amd64 as my dev machine for about a week now, and I get errors of this sort about once every 100-150 times when I run