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/tools/gopls: updates to go.sum needed, disabled by -mod=readonly with experimentalWorkspaceModule #46061

Open
cvvz opened this issue May 9, 2021 · 6 comments

Comments

@cvvz
Copy link

@cvvz cvvz commented May 9, 2021

What version of Go are you using (go version)?

$ go version
go1.15.7 darwin/amd64
VSCode Go extension v0.24.2
gopls v0.6.11

Does this issue reproduce with the latest release?

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/chenweizhi/Library/Caches/go-build"
GOENV="/Users/chenweizhi/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/chenweizhi/go/pkg/mod"
GONOPROXY="*.sankuai.com,*.dianpingoa.com"
GONOSUMDB="*.sankuai.com,*.dianpingoa.com"
GOOS="darwin"
GOPATH="/Users/chenweizhi/go"
GOPRIVATE="*.sankuai.com,*.dianpingoa.com"
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/chenweizhi/workspace/blade/blade-operator/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ky/6_7vdv752_51h7vsm1ttmzvr0000gn/T/go-build362859145=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

The issue I encountered may be the same as #44097.
VSCode settings for gopls:

"gopls": {
        "build.experimentalWorkspaceModule": true,
        "build.expandWorkspaceToModule": true
    }

There are 2 go modules in my project, and VS Code prompt that go.sum is out of sync with go.mod. Please update it by applying the quick fix., but I can't fix it unless I delete one of the them.

What did you expect to see?

Figure it out and fix this problem in a graceful way.

@gopherbot gopherbot added this to the Unreleased milestone May 9, 2021
@cvvz
Copy link
Author

@cvvz cvvz commented May 9, 2021

Logs of gopls(server) with -rpc.trace

[Trace - 14:43:49.478 PM] Sending request 'textDocument/hover - (16)'.
Params: {"textDocument":{"uri":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"},"position":{"line":4,"character":33}}


[Trace - 14:43:49.478 PM] Received response 'textDocument/hover - (16)' in 0ms.
Result: null


[Trace - 14:43:49.632 PM] Sending request 'textDocument/codeAction - (17)'.
Params: {"textDocument":{"uri":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"},"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"context":{"diagnostics":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"message":"go.sum is out of sync with go.mod. Please update it by applying the quick fix.","severity":1,"source":"go list"}],"only":["quickfix"]}}


[Trace - 14:43:49.632 PM] Received response 'textDocument/codeAction - (17)' in 0ms.
Result: [{"title":"Run go mod tidy","kind":"quickfix","diagnostics":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"severity":1,"source":"go list","message":"go.sum is out of sync with go.mod. Please update it by applying the quick fix."}],"edit":{},"command":{"title":"Run go mod tidy","command":"gopls.tidy","arguments":[{"URIs":["file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/hack/tools/go.mod"]}]}},{"title":"Update go.sum","kind":"quickfix","diagnostics":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"severity":1,"source":"go list","message":"go.sum is out of sync with go.mod. Please update it by applying the quick fix."}],"edit":{},"command":{"title":"Update go.sum","command":"gopls.update_go_sum","arguments":[{"URIs":["file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/hack/tools/go.mod"]}]}}]


[Trace - 14:43:49.632 PM] Received notification 'window/logMessage'.
Params: {"type":1,"message":"2021/05/09 14:43:49 diagnosing go.mod: err: exit status 1: stderr: warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster\nwarning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator\nwarning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke\nwarning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster\nwarning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator\nwarning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke\ngo: updates to go.sum needed, disabled by -mod=readonly\n: packages.Load error\n"}


[Error - 2:43:49 PM] 2021/05/09 14:43:49 diagnosing go.mod: err: exit status 1: stderr: warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke
go: updates to go.sum needed, disabled by -mod=readonly
: packages.Load error

[Trace - 14:43:52.084 PM] Sending request 'textDocument/codeLens - (18)'.
Params: {"textDocument":{"uri":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"}}


[Trace - 14:43:52.084 PM] Received response 'textDocument/codeLens - (18)' in 0ms.
Result: [{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"command":{"title":"Run go mod tidy","command":"gopls.tidy","arguments":[{"URIs":["file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"]}]}},{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"command":{"title":"Create vendor directory","command":"gopls.vendor","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Check for upgrades","command":"gopls.check_upgrades","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","Modules":["github.com/Azure/go-autorest/autorest/mocks","github.com/BurntSushi/toml","github.com/MakeNowJust/heredoc","github.com/Masterminds/semver","github.com/Microsoft/go-winio","github.com/NYTimes/gziphandler","github.com/aws/aws-sdk-go","github.com/chai2010/gettext-go","github.com/codahale/hdrhistogram","github.com/coreos/etcd","github.com/docker/docker","github.com/docker/go-connections","github.com/docker/spdystream","github.com/dsnet/compress","github.com/dustin/go-humanize","github.com/elazarl/goproxy","github.com/elazarl/goproxy/ext","github.com/emicklei/go-restful","github.com/fatih/color","github.com/ghodss/yaml","github.com/go-openapi/spec","github.com/go-sql-driver/mysql","github.com/gogo/protobuf","github.com/golang/groupcache","github.com/golang/snappy","github.com/google/go-cmp","github.com/google/gofuzz","github.com/gophercloud/gophercloud","github.com/gregjones/httpcache","github.com/grpc-ecosystem/go-grpc-middleware","github.com/grpc-ecosystem/grpc-gateway","github.com/imdario/mergo","github.com/juju/errors","github.com/juju/loggo","github.com/juju/testing","github.com/mholt/archiver","github.com/minio/minio-go/v6","github.com/mohae/deepcopy","github.com/nwaples/rardecode","github.com/onsi/ginkgo","github.com/onsi/gomega","github.com/openshift/generic-admission-server","github.com/opentracing/opentracing-go","github.com/pierrec/lz4","github.com/pingcap/advanced-statefulset/client","github.com/pingcap/check","github.com/pingcap/errors","github.com/pingcap/kvproto","github.com/pingcap/tidb","github.com/prometheus/client_golang","github.com/prometheus/client_model","github.com/prometheus/common","github.com/prometheus/prom2json","github.com/prometheus/prometheus","github.com/robfig/cron","github.com/sirupsen/logrus","github.com/soheilhy/cmux","github.com/spf13/cobra","github.com/spf13/pflag","github.com/tikv/pd","github.com/tmc/grpc-websocket-proxy","github.com/uber-go/atomic","github.com/uber/jaeger-client-go","github.com/uber/jaeger-lib","github.com/xi2/xz","github.com/xiang90/probing","github.com/yisaer/crd-validation","gocloud.dev","golang.org/x/sync","golang.org/x/time","gomodules.xyz/jsonpatch/v2","gopkg.in/mgo.v2","gopkg.in/yaml.v2","k8s.io/api","k8s.io/apiextensions-apiserver","k8s.io/apimachinery","k8s.io/apiserver","k8s.io/cli-runtime","k8s.io/client-go","k8s.io/code-generator","k8s.io/component-base","k8s.io/klog","k8s.io/kube-aggregator","k8s.io/kube-openapi","k8s.io/kubectl","k8s.io/kubernetes","k8s.io/utils","sigs.k8s.io/apiserver-builder-alpha/cmd","sigs.k8s.io/controller-runtime","sigs.k8s.io/yaml"]}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Upgrade transitive dependencies","command":"gopls.upgrade_dependency","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","GoCmdArgs":["-d","-u","-t","./..."],"AddRequire":false}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Upgrade direct dependencies","command":"gopls.upgrade_dependency","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","GoCmdArgs":["-d","github.com/Azure/go-autorest/autorest/mocks","github.com/BurntSushi/toml","github.com/MakeNowJust/heredoc","github.com/Masterminds/semver","github.com/Microsoft/go-winio","github.com/NYTimes/gziphandler","github.com/aws/aws-sdk-go","github.com/chai2010/gettext-go","github.com/codahale/hdrhistogram","github.com/coreos/etcd","github.com/docker/docker","github.com/docker/go-connections","github.com/docker/spdystream","github.com/dsnet/compress","github.com/dustin/go-humanize","github.com/elazarl/goproxy","github.com/elazarl/goproxy/ext","github.com/emicklei/go-restful","github.com/fatih/color","github.com/ghodss/yaml","github.com/go-openapi/spec","github.com/go-sql-driver/mysql","github.com/gogo/protobuf","github.com/golang/groupcache","github.com/golang/snappy","github.com/google/go-cmp","github.com/google/gofuzz","github.com/gophercloud/gophercloud","github.com/gregjones/httpcache","github.com/grpc-ecosystem/go-grpc-middleware","github.com/grpc-ecosystem/grpc-gateway","github.com/imdario/mergo","github.com/juju/errors","github.com/juju/loggo","github.com/juju/testing","github.com/mholt/archiver","github.com/minio/minio-go/v6","github.com/mohae/deepcopy","github.com/nwaples/rardecode","github.com/onsi/ginkgo","github.com/onsi/gomega","github.com/openshift/generic-admission-server","github.com/opentracing/opentracing-go","github.com/pierrec/lz4","github.com/pingcap/advanced-statefulset/client","github.com/pingcap/check","github.com/pingcap/errors","github.com/pingcap/kvproto","github.com/pingcap/tidb","github.com/prometheus/client_golang","github.com/prometheus/client_model","github.com/prometheus/common","github.com/prometheus/prom2json","github.com/prometheus/prometheus","github.com/robfig/cron","github.com/sirupsen/logrus","github.com/soheilhy/cmux","github.com/spf13/cobra","github.com/spf13/pflag","github.com/tikv/pd","github.com/tmc/grpc-websocket-proxy","github.com/uber-go/atomic","github.com/uber/jaeger-client-go","github.com/uber/jaeger-lib","github.com/xi2/xz","github.com/xiang90/probing","github.com/yisaer/crd-validation","gocloud.dev","golang.org/x/sync","golang.org/x/time","gomodules.xyz/jsonpatch/v2","gopkg.in/mgo.v2","gopkg.in/yaml.v2","k8s.io/api","k8s.io/apiextensions-apiserver","k8s.io/apimachinery","k8s.io/apiserver","k8s.io/cli-runtime","k8s.io/client-go","k8s.io/code-generator","k8s.io/component-base","k8s.io/klog","k8s.io/kube-aggregator","k8s.io/kube-openapi","k8s.io/kubectl","k8s.io/kubernetes","k8s.io/utils","sigs.k8s.io/apiserver-builder-alpha/cmd","sigs.k8s.io/controller-runtime","sigs.k8s.io/yaml"],"AddRequire":false}]}}]


[Trace - 14:43:54.868 PM] Sending request 'workspace/executeCommand - (19)'.
Params: {"command":"gopls.update_go_sum","arguments":[{"URIs":["file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/hack/tools/go.mod"]}]}


[Trace - 14:43:54.869 PM] Received request 'window/workDoneProgress/create - (6)'.
Params: {"token":"6129484611666145821"}


[Trace - 14:43:54.869 PM] Sending response 'window/workDoneProgress/create - (6)' in 0ms.
Result: 


[Trace - 14:43:54.869 PM] Received notification '$/progress'.
Params: {"token":"6129484611666145821","value":{"kind":"begin","title":"Updating go.sum","cancellable":true,"message":"Running..."}}


[Trace - 14:43:55.116 PM] Sending request 'textDocument/codeLens - (20)'.
Params: {"textDocument":{"uri":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"}}


[Trace - 14:43:56.212 PM] Received notification '$/progress'.
Params: {"token":"6129484611666145821","value":{"kind":"end","message":"completed"}}


[Trace - 14:43:56.212 PM] Received response 'workspace/executeCommand - (19)' in 1344ms.
Result: null


[Trace - 14:43:56.213 PM] Received response 'textDocument/codeLens - (20)' in 1096ms.
Result: [{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"command":{"title":"Run go mod tidy","command":"gopls.tidy","arguments":[{"URIs":["file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"]}]}},{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":39}},"command":{"title":"Create vendor directory","command":"gopls.vendor","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Check for upgrades","command":"gopls.check_upgrades","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","Modules":["github.com/Azure/go-autorest/autorest/mocks","github.com/BurntSushi/toml","github.com/MakeNowJust/heredoc","github.com/Masterminds/semver","github.com/Microsoft/go-winio","github.com/NYTimes/gziphandler","github.com/aws/aws-sdk-go","github.com/chai2010/gettext-go","github.com/codahale/hdrhistogram","github.com/coreos/etcd","github.com/docker/docker","github.com/docker/go-connections","github.com/docker/spdystream","github.com/dsnet/compress","github.com/dustin/go-humanize","github.com/elazarl/goproxy","github.com/elazarl/goproxy/ext","github.com/emicklei/go-restful","github.com/fatih/color","github.com/ghodss/yaml","github.com/go-openapi/spec","github.com/go-sql-driver/mysql","github.com/gogo/protobuf","github.com/golang/groupcache","github.com/golang/snappy","github.com/google/go-cmp","github.com/google/gofuzz","github.com/gophercloud/gophercloud","github.com/gregjones/httpcache","github.com/grpc-ecosystem/go-grpc-middleware","github.com/grpc-ecosystem/grpc-gateway","github.com/imdario/mergo","github.com/juju/errors","github.com/juju/loggo","github.com/juju/testing","github.com/mholt/archiver","github.com/minio/minio-go/v6","github.com/mohae/deepcopy","github.com/nwaples/rardecode","github.com/onsi/ginkgo","github.com/onsi/gomega","github.com/openshift/generic-admission-server","github.com/opentracing/opentracing-go","github.com/pierrec/lz4","github.com/pingcap/advanced-statefulset/client","github.com/pingcap/check","github.com/pingcap/errors","github.com/pingcap/kvproto","github.com/pingcap/tidb","github.com/prometheus/client_golang","github.com/prometheus/client_model","github.com/prometheus/common","github.com/prometheus/prom2json","github.com/prometheus/prometheus","github.com/robfig/cron","github.com/sirupsen/logrus","github.com/soheilhy/cmux","github.com/spf13/cobra","github.com/spf13/pflag","github.com/tikv/pd","github.com/tmc/grpc-websocket-proxy","github.com/uber-go/atomic","github.com/uber/jaeger-client-go","github.com/uber/jaeger-lib","github.com/xi2/xz","github.com/xiang90/probing","github.com/yisaer/crd-validation","gocloud.dev","golang.org/x/sync","golang.org/x/time","gomodules.xyz/jsonpatch/v2","gopkg.in/mgo.v2","gopkg.in/yaml.v2","k8s.io/api","k8s.io/apiextensions-apiserver","k8s.io/apimachinery","k8s.io/apiserver","k8s.io/cli-runtime","k8s.io/client-go","k8s.io/code-generator","k8s.io/component-base","k8s.io/klog","k8s.io/kube-aggregator","k8s.io/kube-openapi","k8s.io/kubectl","k8s.io/kubernetes","k8s.io/utils","sigs.k8s.io/apiserver-builder-alpha/cmd","sigs.k8s.io/controller-runtime","sigs.k8s.io/yaml"]}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Upgrade transitive dependencies","command":"gopls.upgrade_dependency","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","GoCmdArgs":["-d","-u","-t","./..."],"AddRequire":false}]}},{"range":{"start":{"line":8,"character":0},"end":{"line":99,"character":1}},"command":{"title":"Upgrade direct dependencies","command":"gopls.upgrade_dependency","arguments":[{"URI":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod","GoCmdArgs":["-d","github.com/Azure/go-autorest/autorest/mocks","github.com/BurntSushi/toml","github.com/MakeNowJust/heredoc","github.com/Masterminds/semver","github.com/Microsoft/go-winio","github.com/NYTimes/gziphandler","github.com/aws/aws-sdk-go","github.com/chai2010/gettext-go","github.com/codahale/hdrhistogram","github.com/coreos/etcd","github.com/docker/docker","github.com/docker/go-connections","github.com/docker/spdystream","github.com/dsnet/compress","github.com/dustin/go-humanize","github.com/elazarl/goproxy","github.com/elazarl/goproxy/ext","github.com/emicklei/go-restful","github.com/fatih/color","github.com/ghodss/yaml","github.com/go-openapi/spec","github.com/go-sql-driver/mysql","github.com/gogo/protobuf","github.com/golang/groupcache","github.com/golang/snappy","github.com/google/go-cmp","github.com/google/gofuzz","github.com/gophercloud/gophercloud","github.com/gregjones/httpcache","github.com/grpc-ecosystem/go-grpc-middleware","github.com/grpc-ecosystem/grpc-gateway","github.com/imdario/mergo","github.com/juju/errors","github.com/juju/loggo","github.com/juju/testing","github.com/mholt/archiver","github.com/minio/minio-go/v6","github.com/mohae/deepcopy","github.com/nwaples/rardecode","github.com/onsi/ginkgo","github.com/onsi/gomega","github.com/openshift/generic-admission-server","github.com/opentracing/opentracing-go","github.com/pierrec/lz4","github.com/pingcap/advanced-statefulset/client","github.com/pingcap/check","github.com/pingcap/errors","github.com/pingcap/kvproto","github.com/pingcap/tidb","github.com/prometheus/client_golang","github.com/prometheus/client_model","github.com/prometheus/common","github.com/prometheus/prom2json","github.com/prometheus/prometheus","github.com/robfig/cron","github.com/sirupsen/logrus","github.com/soheilhy/cmux","github.com/spf13/cobra","github.com/spf13/pflag","github.com/tikv/pd","github.com/tmc/grpc-websocket-proxy","github.com/uber-go/atomic","github.com/uber/jaeger-client-go","github.com/uber/jaeger-lib","github.com/xi2/xz","github.com/xiang90/probing","github.com/yisaer/crd-validation","gocloud.dev","golang.org/x/sync","golang.org/x/time","gomodules.xyz/jsonpatch/v2","gopkg.in/mgo.v2","gopkg.in/yaml.v2","k8s.io/api","k8s.io/apiextensions-apiserver","k8s.io/apimachinery","k8s.io/apiserver","k8s.io/cli-runtime","k8s.io/client-go","k8s.io/code-generator","k8s.io/component-base","k8s.io/klog","k8s.io/kube-aggregator","k8s.io/kube-openapi","k8s.io/kubectl","k8s.io/kubernetes","k8s.io/utils","sigs.k8s.io/apiserver-builder-alpha/cmd","sigs.k8s.io/controller-runtime","sigs.k8s.io/yaml"],"AddRequire":false}]}}]


[Trace - 14:43:56.216 PM] Sending request 'textDocument/codeAction - (21)'.
Params: {"textDocument":{"uri":"file:///Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/go.mod"},"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}},"context":{"diagnostics":[]}}


[Trace - 14:43:56.216 PM] Received response 'textDocument/codeAction - (21)' in 0ms.
Result: null
@findleyr
Copy link
Contributor

@findleyr findleyr commented May 9, 2021

Thank you for the report. I agree that this is probably a dupe of #44097, but the resolution there was to improve the quick fix. Perhaps it needs more refinement, so let's keep this open.

but I can't fix it unless I delete one of the them.

It should be possible to fix this error without deleting one of the modules. Do you get a quick fix on the module directive of either go.mod file; if so, does running it resolve the error? Does running go mod tidy in both modules resolve the error?

@cvvz
Copy link
Author

@cvvz cvvz commented May 10, 2021

Do you get a quick fix on the module directive of either go.mod file; if so, does running it resolve the error? Does running go mod tidy in both modules resolve the error?

I do see a quick fix prompt in go.mod, which indicates me to Update go.sum or Run go mod tidy to fix. But they doesn't work. Both meet the error below:

Error loading workspace: err: exit status 1: stderr: 
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster 
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke 
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-cluster 
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/charts/tidb-operator 
warning: ignoring symlink /Users/chenweizhi/go/src/github.com/pingcap/tidb-operator/deploy/gcp/manifests/gke 
go: updates to go.sum needed, disabled by -mod=readonly : packages.Load error
@findleyr
Copy link
Contributor

@findleyr findleyr commented May 10, 2021

I do see a quick fix prompt in go.mod, which indicates me to Update go.sum or Run go mod tidy to fix. But they doesn't work. Both meet the error below:

For what it's worth, that's not the error from the tidy command. The code lenses to fix the error should still work. I see from your logs that you ran the gopls.update_go_sum command, and that it didn't generate any edits. This does indeed look like a bug. We'll try to reproduce and fix, but this code is likely to change significantly soon anyway, with various proposals to support multi-module workspaces from the go command.

For completeness, did you try running the Run go mod tidy lens as well?

And what about tidying your modules manually from the command line (i.e. running go mod tidy from each module). Does that fix your workspace?

@cvvz
Copy link
Author

@cvvz cvvz commented May 11, 2021

For completeness, did you try running the Run go mod tidy lens as well?

Yep, I tried but didn't work.

And what about tidying your modules manually from the command line (i.e. running go mod tidy from each module). Does that fix your workspace?

Also didn't work.

This does indeed look like a bug. We'll try to reproduce and fix, but this code is likely to change significantly soon anyway, with various proposals to support multi-module workspaces from the go command.

I really look forward to it! Currently, this bug can be reproduced in any project including mutiple go modules, such as Kubernetes.

@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented May 11, 2021

I was able to reproduce this using the repository in the logs above (it is public): https://github.com/pingcap/tidb-operator. The go.mod file has a lot of replace directives, and it's possible we made a mistake in generating the gopls.mod or something conflicts with the other go.mod file: https://github.com/pingcap/tidb-operator/blob/master/hack/tools/go.mod.

@stamblerre stamblerre self-assigned this May 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants