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

[Backport release-1.27] Bump Go to v1.22.5 #4825

Merged

Conversation

https://github.com/kubernetes-sigs/controller-tools/releases/tag/v0.14.0

This cherry-pick fixes a segfault in controller-gen when compiled with
Go 1.22:

  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=0xa0a8be]

  goroutine 161 [running]:
  go/types.(*Checker).handleBailout(0xc00035b200, 0xc000c8bd40)
          /usr/local/go/src/go/types/check.go:367 +0x88
  panic({0xbc39e0?, 0x12ab4e0?})
          /usr/local/go/src/runtime/panic.go:770 +0x132
  go/types.(*StdSizes).Sizeof(0x0, {0xdbec58, 0x12b3cc0})
          /usr/local/go/src/go/types/sizes.go:228 +0x31e
  go/types.(*Config).sizeof(...)
          /usr/local/go/src/go/types/sizes.go:333
  go/types.representableConst.func1({0xdbec58?, 0x12b3cc0?})
          /usr/local/go/src/go/types/const.go:76 +0x9e
  go/types.representableConst({0xdc4fb0, 0x127ec60}, 0xc00035b200, 0x12b3cc0, 0x0)
          /usr/local/go/src/go/types/const.go:92 +0x192
  go/types.(*Checker).arrayLength(0xc00035b200, {0xdc3258, 0xc0013007e0?})
          /usr/local/go/src/go/types/typexpr.go:510 +0x2d3
  go/types.(*Checker).typInternal(0xc00035b200, {0xdc1878, 0xc001302d50}, 0x0)
          /usr/local/go/src/go/types/typexpr.go:299 +0x49d
  go/types.(*Checker).definedType(0xc00035b200, {0xdc1878, 0xc001302d50}, 0xc000c8b328?)
          /usr/local/go/src/go/types/typexpr.go:180 +0x37
  go/types.(*Checker).varType(0xc00035b200, {0xdc1878, 0xc001302d50})
          /usr/local/go/src/go/types/typexpr.go:145 +0x25
  go/types.(*Checker).structType(0xc00035b200, 0xc000670630, 0xc000670630?)
          /usr/local/go/src/go/types/struct.go:113 +0x19f
  go/types.(*Checker).typInternal(0xc00035b200, {0xdc17e8, 0xc001304210}, 0xc000a546e0)
          /usr/local/go/src/go/types/typexpr.go:316 +0x1345
  go/types.(*Checker).definedType(0xc00035b200, {0xdc17e8, 0xc001304210}, 0xc8cf2e?)
          /usr/local/go/src/go/types/typexpr.go:180 +0x37
  go/types.(*Checker).typeDecl(0xc00035b200, 0xc000a546e0, 0xc000c7e800, 0x0)
          /usr/local/go/src/go/types/decl.go:615 +0x44d
  go/types.(*Checker).objDecl(0xc00035b200, {0xdca418, 0xc000a546e0}, 0x0)
          /usr/local/go/src/go/types/decl.go:197 +0xa7f
  go/types.(*Checker).packageObjects(0xc00035b200)
          /usr/local/go/src/go/types/resolver.go:681 +0x425
  go/types.(*Checker).checkFiles(0xc00035b200, {0xc00109db90, 0x3, 0x3})
          /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(0xc0002873b0, 0xc000329aa0)
          /run/k0s-build/go/mod/sigs.k8s.io/[email protected]/pkg/loader/loader.go:286 +0x36a
  sigs.k8s.io/controller-tools/pkg/loader.(*Package).NeedTypesInfo(0xc000329aa0)
          /run/k0s-build/go/mod/sigs.k8s.io/[email protected]/pkg/loader/loader.go:99 +0x39
  sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check(0xc00056f320, 0xc000329aa0)
          /run/k0s-build/go/mod/sigs.k8s.io/[email protected]/pkg/loader/refs.go:268 +0x2b7
  sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check.func1(0x54?)
          /run/k0s-build/go/mod/sigs.k8s.io/[email protected]/pkg/loader/refs.go:262 +0x53
  created by sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check in goroutine 129
          /run/k0s-build/go/mod/sigs.k8s.io/[email protected]/pkg/loader/refs.go:260 +0x1c5

Signed-off-by: Tom Wieczorek <[email protected]>
(cherry picked from commit fb02476)
(cherry picked from commit 491568c)
https://go.dev/doc/go1.22

Signed-off-by: Tom Wieczorek <[email protected]>
(cherry picked from commit 364e467)
(cherry picked from commit 095bb94)
(cherry picked from commit c5a59a6)
@twz123 twz123 force-pushed the backport-4824-to-release-1.27 branch from 489716e to c8cef16 Compare July 31, 2024 08:28
@twz123 twz123 added the chore label Jul 31, 2024
Upstream no longer supports Alpine 3.18. Any further Go version bumps
will require a newer Alpine version.

See: 05a498b ("Update to Alpine 3.19.0")
Signed-off-by: Tom Wieczorek <[email protected]>
(cherry picked from commit 390068f)
@twz123 twz123 force-pushed the backport-4824-to-release-1.27 branch from c8cef16 to 939a5d7 Compare July 31, 2024 14:12
@twz123 twz123 marked this pull request as ready for review August 7, 2024 16:15
@twz123 twz123 requested a review from a team as a code owner August 7, 2024 16:15
@twz123 twz123 requested review from kke and jnummelin August 7, 2024 16:15
@jnummelin jnummelin merged commit 17f34dc into k0sproject:release-1.27 Aug 14, 2024
72 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants