caicloud / nirvana

Golang Restful API Framework for Productivity

Home Page:https://caicloud.github.io/nirvana/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

generate API doc failed: goroutine stack exceeds 1000000000-byte limit

tskdsb opened this issue · comments

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

What happened:

nirvana api /root/tsk/src/github.com/caicloud/clever-admin/pkg/v2/apis >log
WARN  0219-15:52:25.066+08 builder.go:69 | can't find project file, instead by default config


runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x1bf9c99, 0xe)
	/root/tsk/go/src/runtime/panic.go:774 +0x72
runtime.newstack()
	/root/tsk/go/src/runtime/stack.go:1046 +0x6e9
runtime.morestack()
	/root/tsk/go/src/runtime/asm_amd64.s:449 +0x8f

goroutine 1 [running]:
reflect.(*rtype).Name(0x1871a60, 0x0, 0x0)
	/root/tsk/go/src/reflect/type.go:874 +0xa8 fp=0xc020930308 sp=0xc020930300 pc=0x483098
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1871a60, 0x4493ff, 0x30)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:163 +0x4f fp=0xc0209304f0 sp=0xc020930308 pc=0x16db1af
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:187 +0x776 fp=0xc0209306d8 sp=0xc0209304f0 pc=0x16db8d6
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209308c0 sp=0xc0209306d8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020930aa8 sp=0xc0209308c0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020930c90 sp=0xc020930aa8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020930e78 sp=0xc020930c90 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020931060 sp=0xc020930e78 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020931248 sp=0xc020931060 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020931430 sp=0xc020931248 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020931618 sp=0xc020931430 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020931800 sp=0xc020931618 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209319e8 sp=0xc020931800 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020931bd0 sp=0xc0209319e8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020931db8 sp=0xc020931bd0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020931fa0 sp=0xc020931db8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020932188 sp=0xc020931fa0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020932370 sp=0xc020932188 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020932558 sp=0xc020932370 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020932740 sp=0xc020932558 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020932928 sp=0xc020932740 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020932b10 sp=0xc020932928 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020932cf8 sp=0xc020932b10 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020932ee0 sp=0xc020932cf8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209330c8 sp=0xc020932ee0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209332b0 sp=0xc0209330c8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020933498 sp=0xc0209332b0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020933680 sp=0xc020933498 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020933868 sp=0xc020933680 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020933a50 sp=0xc020933868 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020933c38 sp=0xc020933a50 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020933e20 sp=0xc020933c38 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020934008 sp=0xc020933e20 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209341f0 sp=0xc020934008 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209343d8 sp=0xc0209341f0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209345c0 sp=0xc0209343d8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209347a8 sp=0xc0209345c0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020934990 sp=0xc0209347a8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020934b78 sp=0xc020934990 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020934d60 sp=0xc020934b78 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020934f48 sp=0xc020934d60 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020935130 sp=0xc020934f48 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020935318 sp=0xc020935130 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020935500 sp=0xc020935318 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209356e8 sp=0xc020935500 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209358d0 sp=0xc0209356e8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020935ab8 sp=0xc0209358d0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020935ca0 sp=0xc020935ab8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020935e88 sp=0xc020935ca0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020936070 sp=0xc020935e88 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020936258 sp=0xc020936070 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020936440 sp=0xc020936258 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020936628 sp=0xc020936440 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020936810 sp=0xc020936628 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209369f8 sp=0xc020936810 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020936be0 sp=0xc0209369f8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020936dc8 sp=0xc020936be0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020936fb0 sp=0xc020936dc8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020937198 sp=0xc020936fb0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020937380 sp=0xc020937198 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020937568 sp=0xc020937380 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020937750 sp=0xc020937568 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020937938 sp=0xc020937750 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020937b20 sp=0xc020937938 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020937d08 sp=0xc020937b20 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020937ef0 sp=0xc020937d08 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209380d8 sp=0xc020937ef0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209382c0 sp=0xc0209380d8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209384a8 sp=0xc0209382c0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020938690 sp=0xc0209384a8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020938878 sp=0xc020938690 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020938a60 sp=0xc020938878 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020938c48 sp=0xc020938a60 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020938e30 sp=0xc020938c48 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020939018 sp=0xc020938e30 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020939200 sp=0xc020939018 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209393e8 sp=0xc020939200 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209395d0 sp=0xc0209393e8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc0209397b8 sp=0xc0209395d0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc0209399a0 sp=0xc0209397b8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020939b88 sp=0xc0209399a0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc020939d70 sp=0xc020939b88 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc020939f58 sp=0xc020939d70 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093a140 sp=0xc020939f58 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093a328 sp=0xc02093a140 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093a510 sp=0xc02093a328 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093a6f8 sp=0xc02093a510 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093a8e0 sp=0xc02093a6f8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093aac8 sp=0xc02093a8e0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093acb0 sp=0xc02093aac8 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093ae98 sp=0xc02093acb0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093b080 sp=0xc02093ae98 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093b268 sp=0xc02093b080 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093b450 sp=0xc02093b268 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093b638 sp=0xc02093b450 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093b820 sp=0xc02093b638 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093ba08 sp=0xc02093b820 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093bbf0 sp=0xc02093ba08 pc=0x16db3e1
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x18d86a0, 0x3, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:188 +0x7c8 fp=0xc02093bdd8 sp=0xc02093bbf0 pc=0x16db928
github.com/caicloud/nirvana/utils/api.(*TypeContainer).NameOf(0xc000845da0, 0x1efcba0, 0x1a10e40, 0x16ea14c, 0x6)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/nirvana/utils/api/types.go:207 +0x281 fp=0xc02093bfc0 sp=0xc02093bdd8 pc=0x16db3e1
...additional frames elided...

goroutine 19 [chan receive]:
k8s.io/klog.(*loggingT).flushDaemon(0x2cb79a0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/klog/klog.go:1010 +0x8b
created by k8s.io/klog.init.0
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/klog/klog.go:411 +0xd6

goroutine 7 [select]:
github.com/caicloud/go-common/cluster/cache.(*multiClusterCacheImpl).Run.func1(0xc0004f5200, 0xc000526420)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/go-common/cluster/cache/cache.go:198 +0x108
created by github.com/caicloud/go-common/cluster/cache.(*multiClusterCacheImpl).Run
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/github.com/caicloud/go-common/cluster/cache/cache.go:194 +0x53

goroutine 39 [chan receive]:
k8s.io/client-go/tools/cache.(*processorListener).run.func1.1(0xc0004a8dc8, 0x418eee, 0x7ff8bd0fd190)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/shared_informer.go:549 +0x54
k8s.io/apimachinery/pkg/util/wait.ExponentialBackoff(0x989680, 0x3ff0000000000000, 0x3fb999999999999a, 0x5, 0x0, 0xc00062bdd8, 0x98, 0xc0004a8de8)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:265 +0x51
k8s.io/client-go/tools/cache.(*processorListener).run.func1()
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/shared_informer.go:548 +0x79
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc0004a8f40)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5e
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00062bf40, 0xdf8475800, 0x0, 0x42ee01, 0xc0000be0c0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0xf8
k8s.io/apimachinery/pkg/util/wait.Until(...)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88
k8s.io/client-go/tools/cache.(*processorListener).run(0xc000370580)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/shared_informer.go:546 +0x9b
k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1(0xc0004e44c0, 0xc000468010)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:71 +0x59
created by k8s.io/apimachinery/pkg/util/wait.(*Group).Start
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:69 +0x62

goroutine 10 [sync.Cond.Wait]:
runtime.goparkunlock(...)
	/root/tsk/go/src/runtime/proc.go:310
sync.runtime_notifyListWait(0xc000470188, 0x1)
	/root/tsk/go/src/runtime/sema.go:510 +0xf8
sync.(*Cond).Wait(0xc000470178)
	/root/tsk/go/src/sync/cond.go:56 +0x9d
k8s.io/client-go/tools/cache.(*DeltaFIFO).Pop(0xc000470160, 0xc000540690, 0x0, 0x0, 0x0, 0x0)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/delta_fifo.go:409 +0xa6
k8s.io/client-go/tools/cache.(*controller).processLoop(0xc000370780)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/controller.go:150 +0x40
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc00008fe00)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5e
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00008fe00, 0x3b9aca00, 0x0, 0xc00050b601, 0xc000526420)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0xf8
k8s.io/apimachinery/pkg/util/wait.Until(...)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88
k8s.io/client-go/tools/cache.(*controller).Run(0xc000370780, 0xc000526420)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/controller.go:124 +0x2fd
k8s.io/client-go/tools/cache.(*sharedIndexInformer).Run(0xc0004f5170, 0xc000526420)
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/tools/cache/shared_informer.go:227 +0x47f
created by k8s.io/client-go/informers.(*sharedInformerFactory).Start
	/root/tsk/src/github.com/caicloud/clever-admin/vendor/k8s.io/client-go/informers/factory.go:133 +0x19f

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

Check your API types definition, is there something like this:

type Fields struct {
	Map map[string]Fields
}

It'll cause infinite recursion when nirvana trying to fetch the struct info which is used to generate API docs.

Check your API types definition, is there something like this:

type Fields struct {
	Map map[string]Fields
}

It'll cause infinite recursion when nirvana trying to fetch the struct info which is used to generate API docs.

查出来一堆 CR 定义都有循环引用的问题(头疼):

WARN  0220-22:39:20.068+08 main.go:189 | NewSchemaRefForValue for (PlatformServices) err: Detected JSON cycle
WARN  0220-22:39:20.068+08 main.go:189 | NewSchemaRefForValue for (Serving) err: Detected JSON cycle
WARN  0220-22:39:20.068+08 main.go:189 | NewSchemaRefForValue for (EvalJob) err: Detected JSON cycle
WARN  0220-22:39:20.068+08 main.go:189 | NewSchemaRefForValue for (PodTemplateSpec) err: Detected JSON cycle
WARN  0220-22:39:20.069+08 main.go:189 | NewSchemaRefForValue for (MLNeuron) err: Detected JSON cycle
WARN  0220-22:39:20.069+08 main.go:189 | NewSchemaRefForValue for (MLProject) err: Detected JSON cycle
WARN  0220-22:39:20.069+08 main.go:189 | NewSchemaRefForValue for (Partition) err: Detected JSON cycle
WARN  0220-22:39:20.069+08 main.go:189 | NewSchemaRefForValue for (CleverSceneServing) err: Detected JSON cycle
WARN  0220-22:39:20.069+08 main.go:189 | NewSchemaRefForValue for (MLTask) err: Detected JSON cycle

/close

找到那个循环嵌套的结构了(就它一个):

// Fields stores a set of fields in a data structure like a Trie.
// To understand how this is used, see: https://github.com/kubernetes-sigs/structured-merge-diff
type Fields struct {
	// Map stores a set of fields in a data structure like a Trie.
	//
	// Each key is either a '.' representing the field itself, and will always map to an empty set,
	// or a string representing a sub-field or item. The string will follow one of these four formats:
	// 'f:<name>', where <name> is the name of a field in a struct, or key in a map
	// 'v:<value>', where <value> is the exact json formatted value of a list item
	// 'i:<index>', where <index> is position of a item in a list
	// 'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values
	// If a key maps to an empty Fields value, the field that key represents is part of the set.
	//
	// The exact format is defined in k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal
	Map map[string]Fields `json:",inline" protobuf:"bytes,1,rep,name=map"`
}

它所在的文件:k8s.io/apimachinery/pkg/apis/meta/v1/types.go

难搞哦 @iawia002

找到那个循环嵌套的结构了(就它一个):

Upstream has removed this struct:
https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/types.go#L1137-L1151

// FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.
//
// Each key is either a '.' representing the field itself, and will always map to an empty set,
// or a string representing a sub-field or item. The string will follow one of these four formats:
// 'f:<name>', where <name> is the name of a field in a struct, or key in a map
// 'v:<value>', where <value> is the exact json formatted value of a list item
// 'i:<index>', where <index> is position of a item in a list
// 'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values
// If a key maps to an empty Fields value, the field that key represents is part of the set.
//
// The exact format is defined in sigs.k8s.io/structured-merge-diff
type FieldsV1 struct {
	// Raw is the underlying serialization of this object.
	Raw []byte `json:"-" protobuf:"bytes,1,opt,name=Raw"`
}

nirvana 升级 Kubernetes 依赖到 1.17 就可以了?

nirvana 升级 Kubernetes 依赖到 1.17 就可以了?

There is nothing to do with nirvana. As long as your API type definition does not have this structure, no error will occur

nirvana 升级 Kubernetes 依赖到 1.17 就可以了?

或者 nirvana 支持识别这种循环结构自动截断。
我用过另一个库,稍微改了下做到了:tskdsb/kin-openapi@c029d26

nirvana 升级 Kubernetes 依赖到 1.17 就可以了?

Have tested the components with k8s v1.17, it is OK to generate the API docs.

nirvana 升级 Kubernetes 依赖到 1.17 就可以了?

Have tested the components with k8s v1.17, it is OK to generate the API docs.

短期内 clever 没法用起来呀,因为我们依赖一个比较固定的 cps 版本