Skip to content

cmd/compile: internal compiler error: unexpected Interface for <nil> while building Kubernetes #30430

@sudeeshjohn

Description

@sudeeshjohn

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

$ go version
go version devel +4a91d55 Wed Feb 27 04:34:51 2019 +0000 linux/ppc64le

Does this issue reproduce with the latest release?

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

go env Output
$ go env
GOARCH="ppc64le"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="ppc64le"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go/containerd_ws"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_ppc64le"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build637435105=/tmp/go-build -gno-record-gcc-switches"

What did you do?

git clone https://github.com/kubernetes/kubernetes.git
make all

What did you expect to see?

build should be successful

What did you see instead?

+++ [0227 10:25:19] Building go targets for linux/ppc64le:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
+++ [0227 10:25:28] Building go targets for linux/ppc64le:
    ./vendor/k8s.io/code-generator/cmd/defaulter-gen
+++ [0227 10:25:34] Building go targets for linux/ppc64le:
    ./vendor/k8s.io/code-generator/cmd/conversion-gen
+++ [0227 10:25:46] Building go targets for linux/ppc64le:
    ./vendor/k8s.io/kube-openapi/cmd/openapi-gen
2019/02/27 10:25:54 Code for OpenAPI definitions generated
+++ [0227 10:25:55] Building go targets for linux/ppc64le:
    ./vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0227 10:25:56] Building go targets for linux/ppc64le:
    cmd/kube-proxy
    cmd/kube-apiserver
    cmd/kube-controller-manager
    cmd/cloud-controller-manager
    cmd/kubelet
    cmd/kubeadm
    cmd/hyperkube
    cmd/kube-scheduler
    vendor/k8s.io/apiextensions-apiserver
    cluster/gce/gci/mounter
    cmd/kubectl
    cmd/gendocs
    cmd/genkubedocs
    cmd/genman
    cmd/genyaml
    cmd/genswaggertypedocs
    cmd/linkcheck
    vendor/github.com/onsi/ginkgo/ginkgo
    test/e2e/e2e.test
    cmd/kubemark
    vendor/github.com/onsi/ginkgo/ginkgo
    test/e2e_node/e2e_node.test
# k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver
/usr/local/go/pkg/tool/linux_ppc64le/link: running gcc failed: fork/exec /usr/bin/gcc: cannot allocate memory

# k8s.io/kubernetes/cmd/kubelet
/usr/local/go/pkg/tool/linux_ppc64le/link: running gcc failed: fork/exec /usr/bin/gcc: cannot allocate memory

# k8s.io/kubernetes/cmd/genyaml
/usr/local/go/pkg/tool/linux_ppc64le/link: running gcc failed: fork/exec /usr/bin/gcc: cannot allocate memory

# k8s.io/kubernetes/cmd/hyperkube
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x279be3, 0x16)
	/usr/local/go/src/runtime/panic.go:627 +0x5c
runtime.sysMap(0xc068000000, 0x8000000, 0x466a18)
	/usr/local/go/src/runtime/mem_linux.go:170 +0xcc
runtime.(*mheap).sysAlloc(0x448d20, 0x6e80000, 0x448d30, 0x3740)
	/usr/local/go/src/runtime/malloc.go:633 +0x194
runtime.(*mheap).grow(0x448d20, 0x3740, 0x0)
	/usr/local/go/src/runtime/mheap.go:1232 +0x3c
runtime.(*mheap).allocSpanLocked(0x448d20, 0x3740, 0x466a28, 0xc000000100)
	/usr/local/go/src/runtime/mheap.go:1150 +0x3fc
runtime.(*mheap).alloc_m(0x448d20, 0x3740, 0x320100, 0x448d28)
	/usr/local/go/src/runtime/mheap.go:977 +0xb0
runtime.(*mheap).alloc.func1()
	/usr/local/go/src/runtime/mheap.go:1048 +0x4c
runtime.systemstack(0xc000863ee8)
	/usr/local/go/src/runtime/asm_ppc64x.s:286 +0xd4
runtime.(*mheap).alloc(0x448d20, 0x3740, 0x10100, 0x3fff774100d8)
	/usr/local/go/src/runtime/mheap.go:1047 +0x7c
runtime.largeAlloc(0x6e80000, 0x230001, 0x3fff73270ab8)
	/usr/local/go/src/runtime/malloc.go:1055 +0x94
runtime.mallocgc.func1()
	/usr/local/go/src/runtime/malloc.go:950 +0x48
runtime.systemstack(0x40500)
	/usr/local/go/src/runtime/asm_ppc64x.s:260 +0x94
runtime.mstart()
	/usr/local/go/src/runtime/proc.go:1153

goroutine 1 [running]:
runtime.systemstack_switch()
	/usr/local/go/src/runtime/asm_ppc64x.s:207 +0x10 fp=0xc000822698 sp=0xc000822678 pc=0x66ca0
runtime.mallocgc(0x6e80000, 0x24ba80, 0xc06461e401, 0x271a02)
	/usr/local/go/src/runtime/malloc.go:949 +0x868 fp=0xc000822758 sp=0xc000822698 pc=0x1af28
runtime.newarray(0x24ba80, 0x88000, 0xae)
	/usr/local/go/src/runtime/malloc.go:1085 +0x88 fp=0xc000822798 sp=0xc000822758 pc=0x1b348
runtime.makeBucketArray(0x230e20, 0x13, 0x0, 0xc06461e460, 0xc06461e460)
	/usr/local/go/src/runtime/map.go:364 +0x1b4 fp=0xc0008227e0 sp=0xc000822798 pc=0x1c394
runtime.hashGrow(0x230e20, 0xc0000846f0)
	/usr/local/go/src/runtime/map.go:1035 +0x9c fp=0xc000822840 sp=0xc0008227e0 pc=0x1e0dc
runtime.mapassign_faststr(0x230e20, 0xc0000846f0, 0xc06461e460, 0xd5, 0x4665e0)
	/usr/local/go/src/runtime/map_faststr.go:272 +0x138 fp=0xc0008228b8 sp=0xc000822840 pc=0x21978
cmd/link/internal/sym.(*Symbols).Lookup(0xc00008e0f0, 0xc06461e460, 0xd5, 0x0, 0xc0644663a0)
	/usr/local/go/src/cmd/link/internal/sym/symbols.go:79 +0x160 fp=0xc000822948 sp=0xc0008228b8 pc=0xfb3c0
cmd/link/internal/objfile.(*objReader).readRef(0xc000822cd0)
	/usr/local/go/src/cmd/link/internal/objfile/objfile.go:395 +0xc8 fp=0xc000822a40 sp=0xc000822948 pc=0x131a48
cmd/link/internal/objfile.(*objReader).loadObjFile(0xc000822cd0)
	/usr/local/go/src/cmd/link/internal/objfile/objfile.go:110 +0x26c fp=0xc000822be8 sp=0xc000822a40 pc=0x12f4dc
cmd/link/internal/objfile.Load(0x434d80, 0xc00008e0f0, 0xc017353760, 0xc03d0c9e10, 0x16709, 0xc0645f1b80, 0x97)
	/usr/local/go/src/cmd/link/internal/objfile/objfile.go:70 +0x18c fp=0xc000822de8 sp=0xc000822be8 pc=0x12f0dc
cmd/link/internal/ld.ldobj(0xc0006ac000, 0xc017353760, 0xc03d0c9e10, 0x16797, 0xc0645f1b80, 0x97, 0xc00075c49d, 0x8f, 0x0)
	/usr/local/go/src/cmd/link/internal/ld/lib.go:1659 +0x96c fp=0xc000822f98 sp=0xc000822de8 pc=0x1883fc
cmd/link/internal/ld.loadobjfile(0xc0006ac000, 0xc03d0c9e10)
	/usr/local/go/src/cmd/link/internal/ld/lib.go:889 +0x380 fp=0xc000823140 sp=0xc000822f98 pc=0x182230
cmd/link/internal/ld.(*Link).loadlib(0xc0006ac000)
	/usr/local/go/src/cmd/link/internal/ld/lib.go:381 +0x170 fp=0xc000823350 sp=0xc000823140 pc=0x17ef20
cmd/link/internal/ld.Main(0x434d80, 0x10, 0x20, 0x1, 0x1, 0x41, 0x2763cb, 0x10, 0x271c44, 0x3, ...)
	/usr/local/go/src/cmd/link/internal/ld/main.go:207 +0xb24 fp=0xc0008234d0 sp=0xc000823350 pc=0x197804
main.main()
	/usr/local/go/src/cmd/link/main.go:65 +0x238 fp=0xc000823f68 sp=0xc0008234d0 pc=0x1f66e8
runtime.main()
	/usr/local/go/src/runtime/proc.go:200 +0x24c fp=0xc000823fc0 sp=0xc000823f68 pc=0x3d58c
runtime.goexit()
	/usr/local/go/src/runtime/asm_ppc64x.s:857 +0x4 fp=0xc000823fc0 sp=0xc000823fc0 pc=0x69224
/usr/local/go/pkg/tool/linux_ppc64le/link: signal: killed
/usr/local/go/pkg/tool/linux_ppc64le/link: signal: killed
# k8s.io/kubernetes/cmd/kubemark
/usr/local/go/pkg/tool/linux_ppc64le/link: running gcc failed: fork/exec /usr/bin/gcc: cannot allocate memory

!!! [0227 10:29:56] Call tree:
!!! [0227 10:29:56]  1: /go/containerd_ws/src/github.com/k8s.io/kubernetes/hack/lib/golang.sh:624 kube::golang::build_some_binaries(...)
!!! [0227 10:29:56]  2: /go/containerd_ws/src/github.com/k8s.io/kubernetes/hack/lib/golang.sh:758 kube::golang::build_binaries_for_platform(...)
!!! [0227 10:29:56]  3: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0227 10:29:56] Call tree:
!!! [0227 10:29:56]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0227 10:29:56] Call tree:
!!! [0227 10:29:56]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
Makefile:92: recipe for target 'all' failed
make: *** [all] Error 1

looks like the commit 6fa7669 introduced the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions