kubeedge / sedna

AI tookit over KubeEdge
https://sedna.readthedocs.io
Apache License 2.0
505 stars 164 forks source link

An error occurred when executing `make crds` #448

Open Electronic-Waste opened 21 hours ago

Electronic-Waste commented 21 hours ago

What happened:

When I use make crds to generate crds' yaml files, an error occurred:

/home/ws/go/bin/controller-gen "crd:crdVersions=v1,allowDangerousTypes=true" paths="./pkg/apis/sedna/v1alpha1" output:crd:artifacts:config=build/crds
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9d578f]

goroutine 149 [running]:
go/types.(*Checker).handleBailout(0xc000430400, 0xc000df7d40)
        /usr/local/go/src/go/types/check.go:367 +0x88
panic({0xb91300?, 0x12457e0?})
        /usr/local/go/src/runtime/panic.go:770 +0x132
go/types.(*StdSizes).Sizeof(0x0, {0xd740c8, 0x124dea0})
        /usr/local/go/src/go/types/sizes.go:228 +0x30f
go/types.(*Config).sizeof(...)
        /usr/local/go/src/go/types/sizes.go:333
go/types.representableConst.func1({0xd740c8?, 0x124dea0?})
        /usr/local/go/src/go/types/const.go:76 +0x9e
go/types.representableConst({0xd7a4e0, 0x121a998}, 0xc000430400, 0x124dea0, 0xc000df3b40)
        /usr/local/go/src/go/types/const.go:106 +0x2c7
go/types.(*Checker).representation(0xc000430400, 0xc000d21980, 0x124dea0)
        /usr/local/go/src/go/types/const.go:256 +0x65
go/types.(*Checker).representable(0xc000430400, 0xc000d21980, 0x124dea0)
        /usr/local/go/src/go/types/const.go:239 +0x26
go/types.(*Checker).shift(0xc000430400, 0xc000d21900, 0xc000d21980, {0xd78208, 0xc000f863c0}, 0x14)
        /usr/local/go/src/go/types/expr.go:650 +0x1eb
go/types.(*Checker).binary(0xc000430400, 0xc000d21900, {0xd78208, 0xc000f863c0}, {0xd78718, 0xc000f85920}, {0xd78718, 0xc000f85940}, 0x14, 0x28bb3c)
        /usr/local/go/src/go/types/expr.go:796 +0x150
go/types.(*Checker).exprInternal(0xc000430400, 0x0, 0xc000d21900, {0xd78208, 0xc000f863c0}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1416 +0x206
go/types.(*Checker).rawExpr(0xc000430400, 0x0, 0xc000d21900, {0xd78208?, 0xc000f863c0?}, {0x0?, 0x0?}, 0x0)
        /usr/local/go/src/go/types/expr.go:979 +0x19e
go/types.(*Checker).exprInternal(0xc000430400, 0x0, 0xc000d21900, {0xd780b8, 0xc000f85960}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1320 +0x178
go/types.(*Checker).rawExpr(0xc000430400, 0x0, 0xc000d21900, {0xd780b8?, 0xc000f85960?}, {0x0?, 0x0?}, 0x0)
        /usr/local/go/src/go/types/expr.go:979 +0x19e
go/types.(*Checker).expr(0xc000430400, 0x0?, 0xc000d21900, {0xd780b8?, 0xc000f85960?})
        /usr/local/go/src/go/types/expr.go:1513 +0x30
go/types.(*Checker).binary(0xc000430400, 0xc000d21900, {0xd78208, 0xc000f863f0}, {0xd780b8, 0xc000f85960}, {0xd78718, 0xc000f85980}, 0xd, 0x28bb41)
        /usr/local/go/src/go/types/expr.go:783 +0xa5
go/types.(*Checker).exprInternal(0xc000430400, 0x0, 0xc000d21900, {0xd78208, 0xc000f863f0}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1416 +0x206
go/types.(*Checker).rawExpr(0xc000430400, 0x0, 0xc000d21900, {0xd78208?, 0xc000f863f0?}, {0x0?, 0x0?}, 0x1)
        /usr/local/go/src/go/types/expr.go:979 +0x19e
go/types.(*Checker).use1(0xc000430400, {0xd78208, 0xc000f863f0}, 0x0)
        /usr/local/go/src/go/types/call.go:1043 +0x1a5
go/types.(*Checker).useN(...)
        /usr/local/go/src/go/types/call.go:1004
go/types.(*Checker).use(...)
        /usr/local/go/src/go/types/call.go:994
go/types.(*Checker).callExpr(0xc000430400, 0xc000d21840, 0xc000f89380)
        /usr/local/go/src/go/types/call.go:196 +0x175e
go/types.(*Checker).exprInternal(0xc000430400, 0x0, 0xc000d21840, {0xd787d8, 0xc000f89380}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1374 +0xf8
go/types.(*Checker).rawExpr(0xc000430400, 0x0, 0xc000d21840, {0xd787d8?, 0xc000f89380?}, {0x0?, 0x0?}, 0x0)
        /usr/local/go/src/go/types/expr.go:979 +0x19e
go/types.(*Checker).expr(0xc000430400, 0xc0002a0150?, 0xc000d21840, {0xd787d8?, 0xc000f89380?})
        /usr/local/go/src/go/types/expr.go:1513 +0x30
go/types.(*Checker).exprInternal(0xc000430400, 0x0, 0xc000d21840, {0xd78178, 0xc000f893c0}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1190 +0x1ea5
go/types.(*Checker).rawExpr(0xc000430400, 0x0, 0xc000d21840, {0xd78178?, 0xc000f893c0?}, {0x0?, 0x0?}, 0x0)
        /usr/local/go/src/go/types/expr.go:979 +0x19e
go/types.(*Checker).expr(0xc000430400, 0x0?, 0xc000d21840, {0xd78178?, 0xc000f893c0?})
        /usr/local/go/src/go/types/expr.go:1513 +0x30
go/types.(*Checker).varDecl(0xc000430400, 0xc0005afbc0, {0xc0001407b0, 0x1, 0x1}, {0x0, 0x0}, {0xd78178, 0xc000f893c0})
        /usr/local/go/src/go/types/decl.go:521 +0x17b
go/types.(*Checker).objDecl(0xc000430400, {0xd7fd00, 0xc0005afbc0}, 0x0)
        /usr/local/go/src/go/types/decl.go:194 +0x9e5
go/types.(*Checker).packageObjects(0xc000430400)
        /usr/local/go/src/go/types/resolver.go:693 +0x4dd
go/types.(*Checker).checkFiles(0xc000430400, {0xc000535980, 0x7, 0x7})
        /usr/local/go/src/go/types/check.go:408 +0x1a5
go/types.(*Checker).Files(...)
        /usr/local/go/src/go/types/check.go:372
sigs.k8s.io/controller-tools/pkg/loader.(*loader).typeCheck(0xc0002c74d0, 0xc0009eff00)
        /home/ws/go/pkg/mod/sigs.k8s.io/controller-tools@v0.4.1/pkg/loader/loader.go:283 +0x35b
sigs.k8s.io/controller-tools/pkg/loader.(*Package).NeedTypesInfo(0xc0009eff00)
        /home/ws/go/pkg/mod/sigs.k8s.io/controller-tools@v0.4.1/pkg/loader/loader.go:96 +0x39
sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check(0xc000828570, 0xc0009eff00)
        /home/ws/go/pkg/mod/sigs.k8s.io/controller-tools@v0.4.1/pkg/loader/refs.go:263 +0x2b7
sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check.func1(0x46?)
        /home/ws/go/pkg/mod/sigs.k8s.io/controller-tools@v0.4.1/pkg/loader/refs.go:257 +0x53
created by sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check in goroutine 1
        /home/ws/go/pkg/mod/sigs.k8s.io/controller-tools@v0.4.1/pkg/loader/refs.go:255 +0x1c5
make: *** [Makefile:185: crds] Error 2

What you expected to happen:

Run without error.

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

Run with make crds

Anything else we need to know?:

make crds ran without error when controller-gen has version 0.14.0 and 0.16.4(latest)

Environment:

$ go version
go version go1.22.4 linux/amd64
Electronic-Waste commented 21 hours ago

This issue blocks me from modifying CRDs in Sedna when I try to integrate Volcano with Sedna.

Related to https://github.com/kubeedge/kubeedge/issues/5762. cc @Shelley-BaoYue 👀