-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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/go/ssa: crashes on code containing generics #54086
Comments
kubernetes/hack/tools is using x/tools at 77aa08bb151a:
You need to sync past at least the last relevant commit for #48525 (comment). You can upgrade to the
Running
This addresses the crashes you are seeing. This is now google/go-flow-levee#323. In the long term levee should:
|
@timothy-king thanks for the analysis. |
go get -u golang.org/x/tools go mod tidy For golang/go#54086
go get -u golang.org/x/tools go mod tidy x/tools/go/ssa is used by message/pipeline. The version 0.1.11 required contained an issue related to generics, when generics instantiation was confused with container index. However, x/tools/go/ssa does have it fixed at head (see golang/go#52834). This change upgrades the required version to ensure less users of message/pipelines have issues. For golang/go#54086
Change https://go.dev/cl/422414 mentions this issue: |
go get -u golang.org/x/tools go mod tidy x/tools/go/ssa is used by message/pipeline. Generics instantiation in x/[email protected] could be confused with container index. However, x/tools/go/ssa does have it fixed in x/[email protected] (see golang/go#52834). This change upgrades the required version to ensure that fewer users of message/pipelines have issues. Updates golang/go#54086
go get -u golang.org/x/tools go mod tidy x/tools/go/ssa is used by message/pipeline. Generics instantiation in x/[email protected] could be confused with container index. However, x/tools/go/ssa does have it fixed in x/[email protected] (see golang/go#52834). This change upgrades the required version to ensure that fewer users of message/pipelines have issues. Updates golang/go#54086
go get -u golang.org/x/tools go mod tidy x/tools/go/ssa is used by message/pipeline. Generics instantiation in x/[email protected] could be confused with container index. However, x/tools/go/ssa does have it fixed in x/[email protected] (see golang/go#52834). This change upgrades the required version to ensure that fewer users of message/pipelines have issues. Updates golang/go#54086 Change-Id: I03882a7bb2c75a8f16ef376d06f2cf714d39e7a2 GitHub-Last-Rev: 351404b GitHub-Pull-Request: #32 Reviewed-on: https://go-review.googlesource.com/c/text/+/422414 TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Tim King <[email protected]> Reviewed-by: Tim King <[email protected]> Reviewed-by: Peter Weinberger <[email protected]>
go get -u golang.org/x/tools go mod tidy x/tools/go/ssa is used by message/pipeline. Generics instantiation in x/[email protected] could be confused with container index. However, x/tools/go/ssa does have it fixed in x/[email protected] (see golang/go#52834). This change upgrades the required version to ensure that fewer users of message/pipelines have issues. Updates golang/go#54086 Change-Id: I03882a7bb2c75a8f16ef376d06f2cf714d39e7a2 GitHub-Last-Rev: 351404b GitHub-Pull-Request: golang#32 Reviewed-on: https://go-review.googlesource.com/c/text/+/422414 TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Tim King <[email protected]> Reviewed-by: Tim King <[email protected]> Reviewed-by: Peter Weinberger <[email protected]>
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes, with go1.19rc2.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Kubernetes runs a pre-submit which makes use of
levee
. The script for which can be found here: https://github.com/kubernetes/kubernetes/blob/master/hack/verify-govet-levee.shWhat did you expect to see?
Expected no crashes as per #48525 (comment)
What did you see instead?
After bumping the test image to 1.19rc2, the above mentioned job started panicing, panic starting from
x/tools/go/analysis/unitchecker
and ending inx/tools/go/ssa
. The entire stack trace can be found here as part of the logs: https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/directory/pull-kubernetes-verify-govet-levee/1552157434636668928Reproducing the issue
To reproduce it locally, running
./hack/verify-govet-levee.sh
on Kubernetes master after switching to go1.19rc2 should do it.Misc info
#48525 was an issue for the Go 1.18 timeframe as well, but the failing job above worked fine before. I'm not sure why this happens after switching to go1.19. Could this be because of go1.19 introducing generics in the stdlib?
The reason I list the above reason is because in the logs we see panics in the following two instances:
instances of generics in the stdlib
and
For more details around this failure and the timeline of merges in Kubernetes that led to them, please see: kubernetes/kubernetes#111452
cc @timothy-king
Since you were working on the generics support for SSA
cc @nikhita @dims @liggitt @palnabarun
The text was updated successfully, but these errors were encountered: