On Mon, 17 Feb 2025 17:35:20 +0100 Lucas Nussbaum <lu...@debian.org> wrote:> During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> === RUN   TestCustomDef
> --- FAIL: TestCustomDef (2.61s)
> panic: can't find import for sync [recovered]
>    panic: can't find import for sync
> [...]
> FAIL       k8s.io/kube-openapi/pkg/generators      3.213s
> === RUN   TestListTypeMissing
> --- PASS: TestListTypeMissing (0.00s)

After investigation, this panic also occurs from an upstream checkout:

$ git checkout ab13479
$ go test ./pkg/generators/
E0313 16:22:11.669135 3181592 openapi.go:322] Error when generating: StringToArray, StringToArray map[string]map[string]map[int]string E0313 16:22:11.669232 3181592 openapi.go:322] Error when generating: StringToArray, StringToArray map[int]string E0313 16:22:11.669297 3181592 openapi.go:322] Error when generating: Int, Int int E0313 16:22:11.669358 3181592 openapi.go:322] Error when generating: Struct, Struct struct{foo int} E0313 16:22:11.669424 3181592 openapi.go:322] Error when generating: List, List []base/foo.Item E0313 16:22:11.669487 3181592 openapi.go:322] Error when generating: Map, Map map[string]base/foo.Item
--- FAIL: TestCustomDef (3.04s)
panic: can't find import for sync [recovered]
        panic: can't find import for sync

goroutine 69 [running]:
testing.tRunner.func1.2({0xb396c0, 0xc00baaf020})
        /usr/lib/go-1.24/src/testing/testing.go:1734 +0x21c
testing.tRunner.func1()
        /usr/lib/go-1.24/src/testing/testing.go:1737 +0x35e
panic({0xb396c0?, 0xc00baaf020?})
        /usr/lib/go-1.24/src/runtime/panic.go:787 +0x132
k8s.io/gengo/generator.golangTrackerLocalName({0xd7ce20, 0xc0018c7aa0}, {{0xc00b3aaa40, 0x4}, {0xc00b90839d, 0x3}, {0x0, 0x0}})
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/generator/import_tracker.go:88
 +0x2b4
k8s.io/gengo/generator.NewImportTrackerForPackage.func2({{0xc00b3aaa40, 0x4}, {0xc00b90839d, 0x3}, {0x0, 0x0}})
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/generator/import_tracker.go:48
 +0x58
k8s.io/gengo/namer.(*DefaultImportTracker).AddSymbol(0xc0018c7aa0, {{0xc00b3aaa40, 0x4}, {0xc00b90839d, 0x3}, {0x0, 0x0}})
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/namer/import_tracker.go:74
 +0xe9
k8s.io/gengo/namer.(*DefaultImportTracker).AddType(0xc0018c7aa0, 0xc00b9343c0)
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/namer/import_tracker.go:94
 +0x145
k8s.io/gengo/namer.(*rawNamer).Name(0xc0019596e0, 0xc00b9343c0)
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/namer/namer.go:328
 +0x4bb
k8s.io/gengo/namer.tList.Less({{0xd74920, 0xc0019596e0}, {0xc00b404808, 0x655, 0x8ff}}, 0xc00ba95dd0?, 0x0)
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/namer/order.go:71
 +0x4e
sort.partition({0xd7a820, 0xc00ba95dd0}, 0x0, 0x655, 0x40f725?)
        /usr/lib/go-1.24/src/sort/zsortinterface.go:154 +0x175
sort.pdqsort({0xd7a820, 0xc00ba95dd0}, 0xbe3b80?, 0x41be01?, 0xc00ba95dd0?)
        /usr/lib/go-1.24/src/sort/zsortinterface.go:114 +0x225
sort.Sort({0xd7a820, 0xc00ba95dd0})
        /usr/lib/go-1.24/src/sort/sort.go:54 +0x54
k8s.io/gengo/namer.(*Orderer).OrderUniverse(0xc001993450?, 0xc5f5ba?)
        
/home/nicolas/go/pkg/mod/k8s.io/gengo@v0.0.0-20230829151522-9cce18d56c01/namer/order.go:50
 +0x1d4
k8s.io/kube-openapi/pkg/generators.construct(0xc000103a40, 0xc0000c3cd0, {0xd74920, 0xc0019596e0})
        /tmp/kube-openapi/pkg/generators/openapi_test.go:47 +0x205
k8s.io/kube-openapi/pkg/generators.testOpenAPITypeWriter(0xc000103a40, {0xc965be, 0x138})
        /tmp/kube-openapi/pkg/generators/openapi_test.go:68 +0x32c
k8s.io/kube-openapi/pkg/generators.TestCustomDef(0xc000103a40)
        /tmp/kube-openapi/pkg/generators/openapi_test.go:987 +0x2b
testing.tRunner(0xc000103a40, 0xca3268)
        /usr/lib/go-1.24/src/testing/testing.go:1792 +0xf4
created by testing.(*T).Run in goroutine 1
        /usr/lib/go-1.24/src/testing/testing.go:1851 +0x413
FAIL    k8s.io/kube-openapi/pkg/generators      3.217s
FAIL

It seems that it comes in fact from [gengo], which has been bumped to v2 at some point. The latest upstream version of kube-openapi does not exhibit such a panic, so we probably will have to import newer versions of both gengo and kube-openapi. I'll see what I can do.

[gengo]: https://github.com/kubernetes/gengo
--
Nicolas Peugnet

Reply via email to