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

cmd/go: TestScript/cgo_path, cgo_path_space failing on clang builders #43897

Closed
jayconrod opened this issue Jan 25, 2021 · 1 comment
Closed
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. release-blocker Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@jayconrod
Copy link
Contributor

clang builders are failing since CL 285873 on TestScript/cgo_path and cgo_path_space. Example test log:

go test proxy running at GOPROXY=http://127.0.0.1:38531/mod
--- FAIL: TestScript (0.01s)
    --- FAIL: TestScript/cgo_path_space (0.01s)
        script_test.go:213: 
            # Check that if the PATH directory containing the C compiler has a space,
            # we can still use that compiler with cgo.
            # Verifies #43808. (0.000s)
            # Check if default CC was set by make.bash.
            # If it was, this test is not valid. (0.011s)
            > go env CC
            [stdout]
            /usr/bin/clang
            > stdout '^(clang|gcc)$'
            FAIL: testdata/script/cgo_path_space.txt:10: no match for `(?m)^(clang|gcc)$` found in stdout
            
    --- FAIL: TestScript/cgo_path (1.09s)
        script_test.go:213: 
            > [!cgo] skip
            > env GOCACHE=$WORK/gocache  # Looking for compile flags, so need a clean cache.
            > [!windows] env PATH=.:$PATH
            > [!windows] chmod 0755 p/gcc p/clang
            > [!windows] exists -exec p/gcc p/clang
            > [windows] exists -exec p/gcc.bat p/clang.bat
            > ! exists p/bug.txt
            > ! go build -x
            [stderr]
            WORK=$WORK/tmp/go-build1052024746
            mkdir -p $WORK/b002/
            cd $WORK/gopath/src/p
            TERM='dumb' CGO_LDFLAGS='"-g" "-O2"' /workdir/go/pkg/tool/linux_amd64/cgo -objdir $WORK/b002/ -importpath m/p -- -I $WORK/b002/ -g -O2 ./p.go
            cd $WORK
            /usr/bin/clang -fno-caret-diagnostics -c -x c - -o /dev/null || true
            /usr/bin/clang -Qunused-arguments -c -x c - -o /dev/null || true
            /usr/bin/clang -fdebug-prefix-map=a=b -c -x c - -o /dev/null || true
            /usr/bin/clang -gno-record-gcc-switches -c -x c - -o /dev/null || true
            cd $WORK/b002
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_x001.o -c _cgo_export.c
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_x002.o -c p.cgo2.c
            TERM='dumb' /usr/bin/clang -I $WORK/gopath/src/p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -I ./ -g -O2 -o ./_cgo_main.o -c _cgo_main.c
            cd $WORK/gopath/src
            TERM='dumb' /usr/bin/clang -I ./p -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=$WORK/b002=/tmp/go-build -gno-record-gcc-switches -o $WORK/b002/_cgo_.o $WORK/b002/_cgo_main.o $WORK/b002/_x001.o $WORK/b002/_x002.o -g -O2
            TERM='dumb' /workdir/go/pkg/tool/linux_amd64/cgo -dynpackage p -dynimport $WORK/b002/_cgo_.o -dynout $WORK/b002/_cgo_import.go
            cat >$WORK/b002/importcfg << 'EOF' # internal
            # import config
            packagefile runtime/cgo=/workdir/go/pkg/linux_amd64/runtime/cgo.a
            packagefile syscall=/workdir/go/pkg/linux_amd64/syscall.a
            EOF
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b002/_pkg_.a -trimpath "$WORK/b002=>" -p m/p -buildid gqH4EgkQ64Qi1j6izAEl/gqH4EgkQ64Qi1j6izAEl -D "" -importcfg $WORK/b002/importcfg -pack -c=4 $WORK/b002/_cgo_gotypes.go $WORK/b002/p.cgo1.go $WORK/b002/_cgo_import.go
            cd $WORK/gopath/src/p
            /workdir/go/pkg/tool/linux_amd64/pack r $WORK/b002/_pkg_.a $WORK/b002/_x001.o $WORK/b002/_x002.o # internal
            /workdir/go/pkg/tool/linux_amd64/buildid -w $WORK/b002/_pkg_.a # internal
            cp $WORK/b002/_pkg_.a $WORK/gocache/bd/bd9282f5f13d2db133230f927d4ca5423416f840fc87faec3579a0f945c5e4a1-d # internal
            mkdir -p $WORK/b001/
            cat >$WORK/b001/importcfg << 'EOF' # internal
            # import config
            packagefile m/p=$WORK/b002/_pkg_.a
            EOF
            cd $WORK/gopath/src
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b001/_pkg_.a -trimpath "$WORK/b001=>" -p m -complete -buildid U8zaZzIpXfEHtL8ygjeR/U8zaZzIpXfEHtL8ygjeR -D "" -importcfg $WORK/b001/importcfg -pack -c=4 ./m.go
            /workdir/go/pkg/tool/linux_amd64/buildid -w $WORK/b001/_pkg_.a # internal
            cp $WORK/b001/_pkg_.a $WORK/gocache/08/0867801f8c0bcd23fdc7f9c459dc9521ece335a3c49ec49edb652ea11d98bcad-d # internal
            FAIL: testdata/script/cgo_path.txt:9: unexpected command success
            
FAIL
@jayconrod jayconrod added Testing An issue that has been verified to require only test changes, not just a test failure. NeedsFix The path to resolution is known, but the work has not been done. release-blocker labels Jan 25, 2021
@jayconrod jayconrod added this to the Go1.16 milestone Jan 25, 2021
@jayconrod jayconrod self-assigned this Jan 25, 2021
@gopherbot
Copy link
Contributor

Change https://golang.org/cl/286292 mentions this issue: cmd/go: fix TestScript/cgo_path, cgo_path_space when CC set

@golang golang locked and limited conversation to collaborators Jan 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. release-blocker Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

2 participants