Closed
Description
Go version
go version go1.25-devel_a8e0641d5b
Output of go env
in your module/workspace:
[root@raji-x86-workspace1 kubernetes]# go env
AR='ar'
CC='gcc'
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_ENABLED='0'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
CXX='g++'
GCCGO='gccgo'
GO111MODULE=''
GOAMD64='v1'
GOARCH='amd64'
GOAUTH='netrc'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOCACHEPROG=''
GODEBUG=''
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFIPS140='off'
GOFLAGS=''
GOGCCFLAGS='-fPIC -m64 -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4279966289=/tmp/go-build -gno-record-gcc-switches'
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMOD='/root/kubernetes/go.mod'
GOMODCACHE=''
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH=''
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTELEMETRY='local'
GOTELEMETRYDIR='/root/.config/go/telemetry'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.25-devel_53b9eae387 Wed May 21 21:20:52 2025 -0700'
GOWORK='/root/kubernetes/go.work'
PKG_CONFIG='pkg-config'
[root@raji-x86-workspace1 kubernetes]#
What did you do?
git clone https://github.com/kubernetes/kubernetes
export CGO_ENABLED=0
export FORCE_HOST_GO=y
KUBE_BUILD_PLATFORMS=linux/x86_64 make cross
What did you see happen?
[root@raji-x86-workspace1 kubernetes]# KUBE_BUILD_PLATFORMS=linux/x86_64 make cross
+++ [0521 23:22:26] Building go targets for linux/amd64
k8s.io/apiextensions-apiserver (static)
k8s.io/component-base/logs/kube-log-runner (static)
k8s.io/kube-aggregator (static)
k8s.io/kubernetes/cluster/gce/gci/mounter (static)
k8s.io/kubernetes/cmd/kubeadm (static)
k8s.io/kubernetes/cmd/kube-apiserver (static)
k8s.io/kubernetes/cmd/kube-controller-manager (static)
k8s.io/kubernetes/cmd/kubelet (non-static)
k8s.io/kubernetes/cmd/kube-proxy (static)
k8s.io/kubernetes/cmd/kube-scheduler (static)
+++ [0521 23:23:10] Building go targets for linux/amd64
k8s.io/component-base/logs/kube-log-runner (static)
k8s.io/kubernetes/cmd/kubeadm (static)
k8s.io/kubernetes/cmd/kubelet (non-static)
k8s.io/kubernetes/cmd/kube-proxy (static)
+++ [0521 23:23:37] Building go targets for linux/amd64
k8s.io/kubernetes/cmd/kubectl (static)
k8s.io/kubernetes/cmd/kubectl-convert (static)
+++ [0521 23:24:12] Building go targets for linux/amd64
github.com/onsi/ginkgo/v2/ginkgo (non-static)
k8s.io/kubernetes/test/conformance/image/go-runner (non-static)
k8s.io/kubernetes/test/e2e/e2e.test (test)
+++ [0521 23:25:34] Building go targets for linux/amd64
github.com/onsi/ginkgo/v2/ginkgo (non-static)
k8s.io/kubernetes/cmd/kubemark (static)
k8s.io/kubernetes/test/e2e_node/e2e_node.test (test)
# go.etcd.io/etcd/server/v3/storage/backend
sync/atomic/type.go:47:6: internal compiler error: next missing from LHS of .autotmp_23, _ := ([]byte)(.autotmp_4), 0
Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new
!!! [0521 23:26:00] Call tree:
!!! [0521 23:26:00] 1: /root/kubernetes/hack/lib/golang.sh:997 kube::golang::build_binaries_for_platform(...)
!!! [0521 23:26:00] 2: hack/make-rules/build.sh:28 kube::golang::build_binaries(...)
!!! [0521 23:26:00] Call tree:
!!! [0521 23:26:00] 1: hack/make-rules/build.sh:28 kube::golang::build_binaries(...)
make[1]: *** [Makefile:97: all] Error 1
make: *** [Makefile:496: cross] Error 1
[root@raji-x86-workspace1 kubernetes]#
What did you expect to see?
Build of Kubernetes successful.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
mkumatag commentedon May 22, 2025
simple repro steps:
mateusz834 commentedon May 22, 2025
This assertion is hit in ReassignOracle:
go/src/cmd/compile/internal/ir/reassignment.go
Line 181 in 53b9eae
It looks like CL 649079/CL 673795
CC @golang/compiler @thepudds
Rajalakshmi-Girish commentedon May 22, 2025
It started occurring after https://go-review.googlesource.com/c/go/+/673795
mateusz834 commentedon May 22, 2025
After a quick debugging session:
I believe this is unrelated to these change - in a sense that these changes exposed a bug elsewhere.
For me it looks like it is related to loopvar logic in the compiler (
loopvar.ForCapture
).If you apply this change before the
ForCapture
calls, then theFatalfAt
call is not reached, when i move if after theForCapture
calls (exactly as the diff above) it fails.thepudds commentedon May 22, 2025
Hi @mateusz834, thanks for taking a quick look! (I'm just coming online; I'll start digging in shortly).
gopherbot commentedon May 22, 2025
Change https://go.dev/cl/675475 mentions this issue:
cmd/compile: fix ICE when transforming loopvar
cuonglm commentedon May 22, 2025
I think the problem is that loopvar transforming the for variable without updating its Defn properly, causing incorrect asignment statement check of ReassignOracle.
thepudds commentedon May 22, 2025
This set of repro steps seem to work now with https://go.dev/cl/675475 from @cuonglm:
thepudds commentedon May 22, 2025
From the kubernetes directory, this also seems to work now:
cuonglm commentedon May 22, 2025
Yeah, I am still working on a standalone reproducer.
cuonglm commentedon May 22, 2025
Standalone reproducer:
gopherbot commentedon May 22, 2025
Change https://go.dev/cl/675495 mentions this issue:
cmd/compile: use better fatal message for staticValue1
4 remaining items