Skip to content

x/tools/gopls: gopls-CI Kokoro presubmit failing on CL 315570 due to rsync failure #45919

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

Closed
bcmills opened this issue May 3, 2021 · 9 comments
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@bcmills
Copy link
Contributor

bcmills commented May 3, 2021

CL 315570 is passing the TryBots and two out of three of the gopls-legacy kokoro presubmits (Go 1.13 and Go 1.14).

However, the Go 1.12 presubmit is failing due to what appears to be an internal error within the presubmit script. The tests appear to have all run successfully, but then the presubmit script fails due to an rsync error attempting to transfer gopls/go.mod somewhere.

The failure log also links to a document that no longer exists (https://go.googlesource.com/tools/+/refs/heads/master/gopls/doc/user.md#supported-go-versions), and especially given that it isn't at all clear to me why we're even testing against Go 1.12 — a version that hasn't been supported by the rest of the Go project for over a year now (2020-02-25).

If this presubmit test is indicating a real problem with the CL, then it needs to be improved to more clearly explain what that problem is. Otherwise, the presubmit should be fixed (or disabled) to eliminate the spurious failure.

CC @golang/release @ianthehat @stamblerre @findleyr

Log
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
[19:17:32] Transferring environment variable script to build VM
[19:17:33] Transferring kokoro_log_reader.py to build VM
[19:17:34] Transferring source code to build VM
[19:17:36] Executing build script on build VM



[ID: 5087322] Executing command via SSH:
export KOKORO_BUILD_NUMBER="2301"
export KOKORO_JOB_NAME="golang/tools/gopls-legacy/presubmit-112"
source /tmpfs/kokoro-env_vars.sh; cd /tmpfs/src/ ;  chmod 755 piper/google3/go/kokoro/tools/gopls-legacy/build.sh ;  nohup bash -c "( rm -f /tmpfs/kokoro_build_exit_code ; piper/google3/go/kokoro/tools/gopls-legacy/build.sh   ; echo \${PIPESTATUS[0]} > /tmpfs/kokoro_build_exit_code ) > /tmpfs/kokoro_build.log 2>&1" > /dev/null 2>&1 & echo $! > /tmpfs/kokoro_build.pid ; python /tmpfs/kokoro_log_reader.py /tmpfs/kokoro_build.log /tmpfs/kokoro_build_exit_code /tmpfs/kokoro_build.pid /tmpfs/kokoro_log_reader.pid --start_byte 0

ABOUT THIS BUILD: this build runs gopls tests on 1.12.

See
https://go.googlesource.com/tools/+/refs/heads/master/gopls/doc/user.md#supported-go-versions
for information on supported gopls versions.
Unable to find image 'golang:1.12' locally
1.12: Pulling from library/golang
dc65f448a2e2: Pulling fs layer
346ffb2b67d7: Pulling fs layer
dea4ecac934f: Pulling fs layer
8ac92ddf84b3: Pulling fs layer
7ca605383307: Pulling fs layer
020f524b99dd: Pulling fs layer
06036b0307c9: Pulling fs layer
7ca605383307: Waiting
020f524b99dd: Waiting
06036b0307c9: Waiting
8ac92ddf84b3: Waiting
346ffb2b67d7: Verifying Checksum
346ffb2b67d7: Download complete
dea4ecac934f: Download complete
dc65f448a2e2: Verifying Checksum
dc65f448a2e2: Download complete
8ac92ddf84b3: Verifying Checksum
8ac92ddf84b3: Download complete
06036b0307c9: Verifying Checksum
06036b0307c9: Download complete
7ca605383307: Verifying Checksum
7ca605383307: Download complete
020f524b99dd: Verifying Checksum
020f524b99dd: Download complete
dc65f448a2e2: Pull complete
346ffb2b67d7: Pull complete
dea4ecac934f: Pull complete
8ac92ddf84b3: Pull complete
7ca605383307: Pull complete
020f524b99dd: Pull complete
06036b0307c9: Pull complete
Digest: sha256:d0e79a9c39cdb3d71cc45fec929d1308d50420b79201467ec602b1b80cc314a8
Status: Downloaded newer image for golang:1.12
go version go1.12.17 linux/amd64
total 96
-rw-rw-r--  1 1000 1003  173 May  3 02:16 AUTHORS
-rw-rw-r--  1 1000 1003  913 May  3 02:16 CONTRIBUTING.md
-rw-rw-r--  1 1000 1003  170 May  3 02:16 CONTRIBUTORS
-rw-rw-r--  1 1000 1003 1479 May  3 02:16 LICENSE
-rw-rw-r--  1 1000 1003 1303 May  3 02:16 PATENTS
-rw-rw-r--  1 1000 1003 1381 May  3 02:16 README.md
drwxrwsr-x  3 1000 1003 4096 May  3 02:16 benchmark
drwxrwsr-x  3 1000 1003 4096 May  3 02:16 blog
drwxrwsr-x 29 1000 1003 4096 May  3 02:16 cmd
-rw-rw-r--  1 1000 1003   21 May  3 02:16 codereview.cfg
drwxrwsr-x  3 1000 1003 4096 May  3 02:16 container
drwxrwsr-x  2 1000 1003 4096 May  3 02:16 copyright
drwxrwsr-x  2 1000 1003 4096 May  3 02:16 cover
drwxrwsr-x 17 1000 1003 4096 May  3 02:16 go
-rw-rw-r--  1 1000 1003  323 May  3 02:16 go.mod
-rw-rw-r--  1 1000 1003 2834 May  3 02:16 go.sum
drwxrwsr-x  7 1000 1003 4096 May  3 02:16 godoc
drwxrwsr-x  7 1000 1003 4096 May  3 02:16 gopls
drwxrwsr-x  2 1000 1003 4096 May  3 02:16 imports
drwxrwsr-x 22 1000 1003 4096 May  3 02:16 internal
drwxrwsr-x  3 1000 1003 4096 May  3 02:16 playground
drwxrwsr-x  3 1000 1003 4096 May  3 02:16 present
drwxrwsr-x  6 1000 1003 4096 May  3 02:16 refactor
drwxrwsr-x  2 1000 1003 4096 May  3 02:16 txtar
go: finding github.com/yuin/goldmark v1.3.3
go: finding golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
go: finding golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
go: finding golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: finding golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
go: finding golang.org/x/mod v0.4.2
go: finding golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
go: finding golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
go: finding golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
go: finding golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44
go: finding golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
go: finding golang.org/x/text v0.3.3
go: finding golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
go: finding golang.org/x/sys v0.0.0-20190412213103-97732733099d
go: finding golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
go: finding golang.org/x/text v0.3.0
go: finding golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: finding golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: finding golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
go: finding golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
go: finding golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: finding golang.org/x/sync v0.0.0-20190423024810-112230192c58
go: downloading golang.org/x/mod v0.4.2
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
go: downloading golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
go: extracting golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
go: extracting golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: extracting golang.org/x/mod v0.4.2
go: extracting golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
ok  	golang.org/x/tools/internal/lsp	17.417s
ok  	golang.org/x/tools/internal/lsp/analysis/fillreturns	3.840s
ok  	golang.org/x/tools/internal/lsp/analysis/fillstruct	2.430s
ok  	golang.org/x/tools/internal/lsp/analysis/nonewvars	2.052s
ok  	golang.org/x/tools/internal/lsp/analysis/noresultvalues	0.097s
ok  	golang.org/x/tools/internal/lsp/analysis/simplifycompositelit	0.131s
ok  	golang.org/x/tools/internal/lsp/analysis/simplifyrange	2.947s
ok  	golang.org/x/tools/internal/lsp/analysis/simplifyslice	0.142s
ok  	golang.org/x/tools/internal/lsp/analysis/undeclaredname	0.126s
ok  	golang.org/x/tools/internal/lsp/analysis/unusedparams	3.925s
?   	golang.org/x/tools/internal/lsp/browser	[no test files]
ok  	golang.org/x/tools/internal/lsp/cache	0.050s
ok  	golang.org/x/tools/internal/lsp/cmd	20.132s
?   	golang.org/x/tools/internal/lsp/cmd/test	[no test files]
ok  	golang.org/x/tools/internal/lsp/command	2.946s
?   	golang.org/x/tools/internal/lsp/command/commandmeta	[no test files]
?   	golang.org/x/tools/internal/lsp/command/gen	[no test files]
?   	golang.org/x/tools/internal/lsp/debug	[no test files]
?   	golang.org/x/tools/internal/lsp/debug/log	[no test files]
?   	golang.org/x/tools/internal/lsp/debug/tag	[no test files]
ok  	golang.org/x/tools/internal/lsp/diff	0.027s
ok  	golang.org/x/tools/internal/lsp/diff/difftest	0.088s
ok  	golang.org/x/tools/internal/lsp/diff/myers	0.013s
ok  	golang.org/x/tools/internal/lsp/fake	0.035s
ok  	golang.org/x/tools/internal/lsp/fuzzy	0.017s
?   	golang.org/x/tools/internal/lsp/helper	[no test files]
ok  	golang.org/x/tools/internal/lsp/lsprpc	1.363s
ok  	golang.org/x/tools/internal/lsp/mod	0.048s
?   	golang.org/x/tools/internal/lsp/protocol	[no test files]
ok  	golang.org/x/tools/internal/lsp/regtest	0.018s
ok  	golang.org/x/tools/internal/lsp/snippet	0.006s
ok  	golang.org/x/tools/internal/lsp/source	10.442s
ok  	golang.org/x/tools/internal/lsp/source/completion	0.049s
?   	golang.org/x/tools/internal/lsp/tests	[no test files]
go: finding github.com/google/go-cmp v0.5.5
go: finding github.com/google/safehtml v0.0.2
go: finding github.com/BurntSushi/toml v0.3.1
go: finding github.com/jba/templatecheck v0.5.0
go: finding github.com/sergi/go-diff v1.1.0
go: finding github.com/sanity-io/litter v1.5.0
go: finding mvdan.cc/gofumpt v0.1.1
go: finding mvdan.cc/xurls/v2 v2.2.0
go: finding honnef.co/go/tools v0.1.3
go: finding github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b
go: finding github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312
go: finding github.com/stretchr/testify v1.4.0
go: finding github.com/davecgh/go-spew v1.1.1
go: finding github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0
go: finding github.com/kr/pretty v0.1.0
go: finding golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: finding github.com/rogpeppe/go-internal v1.6.2
go: finding golang.org/x/mod v0.4.0
go: finding github.com/rogpeppe/go-internal v1.5.2
go: finding github.com/kisielk/gotool v1.0.0
go: finding github.com/google/go-cmp v0.5.4
go: finding github.com/kr/text v0.1.0
go: finding gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
go: finding gopkg.in/yaml.v2 v2.2.4
go: finding github.com/davecgh/go-spew v1.1.0
go: finding gopkg.in/yaml.v2 v2.2.2
go: finding github.com/pmezard/go-difflib v1.0.0
go: finding github.com/stretchr/objx v0.1.0
go: finding github.com/kr/pty v1.1.1
go: finding gopkg.in/errgo.v2 v2.1.0
go: finding gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
go: downloading mvdan.cc/xurls/v2 v2.2.0
go: downloading github.com/sanity-io/litter v1.5.0
go: downloading mvdan.cc/gofumpt v0.1.1
go: downloading github.com/google/go-cmp v0.5.5
go: downloading github.com/sergi/go-diff v1.1.0
go: extracting github.com/sanity-io/litter v1.5.0
go: downloading github.com/jba/templatecheck v0.5.0
go: extracting mvdan.cc/xurls/v2 v2.2.0
go: extracting github.com/jba/templatecheck v0.5.0
go: downloading github.com/google/safehtml v0.0.2
go: extracting github.com/sergi/go-diff v1.1.0
go: extracting github.com/google/go-cmp v0.5.5
go: extracting mvdan.cc/gofumpt v0.1.1
go: extracting github.com/google/safehtml v0.0.2
go: downloading golang.org/x/text v0.3.3
go: extracting golang.org/x/text v0.3.3
?   	golang.org/x/tools/gopls	[no test files]
ok  	golang.org/x/tools/gopls/doc	5.914s
?   	golang.org/x/tools/gopls/integration/govim	[no test files]
ok  	golang.org/x/tools/gopls/internal/hooks	0.057s
ok  	golang.org/x/tools/gopls/internal/regtest/bench	0.066s
ok  	golang.org/x/tools/gopls/internal/regtest/codelens	10.144s
ok  	golang.org/x/tools/gopls/internal/regtest/completion	6.542s
ok  	golang.org/x/tools/gopls/internal/regtest/diagnostics	48.518s
ok  	golang.org/x/tools/gopls/internal/regtest/misc	39.890s
ok  	golang.org/x/tools/gopls/internal/regtest/modfile	3.086s
ok  	golang.org/x/tools/gopls/internal/regtest/watch	10.571s
ok  	golang.org/x/tools/gopls/internal/regtest/workspace	11.245s
?   	golang.org/x/tools/gopls/release	[no test files]
ok  	golang.org/x/tools/gopls/test	20.946s
ok  	golang.org/x/tools/gopls/test/debug	4.701s


[ID: 5087322] Build finished after 141 secs, exit value: 0


Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
rsync: send_files failed to open "/tmpfs/src/git/tools/gopls/go.mod": Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1677) [generator=3.1.3]
[19:19:57] Collecting build artifacts from build VM
Build terminated with Tool Failure.
[19:22:49] Build failed because of internal error
@bcmills bcmills added Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. gopls Issues related to the Go language server, gopls. labels May 3, 2021
@bcmills bcmills added this to the Unreleased milestone May 3, 2021
@bcmills
Copy link
Contributor Author

bcmills commented May 3, 2021

This failure mode may have something to do with #34634, but as far as I can tell that issue was fixed in Go 1.14, so it doesn't explain why the Go 1.13 build would be passing when the Go 1.12 build isn't.

@dmitshur
Copy link
Contributor

dmitshur commented May 3, 2021

The failure log also links to a document that no longer exists (https://go.googlesource.com/tools/+/refs/heads/master/gopls/doc/user.md#supported-go-versions),

It looks like the new link should be https://go.googlesource.com/tools/+/refs/heads/master/gopls#supported-go-versions-and-build-systems.

This failure mode may have something to do with #34634, but as far as I can tell that issue was fixed in Go 1.14,

Another possibly related issue is #31871, which was fixed in Go 1.13.

@findleyr
Copy link
Member

findleyr commented May 3, 2021

The failure log also links to a document that no longer exists (https://go.googlesource.com/tools/+/refs/heads/master/gopls/doc/user.md#supported-go-versions), and especially given that it isn't at all clear to me why we're even testing against Go 1.12

The documentation for this (once we resolve the broken link) is still sparse. The slightly longer explanation is that we don't have data on the distribution of Go versions among our users, and so try to provide minimal support for older go versions. The "legacy CI" build exists so that we don't break the build, and at least know when we have regressions in older versions. We don't prioritize fixes for the regressions, often skipping tests to resolve them. Sorry you ran into this. I'll improve the documentation, specifically to clarify our policy with respect to these builds.

Another possibly related issue is #31871, which was fixed in Go 1.13.

That seems likely. In that case, the best course of action might be to pin our previous gopls release as the final release supporting 1.12.

If this presubmit test is indicating a real problem with the CL, then it needs to be improved to more clearly explain what that problem is. Otherwise, the presubmit should be fixed (or disabled) to eliminate the spurious failure.

AFAICT from internal search results, this is an error that other teams have seen since the Kokoro cluster was upgraded in early 2021. In other words, we don't have direct control over this error message. We might be able to fix it by altering our build script (which is currently just a thin wrapper around go test) to configure permissions on this temporary directory, but I would argue it's not worth the effort if it is only affecting Go 1.12.

@findleyr findleyr changed the title x/build: gopls-CI Kokoro presubmit failing on CL 315570 due to rsync failure x/tools/gopls: gopls-CI Kokoro presubmit failing on CL 315570 due to rsync failure May 3, 2021
@gopherbot gopherbot added the Tools This label describes issues relating to any tools in the x/tools repository. label May 3, 2021
@hyangah
Copy link
Contributor

hyangah commented May 3, 2021

That seems likely. In that case, the best course of action might be to pin our previous gopls release as the final release supporting 1.12.

Does it mean removing 1.12 from the presubmit CI set?

Based on #39146, I assumed gopls wouldn't go beyond supporting the latest 4 versions even it decides to go with its own version policy separate from the official go project's. The current Go version is 1.16, so I think it's time to remove 1.12.

@findleyr
Copy link
Member

findleyr commented May 3, 2021

Does it mean removing 1.12 from the presubmit CI set?

Based on #39146, I assumed gopls wouldn't go beyond supporting the latest 4 versions even it decides to go with its own version policy separate from the official go project's. The current Go version is 1.16, so I think it's time to remove 1.12.

Ah, thank you Hana for finding that issue. I'll add that to the documentation as well.

Yes, I mean to propose that we drop the presubmit CI for 1.12, and furthermore allow ourselves to break the build by using e.g. errors rather than xerrors for error wrapping. Per your link, we'd also drop 1.13 CI once 1.17 is released. We've been a bit hesitant to drop support ("if it ain't broke don't break it"), but this approach still incurs cognitive overhead: we have to hold an increasingly distant set of API additions and bug fixes in our heads. Actively dropping support also allows us to announce final support before we encounter an irreconcilable regression.

@gopherbot
Copy link
Contributor

Change https://golang.org/cl/316349 mentions this issue: gopls: clarify policy with respect to supporting older Go versions

gopherbot pushed a commit to golang/tools that referenced this issue May 3, 2021
Clarify that we have best-effort support for the last 4 major Go
versions, and that support for Go releases 3 and 4 versions ago may not
block releases and may be dropped if necessary.

Also explain that Kokoro CI is not automatically re-run when the result
is removed in Gerrit.

For golang/go#45919

Change-Id: Ic1480c9276dad9502aaf885b98bb9445deeed0c5
Reviewed-on: https://go-review.googlesource.com/c/tools/+/316349
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
@gopherbot
Copy link
Contributor

Change https://golang.org/cl/315570 mentions this issue: go.mod: upgrade to Go 1.17

gopherbot pushed a commit to golang/tools that referenced this issue May 3, 2021
This change was produced using 'go mod tidy -go=1.17'
with a go command built at CL 315210.

This activates lazy loading for the x/tools module, and updates the
go.mod file to maintain the lazy-loading invariants (namely, including
an explicit requirement for every package transitively imported by the
main module).

I will send a separate CL to upgrade the gopls module, since it has
some awkward interactions with the Go 1.12 presubmit test
(golang/go#45919).

Note that this does *not* prevent users with earlier go versions from
successfully building packages from this module.

For golang/go#36460.

Change-Id: I1d2a6b28820fa6cb3d02162c14873643e4c689cf
Reviewed-on: https://go-review.googlesource.com/c/tools/+/315570
Trust: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
@findleyr
Copy link
Member

findleyr commented May 3, 2021

Ok, we discussed this at our team meeting today and consensus was that we've made effort to keep gopls working with Go 1.12 working in the past, it still works pretty well, and absent usage data would prefer not to just stop supporting it now. Notably AppEngine still supports Go 1.12.

We discussed adding a pop-up warning users that Go 1.12 will be deprecated soon.

Upon further consideration, the actual CI error is probably not that hard to fix -- I'll just chmod gopls/go.mod after the build completes. I've sent that change internally.

@findleyr
Copy link
Member

findleyr commented May 4, 2021

It took a couple attempts, but we've now successfully worked around the permissions issue.

@findleyr findleyr closed this as completed May 4, 2021
@findleyr findleyr self-assigned this May 4, 2021
@golang golang locked and limited conversation to collaborators May 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

5 participants