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/compile: PGO error: error opening profile: EOF in cmd/go.TestScript/build_pgo as of CL 529738 #65220

Closed
bcmills opened this issue Jan 22, 2024 · 3 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations)
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented Jan 22, 2024

Go version

b7ae16e

Output of go env in your module/workspace:

N/A

What did you do?

https://build.golang.org/log/393c8b9908c5d34fbcdd897c414150da1f4b0ff4

What did you see happen?

vcs-test.golang.org rerouted to http://127.0.0.1:39567
https://vcs-test.golang.org rerouted to https://127.0.0.1:39673
go test proxy running at GOPROXY=http://127.0.0.1:36517/mod
2024/01/22 22:19:27 http: TLS handshake error from 127.0.0.1:51242: read tcp 127.0.0.1:39673->127.0.0.1:51242: read: connection reset by peer
2024/01/22 22:19:27 http: TLS handshake error from 127.0.0.1:51224: read tcp 127.0.0.1:39673->127.0.0.1:51224: read: connection reset by peer
2024/01/22 22:19:32 http: TLS handshake error from 127.0.0.1:59720: EOF
--- FAIL: TestScript (0.06s)
    --- FAIL: TestScript/build_pgo (1.21s)
        script_test.go:132: 2024-01-22T22:16:20Z
        script_test.go:134: $WORK=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484
        script_test.go:156: 
            # Test go build -pgo flag.
            # Specifically, the build cache handles profile content correctly. (0.000s)
            # build without PGO (0.792s)
            # build with PGO, should trigger rebuild
            # starting with an empty profile (the compiler accepts it) (0.421s)
            > go build -x -pgo=prof -o triv.exe triv.go
            [stderr]
            WORK=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/tmp/go-build2992291716
            mkdir -p $WORK/b004/
            echo '# import config' > $WORK/b004/importcfg # internal
            cd /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b004/_pkg_.a -trimpath "$WORK/b004=>" -p internal/goarch -std -complete -buildid Fj2GgQ9Rwnf3T85en76X/Fj2GgQ9Rwnf3T85en76X -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -c=4 -nolocalimports -importcfg $WORK/b004/importcfg -pack /workdir/go/src/internal/goarch/goarch.go /workdir/go/src/internal/goarch/goarch_amd64.go /workdir/go/src/internal/goarch/zgoarch_amd64.go
            mkdir -p $WORK/b009/
            echo '# import config' > $WORK/b009/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b009/_pkg_.a -trimpath "$WORK/b009=>" -p internal/coverage/rtcov -std -complete -buildid 6ATrd2lMco6AF8BNAr8p/6ATrd2lMco6AF8BNAr8p -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -c=4 -nolocalimports -importcfg $WORK/b009/importcfg -pack /workdir/go/src/internal/coverage/rtcov/rtcov.go
            mkdir -p $WORK/b010/
            echo '# import config' > $WORK/b010/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b010/_pkg_.a -trimpath "$WORK/b010=>" -p internal/godebugs -std -complete -buildid iDszRIoF51DfbEGT4unI/iDszRIoF51DfbEGT4unI -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -c=4 -nolocalimports -importcfg $WORK/b010/importcfg -pack /workdir/go/src/internal/godebugs/table.go
            mkdir -p $WORK/b011/
            echo '# import config' > $WORK/b011/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b011/_pkg_.a -trimpath "$WORK/b011=>" -p internal/goexperiment -std -complete -buildid Awh8e1FAW6p8hNSsi0ty/Awh8e1FAW6p8hNSsi0ty -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -c=4 -nolocalimports -importcfg $WORK/b011/importcfg -pack /workdir/go/src/internal/goexperiment/exp_allocheaders_on.go /workdir/go/src/internal/goexperiment/exp_arenas_off.go /workdir/go/src/internal/goexperiment/exp_boringcrypto_off.go /workdir/go/src/internal/goexperiment/exp_cacheprog_off.go /workdir/go/src/internal/goexperiment/exp_cgocheck2_off.go /workdir/go/src/internal/goexperiment/exp_coverageredesign_on.go /workdir/go/src/internal/goexperiment/exp_exectracer2_on.go /workdir/go/src/internal/goexperiment/exp_fieldtrack_off.go /workdir/go/src/internal/goexperiment/exp_heapminimum512kib_off.go /workdir/go/src/internal/goexperiment/exp_loopvar_off.go /workdir/go/src/internal/goexperiment/exp_newinliner_off.go /workdir/go/src/internal/goexperiment/exp_pagetrace_off.go /workdir/go/src/internal/goexperiment/exp_preemptibleloops_off.go /workdir/go/src/internal/goexperiment/exp_rangefunc_off.go /workdir/go/src/internal/goexperiment/exp_regabiargs_on.go /workdir/go/src/internal/goexperiment/exp_regabiwrappers_on.go /workdir/go/src/internal/goexperiment/exp_staticlockranking_off.go /workdir/go/src/internal/goexperiment/flags.go
            mkdir -p $WORK/b012/
            echo '# import config' > $WORK/b012/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b012/_pkg_.a -trimpath "$WORK/b012=>" -p internal/goos -std -complete -buildid ETHKwWU-tsTT6cI6ow7g/ETHKwWU-tsTT6cI6ow7g -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -c=4 -nolocalimports -importcfg $WORK/b012/importcfg -pack /workdir/go/src/internal/goos/goos.go /workdir/go/src/internal/goos/unix.go /workdir/go/src/internal/goos/zgoos_linux.go
            # internal/coverage/rtcov
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            # internal/goarch
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            mkdir -p $WORK/b013/
            echo -n > $WORK/b013/go_asm.h # internal
            cd /workdir/go/src/runtime/internal/atomic
            /workdir/go/pkg/tool/linux_amd64/asm -p runtime/internal/atomic -trimpath "$WORK/b013=>" -I $WORK/b013/ -I /workdir/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -D GOAMD64_v1 -gensymabis -o $WORK/b013/symabis ./atomic_amd64.s
            mkdir -p $WORK/b016/
            echo -n > $WORK/b016/go_asm.h # internal
            cd /workdir/go/src/runtime/internal/syscall
            /workdir/go/pkg/tool/linux_amd64/asm -p runtime/internal/syscall -trimpath "$WORK/b016=>" -I $WORK/b016/ -I /workdir/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -D GOAMD64_v1 -gensymabis -o $WORK/b016/symabis ./asm_linux_amd64.s
            # internal/godebugs
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            # internal/goos
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            # internal/goexperiment
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            mkdir -p $WORK/b007/
            echo -n > $WORK/b007/go_asm.h # internal
            cd /workdir/go/src/internal/cpu
            /workdir/go/pkg/tool/linux_amd64/asm -p internal/cpu -trimpath "$WORK/b007=>" -I $WORK/b007/ -I /workdir/go/pkg/include -D GOOS_linux -D GOARCH_amd64 -D GOAMD64_v1 -gensymabis -o $WORK/b007/symabis ./cpu.s ./cpu_x86.s
            echo '# import config' > $WORK/b013/importcfg # internal
            cd /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b013/_pkg_.a -trimpath "$WORK/b013=>" -p runtime/internal/atomic -std -buildid RxvR4loG3oFazg5D0fwg/RxvR4loG3oFazg5D0fwg -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -symabis $WORK/b013/symabis -c=4 -nolocalimports -importcfg $WORK/b013/importcfg -pack -asmhdr $WORK/b013/go_asm.h /workdir/go/src/runtime/internal/atomic/atomic_amd64.go /workdir/go/src/runtime/internal/atomic/doc.go /workdir/go/src/runtime/internal/atomic/stubs.go /workdir/go/src/runtime/internal/atomic/types.go /workdir/go/src/runtime/internal/atomic/types_64bit.go /workdir/go/src/runtime/internal/atomic/unaligned.go
            echo '# import config' > $WORK/b016/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b016/_pkg_.a -trimpath "$WORK/b016=>" -p runtime/internal/syscall -std -buildid WN_v3A1vKT8WDs-U_j3H/WN_v3A1vKT8WDs-U_j3H -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -symabis $WORK/b016/symabis -c=4 -nolocalimports -importcfg $WORK/b016/importcfg -pack -asmhdr $WORK/b016/go_asm.h /workdir/go/src/runtime/internal/syscall/defs_linux_amd64.go /workdir/go/src/runtime/internal/syscall/syscall_linux.go
            echo '# import config' > $WORK/b007/importcfg # internal
            /workdir/go/pkg/tool/linux_amd64/compile -o $WORK/b007/_pkg_.a -trimpath "$WORK/b007=>" -p internal/cpu -std -buildid Mh_sOF8Lr8lUUDv6xypP/Mh_sOF8Lr8lUUDv6xypP -pgoprofile=/workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof -symabis $WORK/b007/symabis -c=4 -nolocalimports -importcfg $WORK/b007/importcfg -pack -asmhdr $WORK/b007/go_asm.h /workdir/go/src/internal/cpu/cpu.go /workdir/go/src/internal/cpu/cpu_x86.go
            # runtime/internal/atomic
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            # runtime/internal/syscall
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
            # internal/cpu
            compile: /workdir/tmp/cmd-go-test-2549283672/tmpdir3448827710/build_pgo3677076484/gopath/src/prof: PGO error: error opening profile: EOF
        script_test.go:156: FAIL: testdata/script/build_pgo.txt:11: go build -x -pgo=prof -o triv.exe triv.go: exit status 1
FAIL
FAIL	cmd/go	291.802s

What did you expect to see?

Passing tests.

The failures appear to have started as of https://go.dev/cl/529738.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jan 22, 2024
@bcmills bcmills added this to the Go1.23 milestone Jan 22, 2024
@bcmills bcmills added release-blocker Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Jan 22, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/557460 mentions this issue: Revert "cmd/preprofile: Add preprocess tool to pre-parse the profile file."

@jinlin-bayarea
Copy link
Contributor

Hi Bryan. Sorry to cause this. Would you please show me how to reproduce this issue? I used ./all.bash and could not reproduce this issue.

@bcmills
Copy link
Contributor Author

bcmills commented Jan 22, 2024

go test std cmd is the way to run all the tests. For just this one, you could use go test cmd/go -run=TestScript/build_pgo.

gopherbot pushed a commit that referenced this issue Jan 31, 2024
It fixes the issue #65220.
It also includes  https://go.dev/cl/557458 from Michael.

Change-Id: Ic6109e1b6a9045459ff4a54dea11cbfe732b01e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/557918
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
ezz-no pushed a commit to ezz-no/go-ezzno that referenced this issue Feb 18, 2024
…file."

This reverts CL 529738.

Reason for revert: Breaking longtest builders

For golang#58102.
Fixes golang#65220.

Change-Id: Id295e3249da9d82f6a9e4fc571760302a1362def
Reviewed-on: https://go-review.googlesource.com/c/go/+/557460
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
ezz-no pushed a commit to ezz-no/go-ezzno that referenced this issue Feb 18, 2024
It fixes the issue golang#65220.
It also includes  https://go.dev/cl/557458 from Michael.

Change-Id: Ic6109e1b6a9045459ff4a54dea11cbfe732b01e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/557918
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations)
Projects
None yet
Development

No branches or pull requests

3 participants