Skip to content
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

Open
bradfitz opened this issue Apr 12, 2017 · 26 comments
Open

x/build: get Alpine builders passing #19938

bradfitz opened this issue Apr 12, 2017 · 26 comments
Labels
Builders help wanted NeedsFix
Milestone

Comments

@bradfitz
Copy link
Contributor

@bradfitz bradfitz commented Apr 12, 2017

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

--- FAIL: TestCgoPprofPIE (8.39s)
	crash_cgo_test.go:285: signal: segmentation fault (core dumped)
FAIL
FAIL	runtime	16.270s

@ianlancetaylor?

@bradfitz bradfitz added the NeedsFix label Apr 12, 2017
@bradfitz bradfitz added this to the Go1.9Maybe milestone Apr 12, 2017
@jessfraz
Copy link
Contributor

@jessfraz jessfraz commented Apr 13, 2017

I feel like I know why this is happening... I can debug

@jessfraz
Copy link
Contributor

@jessfraz jessfraz commented Apr 13, 2017

So it's because https://github.com/golang/go/blob/master/src/cmd/link/internal/amd64/obj.go#L70

ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2"

on alpine this is:

ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1"

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

@jessfraz
Copy link
Contributor

@jessfraz jessfraz commented Apr 13, 2017

There are other failures following that failure as well. Details below.

EDIT: These are all #14481

TestTestEmpty
--- FAIL: TestTestEmpty (1.82s)
    --- FAIL: TestTestEmpty/pkg (1.82s)
        go_test.go:260: running testgo [test -cover -coverpkg=. -race]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status
    
        go_test.go:289: go [test -cover -coverpkg=. -race] failed unexpectedly: exit status 2
TestTestRaceInstall
--- FAIL: TestTestRaceInstall (1.99s)
        go_test.go:260: running testgo [install -race -pkgdir=/tmp/gotest207241282/pkg std]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:289: go [install -race -pkgdir=/tmp/gotest207241282/pkg std] failed unexpectedly: exit status 2
TestGoTestRaceInstallCgo
--- FAIL: TestGoTestRaceInstallCgo (1.90s)
        go_test.go:260: running testgo [tool -n cgo]
        go_test.go:275: standard output:
        go_test.go:276: /usr/src/go/pkg/tool/linux_amd64/cgo

        go_test.go:260: running testgo [test -race -i runtime/race]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:289: go [test -race -i runtime/race] failed unexpectedly: exit status 2
TestGoTestRaceFailures
--- FAIL: TestGoTestRaceFailures (0.69s)
        go_test.go:260: running testgo [test testrace]
        go_test.go:275: standard output:
        go_test.go:276: ok      testrace        0.002s

        go_test.go:260: running testgo [test -race testrace]
        go_test.go:275: standard output:
        go_test.go:276: FAIL    testrace [build failed]

        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:299: testgo failed as expected: exit status 2
        go_test.go:365: TestRace did not fail
        go_test.go:366: pattern FAIL: TestRace not found in standard output
FAIL

@jessfraz
Copy link
Contributor

@jessfraz jessfraz commented Apr 13, 2017

Lastly there is:

--- FAIL: TestGroupCleanup (0.00s)
        exec_linux_test.go:214: id command output: "uid=0(root) gid=0(root)", expected prefix: "uid=0(root) gid=0(root) groups=0(root)"
--- FAIL: TestGroupCleanupUserNamespace (0.00s)
        exec_linux_test.go:256: id command output: "uid=0(root) gid=0(root) groups=0(root),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody)", expected one of ["uid=0(root) gid=0(root) groups=0(root)" "uid=0(root) gid=0(root) groups=0(root),65534(nobody)" "uid=0(root) gid=0(root) groups=0(root),65534(nogroup)" "uid=0(root) gid=0(root) groups=0(root),65534"]
FAIL

which I can open a CL to fix

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 13, 2017

CL https://golang.org/cl/40692 mentions this issue.

gopherbot pushed a commit that referenced this issue Apr 13, 2017
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>
@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 25, 2017

Should we run the Alpine builder with CGO_ENABLED=0 perhaps?

@ianlancetaylor
Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Apr 25, 2017

@bradfitz That seems reasonable until we have a fix for #18243.

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 25, 2017

CL https://golang.org/cl/41628 mentions this issue.

gopherbot pushed a commit that referenced this issue Apr 25, 2017
Updates #19938
Updates #18243

Change-Id: Ib6e704c0a5d596bdfaa6493902d2528bec55bf16
Reviewed-on: https://go-review.googlesource.com/41628
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@gopherbot
Copy link

@gopherbot gopherbot commented Apr 25, 2017

CL https://golang.org/cl/41675 mentions this issue.

gopherbot pushed a commit that referenced this issue Apr 25, 2017
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>
@bradfitz bradfitz changed the title runtime: TestCgoPprofPIE fails on Alpine build: get Alpine builders passing Apr 26, 2017
@bradfitz bradfitz self-assigned this Apr 26, 2017
@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 26, 2017

I'm slightly repurposing this bug.

There are existing bugs tracking fixing actual Alpine problems, such as:

#18243 -- internal linking broken
#14481 -- race doesn't work

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

--- FAIL: TestSimpleDeadlock (60.10s)
	crash_test.go:106: testprog SimpleDeadlock exit status: exit status 2
	crash_test.go:205: output does not start with "fatal error: all goroutines are asleep - deadlock!\n":
		SIGQUIT: quit
		PC=0x454a31 m=0 sigcode=0
		
		goroutine 0 [idle]:
		runtime.futex(0x787990, 0x0, 0x0, 0x0, 0x0, 0x7fb672d977c0, 0x0, 0x0, 0x7ffeae1c2008, 0x40e211, ...)
			/tmp/workdir/go/src/runtime/sys_linux_amd64.s:422 +0x21
		runtime.futexsleep(0x787990, 0x0, 0xffffffffffffffff)
			/tmp/workdir/go/src/runtime/os_linux.go:45 +0x62
		runtime.notesleep(0x787990)
			/tmp/workdir/go/src/runtime/lock_futex.go:150 +0x81
		runtime.stopm()
			/tmp/workdir/go/src/runtime/proc.go:1637 +0xe5
		runtime.findrunnable(0xc42001c000, 0x0)
			/tmp/workdir/go/src/runtime/proc.go:2092 +0x5c7
		runtime.schedule()
			/tmp/workdir/go/src/runtime/proc.go:2212 +0x134
		runtime.park_m(0xc420000180)
			/tmp/workdir/go/src/runtime/proc.go:2275 +0xb6
		runtime.mcall(0x7ffeae1c21a0)
			/tmp/workdir/go/src/runtime/asm_amd64.s:276 +0x5b
		
		goroutine 1 [select (no cases)]:
		main.SimpleDeadlock()
			/tmp/workdir/go/src/runtime/testdata/testprog/deadlock.go:39 +0x20
		main.main()
			/tmp/workdir/go/src/runtime/testdata/testprog/main.go:34 +0x1da
		
		goroutine 17 [syscall, locked to thread]:
		runtime.goexit()
			/tmp/workdir/go/src/runtime/asm_amd64.s:2349 +0x1
		
		rax    0xca
		rbx    0x787880
		rcx    0x454a33
		rdx    0x0
		rdi    0x787990
		rsi    0x0
		rbp    0x7ffeae1c1fd0
		rsp    0x7ffeae1c1f88
		r8     0x0
		r9     0x0
		r10    0x0
		r11    0x286
		r12    0xc420096fa3
		r13    0x8
		r14    0xffffffffffffffff
		r15    0x8
		rip    0x454a31
		rflags 0x286
		cs     0x33
		fs     0x0
		gs     0x0
--- FAIL: TestInitDeadlock (60.00s)
...
(same)
...
panic: test timed out after 3m0s

I guess the external linker disables deadlock detection?

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 26, 2017

CL https://golang.org/cl/41812 mentions this issue.

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 26, 2017

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

##### ../misc/cgo/test
unexpected fault address 0x7fb6ae1a9b90
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7fb6ae1a9b90 pc=0x7fb6ae1a9b90]

goroutine 19 [running]:
runtime.throw(0x5dc6d5, 0x5)
        /tmp/workdir/go/src/runtime/panic.go:596 +0x95 fp=0xc420046768 sp=0xc420046748
runtime.sigpanic()
        /tmp/workdir/go/src/runtime/signal_unix.go:355 +0x282 fp=0xc4200467b8 sp=0xc420046768
created by _/tmp/workdir/go/misc/cgo/test.runTestSetgid
        /tmp/workdir/go/misc/cgo/test/setgid_linux.go:26 +0x6f

From local changes with go test -v, I see that crash is from === RUN TestSetgid

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 26, 2017

And if I skip TestSetgid, it just moves to a few tests later:

##### ../misc/cgo/test
=== RUN   TestSetgid
--- SKIP: TestSetgid (0.00s)
        setgid_linux.go:40: temp skip
=== RUN   Test6997
--- PASS: Test6997 (0.50s)
=== RUN   TestBuildID
--- PASS: TestBuildID (0.00s)
=== RUN   Test9400
unexpected fault address 0x7f38ab094af8
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7f38ab094af8 pc=0x7f38ab094af8]
 
goroutine 9 [running, locked to thread]:
runtime.throw(0x5dc739, 0x5)
        /tmp/workdir/go/src/runtime/panic.go:596 +0x95 fp=0xc420046768 sp=0xc420046748
runtime.sigpanic()
        /tmp/workdir/go/src/runtime/signal_unix.go:355 +0x282 fp=0xc4200467b8 sp=0xc420046768
created by _/tmp/workdir/go/misc/cgo/test.test9400
        /tmp/workdir/go/misc/cgo/test/issue9400_linux.go:30 +0xa2

gopherbot pushed a commit to golang/build that referenced this issue Apr 26, 2017
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>
@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 30, 2017

/cc @mwhudson

@mwhudson
Copy link
Contributor

@mwhudson mwhudson commented Apr 30, 2017

How can I reproduce this? (no promises, but I might be able to have a quick poke at it)

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Apr 30, 2017

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

tklauser added a commit to tklauser/go that referenced this issue Dec 7, 2018
Add an environment variable to make.bash to allow setting the default
dynamic linker/loader. This fixes alpine builds to use
/lib/ld-musl-x86_64.so.1:

    $ ldd ../bin/go
        /lib/ld-musl-x86_64.so.1 (0x5608dfadd000)
        libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x5608dfadd000)

Also re-enable the internal linker tests that were previously disabled
for alpine (CL 41759, CL 41678).

Fixes golang#18243
Updates golang#19938

This resurrects CL 50070 which was authored by Jessie Frazelle.

Co-authored-by: Jessie Frazelle <me@jessfraz.com>

Change-Id: I132b5282045a3d60c8568e3b002a7f075eac2d93
tklauser added a commit to tklauser/go that referenced this issue Dec 20, 2018
Add an environment variable to make.bash to allow setting the default
dynamic linker/loader. This fixes alpine builds to use
/lib/ld-musl-x86_64.so.1:

  $ readelf -l ../bin/go | grep 'interpreter:' | sed -e 's/^.*interpreter: \(.*\)[]]/\1/'
  /lib/ld-musl-x86_64.so.1

Also re-enable the internal linker tests that were previously disabled
for alpine (CL 41759, CL 41678).

Fixes golang#18243
Updates golang#19938

This resurrects CL 50070 which was authored by Jessie Frazelle.

Change-Id: I132b5282045a3d60c8568e3b002a7f075eac2d93
@gopherbot
Copy link

@gopherbot gopherbot commented Feb 27, 2019

Change https://golang.org/cl/163977 mentions this issue: cmd/dist, cmd/link: allow passing default dynamic linker/loader

gopherbot pushed a commit that referenced this issue Mar 1, 2019
Add an environment variable to make.bash to allow setting the default
dynamic linker/loader. This fixes alpine builds to use
/lib/ld-musl-x86_64.so.1:

  $ readelf -l ../bin/go | grep 'interpreter:' | sed -e 's/^.*interpreter: \(.*\)[]]/\1/'
  /lib/ld-musl-x86_64.so.1

Also re-enable the internal linker tests that were previously disabled
for alpine (CL 41759, CL 41678).

Fixes #18243
Updates #19938

This resurrects CL 50070 authored by Jessie Frazelle.

Change-Id: I132b5282045a3d60c8568e3b002a7f075eac2d93
Reviewed-on: https://go-review.googlesource.com/c/163977
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@dmitshur dmitshur added the Builders label Aug 3, 2020
@dmitshur dmitshur changed the title build: get Alpine builders passing x/build: get Alpine builders passing Aug 3, 2020
@gopherbot
Copy link

@gopherbot gopherbot commented Aug 4, 2020

Change https://golang.org/cl/246639 mentions this issue: dashboard: remove obsolete disabled builders

gopherbot pushed a commit to golang/build that referenced this issue Aug 4, 2020
FreeBSD 9.3, FreeBSD 10.x, and OpenBSD 6.0 have
reached end-of-life and are no longer supported.
Go 1.12 was the last release¹ that ran on FreeBSD 10.x.
Go 1.10 was the last release² that ran on OpenBSD 6.0.

These builders have long since been disabled and won't be needed in
the future, so remove them. This work helped detect golang/go#40563.

Modify TestHostConfigsAllUsed to report errors instead of warnings
when it finds unused host configs. Make a map of known exceptions
with rationale or a linked issue for each entry.

¹ https://golang.org/doc/go1.12#ports
² https://golang.org/doc/go1.10#ports

Updates golang/go#36841.
Updates golang/go#19938.

Change-Id: Id7fcdc671bfacf7e70174f4168c9c9cc46ba53d7
Reviewed-on: https://go-review.googlesource.com/c/build/+/246639
Reviewed-by: Alexander Rakoczy <alex@golang.org>
@Samyak2 Samyak2 mentioned this issue May 17, 2021
9 tasks
@nmeum
Copy link

@nmeum nmeum commented Mar 19, 2022

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 ./run.bash -run='!(^cgo_test$)', i.e. we disable the cgo tests (due to #39857). Maybe it would be possible to do that on an official Go Alpine runner as well in the meantime (i.e. until this aforementioned issue is addressed in musl) to catch stuff like #51787 earlier in the future? (:

@ALTree
Copy link
Member

@ALTree ALTree commented Mar 19, 2022

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.

@gopherbot
Copy link

@gopherbot gopherbot commented Mar 31, 2022

Change https://go.dev/cl/397316 mentions this issue: syscall: relax output check in TestGroupCleanupUserNamespace

gopherbot pushed a commit that referenced this issue Mar 31, 2022
“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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders help wanted NeedsFix
Projects
None yet
Development

No branches or pull requests

11 participants