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

x/build: linux-arm-arm5spacemonkey persistently broken #29177

Open
bcmills opened this Issue Dec 11, 2018 · 3 comments

Comments

Projects
None yet
5 participants
@bcmills
Copy link
Member

bcmills commented Dec 11, 2018

The linux-arm-arm5spacemonkey builder has been broken for as far back as I dared to page through the logs. It seems to be the only all-red (#22689) builder in the “first-class ports” view (#27689).

As far as I can tell, it's a configuration issue: for some reason the builder sets the Go version to builder host-linux-armel-cross instead of a more realistic version string, and that somehow causes the API check to fail.

See previously #28041. (CC @bradfitz, @onionjake, @zeebo, @dmitshur )

Sample: https://build.golang.org/log/32dafc31f49b66f75902acd5f0d61cb8f6277de6

:: Running /bin/bash with args ["/bin/bash" "-c" "cd $WORKDIR/go/src && ./make.bash && cd .. && mv bin/*_*/* bin && rmdir bin/*_* && rm -rf pkg/linux_amd64 pkg/tool/linux_amd64 pkg/bootstrap pkg/obj"] and env ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "HOSTNAME=buildlet-linux-armel-cross-rn8aed9e5" "IN_KUBERNETES=1" "META_BUILDLET_BINARY_URL=http://storage.googleapis.com/go-builder-data/buildlet.linux-amd64" "META_BUILDLET_HOST_TYPE=host-linux-armel-cross" "KUBERNETES_PORT_443_TCP_PORT=443" "KUBERNETES_PORT_443_TCP_ADDR=10.3.240.1" "KUBERNETES_SERVICE_HOST=10.3.240.1" "KUBERNETES_SERVICE_PORT=443" "KUBERNETES_SERVICE_PORT_HTTPS=443" "KUBERNETES_PORT=tcp://10.3.240.1:443" "KUBERNETES_PORT_443_TCP=tcp://10.3.240.1:443" "KUBERNETES_PORT_443_TCP_PROTO=tcp" "DEBIAN_FRONTEND=noninteractive" "GOROOT_BOOTSTRAP=/go1.4" "GOOS=linux" "GOARCH=arm" "CC_FOR_TARGET=arm-linux-gnueabi-gcc" "HOME=/root" "WORKDIR=/tmp/workdir" "CGO_ENABLED=1" "GOARM=5"] in dir /tmp/workdir

Building Go cmd/dist using /go1.4.
warning: changing VERSION from "devel 552d7b918697e0a5ab1ff22f91abf3e1cfde2e1d" to "builder host-linux-armel-cross"
Building Go toolchain1 using /go1.4.
warning: changing VERSION from "devel 552d7b918697e0a5ab1ff22f91abf3e1cfde2e1d" to "builder host-linux-armel-cross"
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
warning: changing VERSION from "devel 552d7b918697e0a5ab1ff22f91abf3e1cfde2e1d" to "builder host-linux-armel-cross"
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, linux/amd64.
Building packages and commands for target, linux/arm.
[…]
##### API check
Error running API checker: exit status 1
Go version is "builder host-linux-armel-cross", ignoring -next /home/builder/stage0scratch/workdir/go/api/next.txt
+pkg bytes, func ReplaceAll([]uint8, []uint8, []uint8) []uint8
[…]
+pkg syscall, type RawSockaddrUnix struct
exit status 1
2018/11/26 19:20:01 Failed: exit status 1
2018/11/26 19:20:07 FAILED

@gopherbot gopherbot added this to the Unreleased milestone Dec 11, 2018

@gopherbot gopherbot added the Builders label Dec 11, 2018

@cherrymui

This comment has been minimized.

Copy link
Contributor

cherrymui commented Dec 11, 2018

For the record, if I remembered correctly, that builder is special in that it does cross compilation. The toolchain and the standard library is built on AMD64 machine(s) then shipped to the ARMv5 machine(s) to run the tests. When @rsc implemented the build cache, it would never work in this setting (failure was probably toolchain2 and toolchain3 were different). (And it is not possible to run everything on the ARMv5 machine because it is too slow.) So we decided to set up a toolchain version, to bypass certain checks.

@mvdan

This comment has been minimized.

Copy link
Member

mvdan commented Dec 12, 2018

Seems like a duplicate of #24754, initially titled cmd/api: failing on linux-arm builder due to non-devel Go version. Now it has a title for a proposed fix, as far as I understand.

@onionjake

This comment has been minimized.

Copy link

onionjake commented Dec 12, 2018

I'm happy to help if there is something we can do on the builders to make this easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment