-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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: get Alpine builders passing #19938
Comments
I feel like I know why this is happening... I can debug |
So it's because https://github.com/golang/go/blob/master/src/cmd/link/internal/amd64/obj.go#L70
on alpine this is:
we should maybe have a way of using a different one? but alpine is not a GOOS so unsure what you all would want here This is #18243 |
There are other failures following that failure as well. Details below. EDIT: These are all #14481 TestTestEmpty
TestTestRaceInstall
TestGoTestRaceInstallCgo
TestGoTestRaceFailures
|
Lastly there is:
which I can open a CL to fix |
CL https://golang.org/cl/40692 mentions this issue. |
This updates TestGroupCleanup and TestGroupCleanupUserNamespace to pass in the Alpine builder. Updates #19938 Change-Id: Iacbfd73782eccd57f872f9e85726c6024529c277 Reviewed-on: https://go-review.googlesource.com/40692 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
Should we run the Alpine builder with CGO_ENABLED=0 perhaps? |
CL https://golang.org/cl/41628 mentions this issue. |
Updates #19938 Updates #18243 Change-Id: Ib6e704c0a5d596bdfaa6493902d2528bec55bf16 Reviewed-on: https://go-review.googlesource.com/41628 Reviewed-by: Ian Lance Taylor <iant@golang.org>
CL https://golang.org/cl/41675 mentions this issue. |
s/arm64/amd64/ in previous typo CL 41628 Updates #19938 Updates #18243 Change-Id: I282244ee3c94535f229a87b6246382385ff64428 Reviewed-on: https://go-review.googlesource.com/41675 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
I'm slightly repurposing this bug. There are existing bugs tracking fixing actual Alpine problems, such as: #18243 -- internal linking broken This bug is only about getting the builders in "ok" state, even if that means temporarily disabling some tests. To that end, I just tried setting GO_EXTLINK_ENABLED=1 on the Alpine builder in https://go-review.googlesource.com/c/41798/ but that seems to have caused a new error: https://build.golang.org/log/a3288076e1057e053548837886fb064f2cf5d921
I guess the external linker disables deadlock detection? |
CL https://golang.org/cl/41812 mentions this issue. |
I cleared the four builds from the dashboard built with GO_EXTLINK_ENABLED=1. They're now all back to failing with: https://build.golang.org/log/4d41ef62d744100b3271757b084f95166abddbb5
From local changes with |
And if I skip TestSetgid, it just moves to a few tests later:
|
See golang/go#19938 (comment) Made things worse. Updates golang/go#19938 Change-Id: I6c3e798c0b61ea5ee2c43af0aea5ee56e0f52032 Reviewed-on: https://go-review.googlesource.com/41812 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
/cc @mwhudson |
How can I reproduce this? (no promises, but I might be able to have a quick poke at it) |
gomote if you have access (email me if not) or run all.bash in an Alpine Docker container: https://github.com/golang/build/blob/master/env/linux-x86-alpine/Dockerfile |
What is the current status on this? The cgo issues discussed above are also (partially?) discussed in #39857. I think the related discussion on the musl ML is https://www.openwall.com/lists/musl/2020/08/09/1 (@richfelker has there been any update on this?). I am a contributor to Alpine Linux. At Alpine we simply run the Go testsuite as |
The current status is that the Alpine builder is still disabled and no one is working on that, I think. The original Alpine builder config is here: https://github.com/golang/build/tree/cb8d385252287910555c8d2d9a058ea17e0e921a/env/linux-x86-alpine The code that keeps it disabled is here: https://github.com/golang/build/blob/3ce827870238fe4179c5505312493a9e99f7704e/dashboard/builders.go#L1607 If there's some interesting in reviving in, the first steps would be (if the team in charge of the build infrastructure agrees) to see if it works and send patches re-enabling it. This is the easy part. Then keep it green and passing. This is the hard part. |
Change https://go.dev/cl/397316 mentions this issue: |
“If you have a procedure with ten parameters, you probably missed some.” ― attr. Alan J. Perlis I argue that the same is true for hard-coded special cases. In TestGroupCleanupUserNamespace, instead of a curated list of strings observed in the wild we now check for a prefix, as was done for TestGroupCleanup in CL 24670. Updates #16224. Updates #16303. Updates #19938. Updates #34547. Updates #46752. Fixes #52088. Change-Id: I59c5b0c048113e306996c0f8247e09c714d2423a Reviewed-on: https://go-review.googlesource.com/c/go/+/397316 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Change https://go.dev/cl/419995 mentions this issue: |
Change https://go.dev/cl/420214 mentions this issue: |
These changes are enough to pass all.bash using the disabled linux-amd64-alpine builder via debugnewvm. For #19938. For #39857. Change-Id: I7d160612259c77764b70d429ad94f0864689cdce Reviewed-on: https://go-review.googlesource.com/c/go/+/419995 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
It passes all.bash in the main repo after CL 419995. For golang/go#19938. Change-Id: I03c32193bbc83667e7bbbb2251e15a4a9bef6cfc Reviewed-on: https://go-review.googlesource.com/c/build/+/420214 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
These changes are enough to pass all.bash using the disabled linux-amd64-alpine builder via debugnewvm. For golang#19938. For golang#39857. Change-Id: I7d160612259c77764b70d429ad94f0864689cdce Reviewed-on: https://go-review.googlesource.com/c/go/+/419995 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
Change https://go.dev/cl/425001 mentions this issue: |
We don't have a good musl detection mechanism, so we detect Alpine (the most common user of musl) instead. For #39857. For #19938. Change-Id: I2fa39248682aed75884476374fe2212be4427347 Reviewed-on: https://go-review.googlesource.com/c/go/+/425001 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
⬆️ |
Thanks to @jessfraz's setting up an Alpine Linux builder (#17891), we now get to deal with more bugs, like this one:
https://build.golang.org/log/09a1850a53ff39d403984ecc8c29114ecd0a4109
@ianlancetaylor?
The text was updated successfully, but these errors were encountered: