-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Failure to upgrade to cilium 1.18 when multicast group is enabled #40830
Copy link
Copy link
Closed
Labels
area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.area/multicastImpacts the Multicast feature.Impacts the Multicast feature.kind/bugThis is a bug in the Cilium logic.This is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.This was reported by a user in the Cilium community, eg via Slack.kind/regressionThis functionality worked fine before, but was broken in a newer release of Cilium.This functionality worked fine before, but was broken in a newer release of Cilium.needs/triageThis issue requires triaging to establish severity and next steps.This issue requires triaging to establish severity and next steps.
Description
Is there an existing issue for this?
- I have searched the existing issues
Version
equal or higher than v1.18.0 and lower than v1.19.0
What happened?
When upgrade cilium from 1.17.6 to 1.18.0 using helm chart cilium pods finish init pods but panic on start up
panic: assignment to entry in nil map
We have multicast enabled with one group ip 239.255.0.1. Deleting the multicast group first then upgrading still presents the same issue.
upgrade worked fine on other clusters that have never had multicast enabled.
Thanks
How can we reproduce the issue?
Install cilium 1.17.6 with helm
use cli to enable multicast
add group to all nodes
attempt helm upgrade to 1.18
Cilium Version
upgrade from 1.17.6 to v1.18.0
Kernel Version
5.14.0-503.19.1.el9_5.x86_64
Kubernetes Version
1.31.4
Regression
n/a
Sysdump
No response
Relevant log output
time=2025-07-30T17:00:22.689269942Z level=info msg="Final node label prefixes to be used for identity evaluation:"
time=2025-07-30T17:00:22.810209619Z level=info msg="Memory available for map entries (0.250% of 33385082880B): 83462707B" module=agent.controlplane
time=2025-07-30T17:00:22.810239554Z level=info msg="option bpf-sock-rev-map-max set by dynamic sizing to 146425" module=agent.controlplane
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/cilium/cilium/pkg/maps/multicast.NewGroupV4Map({{{}}, {0x50a8268?, 0xc000c981c0?}, 0xc000e1efc0?, {0x73?}})
/go/src/github.com/cilium/cilium/pkg/maps/multicast/subscribermap.go:109 +0xb9
reflect.Value.call({0x3dc2440?, 0x4bebec0?, 0x30?}, {0x498520e, 0x4}, {0xc001361710, 0x1, 0x10?})
/usr/local/go/src/reflect/value.go:584 +0xca6
reflect.Value.Call({0x3dc2440?, 0x4bebec0?, 0x419fa5?}, {0xc001361710?, 0x4295d80?, 0xc000dd7901?})
/usr/local/go/src/reflect/value.go:368 +0xb9
go.uber.org/dig.defaultInvoker({0x3dc2440?, 0x4bebec0?, 0xc001bd6230?}, {0xc001361710?, 0x1?, 0x50f1d78?})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/container.go:238 +0x25
go.uber.org/dig.(*constructorNode).Call(0xc001bd8300, {0x50f1d78, 0xc00087fe00})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:185 +0x323
go.uber.org/dig.paramGroupedSlice.callGroupProviders({{0x3b22d9c, 0x13}, {0x511b160, 0x3c0ff60}, 0x0, 0xc000d8d440}, {0x50f1d78?, 0xc000a12dc0?})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:609 +0x172
go.uber.org/dig.paramGroupedSlice.Build({{0x3b22d9c, 0x13}, {0x511b160, 0x3c0ff60}, 0x0, 0xc000d8d440}, {0x50f1d78, 0xc000a12dc0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:639 +0x131
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x4733ec0}, {0xc001261e00, 0x8, 0x8}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc000a12dc0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3e92b40}, {0xc0011e4530, 0x1, 0x1}}, {0x50f1d78, 0xc000a12dc0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc000e09ec0, {0x50f1d78, 0xc000a12dc0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x41abb80}}, {0x50f1d78, 0xc001598f00})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x46c97c0}, {0xc000972a00, 0x7, 0x8}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc001598f00})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3da5700}, {0xc0019e80d0, 0x1, 0x1}}, {0x50f1d78, 0xc001598f00})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc0018fb200, {0x50f1d78, 0xc001598f00})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x4425f20}}, {0x50f1d78, 0xc0009ea8c0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x48a9380}, {0xc0005bd088, 0x12, 0x23}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc0009ea8c0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3d7e940}, {0xc000dec870, 0x1, 0x1}}, {0x50f1d78, 0xc0009ea8c0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc000dc2fc0, {0x50f1d78, 0xc0009ea8c0})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x41abe00}}, {0x50f1d78, 0xc0009eac80})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x466dde0}, {0xc000c768c0, 0x6, 0x8}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc0009eac80})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3da6e40}, {0xc000e1f290, 0x1, 0x1}}, {0x50f1d78, 0xc0009eac80})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc000dc3d40, {0x50f1d78, 0xc0009eac80})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x3fe0660}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x4972e60}, {0xc0008f7008, 0x35, 0x4c}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3d63e00}, {0xc000c97200, 0x1, 0x1}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc000caa0c0, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x4872260}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramObjectField.Build(...)
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:484
go.uber.org/dig.paramObject.Build({{0x511b160, 0x45f9040}, {0xc000c76140, 0x5, 0x8}, {0x0, 0x0, 0x0}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:412 +0x5d2
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3e73ec0}, {0xc000c97060, 0x1, 0x1}}, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*constructorNode).Call(0xc000caa000, {0x50f1d78, 0xc0008fa500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/constructor.go:155 +0x137
go.uber.org/dig.paramSingle.Build({{0x0, 0x0}, 0x0, {0x511b160, 0x47f7040}}, {0x50f1d78, 0xc0008a6500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:287 +0x34d
go.uber.org/dig.paramList.BuildList({{0x511b160, 0x3f887a0}, {0xc0007d40f0, 0x5, 0x5}}, {0x50f1d78, 0xc0008a6500})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/param.go:150 +0xad
go.uber.org/dig.(*Scope).Invoke(0xc0008a6500, {0x3f887a0, 0x4be5cb0}, {0xc000d6e280, 0x1, 0x8?})
/go/src/github.com/cilium/cilium/vendor/go.uber.org/dig/invoke.go:122 +0x313
github.com/cilium/hive/cell.(*invoker).invoke(0xc0006cbb30, 0xc0005cecb0, {0x50a81f8, 0xc0008a6500}, 0x5f5e100)
/go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/cell/invoke.go:51 +0x385
github.com/cilium/hive/cell.(*invoker).Apply.func1(0xc0008a6140?, 0x3d90900?)
/go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/cell/invoke.go:67 +0x28
github.com/cilium/hive.(*Hive).Populate(0xc000043b30, 0xc0005cecb0)
/go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/hive.go:321 +0x509
github.com/cilium/hive.(*Hive).Start(0xc000043b30, 0xc0005cecb0, {0x50a8020, 0xc000634000})
/go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/hive.go:351 +0x57
github.com/cilium/hive.(*Hive).Run(0xc000043b30, 0xc0005cecb0)
/go/src/github.com/cilium/cilium/vendor/github.com/cilium/hive/hive.go:231 +0x85
github.com/cilium/cilium/daemon/cmd.NewAgentCmd.func1(0xc000d0a608, {0x4984fb6?, 0x4?, 0x4984e52?})
/go/src/github.com/cilium/cilium/daemon/cmd/root.go:52 +0x1f9
github.com/spf13/cobra.(*Command).execute(0xc000d0a608, {0xc00021c090, 0x1, 0x1})
/go/src/github.com/cilium/cilium/vendor/github.com/spf13/cobra/command.go:1019 +0xa91
github.com/spf13/cobra.(*Command).ExecuteC(0xc000d0a608)
/go/src/github.com/cilium/cilium/vendor/github.com/spf13/cobra/command.go:1148 +0x46f
github.com/spf13/cobra.(*Command).Execute(...)
/go/src/github.com/cilium/cilium/vendor/github.com/spf13/cobra/command.go:1071
github.com/cilium/cilium/daemon/cmd.Execute(0x4be5bd0?)
/go/src/github.com/cilium/cilium/daemon/cmd/root.go:90 +0x13
main.main()
/go/src/github.com/cilium/cilium/daemon/main.go:15 +0x1fAnything else?
No response
Cilium Users Document
- Are you a user of Cilium? Please add yourself to the Users doc
Code of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.area/multicastImpacts the Multicast feature.Impacts the Multicast feature.kind/bugThis is a bug in the Cilium logic.This is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.This was reported by a user in the Cilium community, eg via Slack.kind/regressionThis functionality worked fine before, but was broken in a newer release of Cilium.This functionality worked fine before, but was broken in a newer release of Cilium.needs/triageThis issue requires triaging to establish severity and next steps.This issue requires triaging to establish severity and next steps.