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/link: build broken on plan9/amd64 since CL 20928 #14894
Comments
CC @mwhudson |
CC @4ad |
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:
See http://build.golang.org/log/b6a6656739598fd705fc25bab896f998bb3db8b4 |
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. |
OK, so I'll hold off doing anything while you do your investigations -- if that's ok with you. |
@0intro Any progress? |
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. |
If you can provide dummy proof instructions on how to repro the issue with either QEMU or VMware, I can help investigate. |
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. |
Nevermind, I managed to repro it after a few tries. |
@mdempsky Any idea what is happening here? |
@ianlancetaylor Unfortunately not yet. I was able to repro it a few times following @0intro's instructions, but got side tracked figuring out how to work effectively within Plan 9. |
Moved to unplanned as this will not block any release, as plan9 is not a 'first class port'. |
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 |
This issue is many years old. Is it still relevant? |
Timed out in state WaitingForInfo. Closing. (I am just a bot, though. Please speak up if this is a mistake or you have the requested information.) |
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.
Example 1:
See http://build.golang.org/log/c3fee7600dc4ac359dd804577a201beb008d64d5
Where src/cmd/link/internal/ld/objfile.go:290 is:
Example 2:
See http://build.golang.org/log/48db2f11592b3b99c9ec92ac9e764d12c2c10a34
Where src/cmd/link/internal/ld/objfile.go:274 is:
Example 3:
http://build.golang.org/log/63f0bac67454da50570bb9cb661f9058ff9a063e
Where src/cmd/link/internal/ld/objfile.go:287 is:
The text was updated successfully, but these errors were encountered: