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

cmd/compile: stack overflow #52201

Closed
reusee opened this issue Apr 7, 2022 · 1 comment
Closed

cmd/compile: stack overflow #52201

reusee opened this issue Apr 7, 2022 · 1 comment

Comments

@reusee
Copy link

reusee commented Apr 7, 2022

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

$ go version
go version devel go1.19-d3362fc124 Thu Apr 7 06:23:40 2022 +0000 darwin/arm64

Does this issue reproduce with the latest release?

yes

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

go env Output
$ go env
GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/reus/Library/Caches/go-build"
GOENV="/Users/reus/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/reus/pkg/mod"
GONOPROXY="github.com/reusee/*"
GONOSUMDB="github.com/reusee/*"
GOOS="darwin"
GOPATH="/Users/reus"
GOPRIVATE="github.com/reusee/*"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/reus/gotip"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/reus/gotip/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="devel go1.19-d3362fc124 Thu Apr 7 06:23:40 2022 +0000"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/reus/play/bar/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4r/qbq6ljvd4y3c89_zw3yr24v40000gn/T/go-build2545838901=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version devel go1.19-d3362fc124 Thu Apr 7 06:23:40 2022 +0000 darwin/arm64
GOROOT/bin/go tool compile -V: compile version devel go1.19-d3362fc124 Thu Apr 7 06:23:40 2022 +0000
uname -v: Darwin Kernel Version 21.4.0: Fri Mar 18 00:46:32 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T6000
ProductName:	macOS
ProductVersion:	12.3.1
BuildVersion:	21E258
lldb --version: lldb-1316.0.9.41
Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)

What did you do?

package a

type A[K any] int

func (_ A[K]) Foo(B) {
}

type B func() B

var _ A[int]

What did you expect to see?

no compile error

What did you see instead?

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0x140203e0350 stack=[0x140203e0000, 0x140403e0000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x102b74cc8?, 0x1031e2c80?})
	/Users/reus/gotip/src/runtime/panic.go:994 +0x50
runtime.newstack()
	/Users/reus/gotip/src/runtime/stack.go:1101 +0x460
runtime.morestack()
	/Users/reus/gotip/src/runtime/asm_arm64.s:302 +0x70

goroutine 1 [running]:
cmd/compile/internal/types.(*Type).NumFields(0x1400038f260?)
	/Users/reus/gotip/src/cmd/compile/internal/types/type.go:1561 +0x94 fp=0x140203e0350 sp=0x140203e0350 pc=0x10256e0f4
cmd/compile/internal/typecheck.(*Tsubster).tstruct(0x1400038f898, 0x1400038f260, 0x0)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1309 +0x30 fp=0x140203e03f0 sp=0x140203e0350 pc=0x1025d0ec0
cmd/compile/internal/typecheck.(*Tsubster).typ1(0x1400038f898, 0x1400038ed20)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1152 +0x14c fp=0x140203e0620 sp=0x140203e03f0 pc=0x1025cfc8c
cmd/compile/internal/typecheck.(*Tsubster).tstruct(0x1400038f898, 0x1400038f3b0, 0x0)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1323 +0x12c fp=0x140203e06c0 sp=0x140203e0620 pc=0x1025d0fbc
cmd/compile/internal/typecheck.(*Tsubster).typ1(0x1400038f898, 0x1400038ed20)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1154 +0x184 fp=0x140203e08f0 sp=0x140203e06c0 pc=0x1025cfcc4
cmd/compile/internal/typecheck.(*Tsubster).tstruct(0x1400038f898, 0x1400038f3b0, 0x0)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1323 +0x12c fp=0x140203e0990 sp=0x140203e08f0 pc=0x1025d0fbc
cmd/compile/internal/typecheck.(*Tsubster).typ1(0x1400038f898, 0x1400038ed20)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1154 +0x184 fp=0x140203e0bc0 sp=0x140203e0990 pc=0x1025cfcc4
cmd/compile/internal/typecheck.(*Tsubster).tstruct(0x1400038f898, 0x1400038f3b0, 0x0)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1323 +0x12c fp=0x140203e0c60 sp=0x140203e0bc0 pc=0x1025d0fbc
cmd/compile/internal/typecheck.(*Tsubster).typ1(0x1400038f898, 0x1400038ed20)
	/Users/reus/gotip/src/cmd/compile/internal/typecheck/subr.go:1154 +0x184 fp=0x140203e0e90 sp=0x140203e0c60 pc=0x1025cfcc4
cmd/compile/internal/typecheck.(*Tsubster).tstruct(0x1400038f898, 0x1400038f3b0, 0x0)
@cuonglm
Copy link
Member

cuonglm commented Apr 7, 2022

Duplicated of #51832

@cuonglm cuonglm closed this as completed Apr 7, 2022
@golang golang locked and limited conversation to collaborators Apr 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants