Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

cilium: agent does not start on Linux 7.2, FnSetRetval probe fails in the verifier

Đang mở Phù hợp với người mới
#4,776 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
67/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
helm, kubernetes, linux
Lĩnh vực
infrastructure

Hướng nghiên cứu

Bắt đầu tại packages/system/cilium/charts/cilium/Chart.yaml (dòng 95 tại 9620be0), nơi ghim chart Cilium được vendored ở 1.19.5, và kiểm tra cách các phiên bản được cập nhật trong packages/system/cilium trước khi chỉnh sửa. Tùy chọn 1: nâng chart lên 1.19.8 (backport cilium/cilium#48376), trong đó probe FnSetRetval CGroupSock bị loại bỏ khỏi probes.go. Xong nghĩa là agent được vendored không còn nạp probe đó nữa và khởi động trên kernel 7.2. Tùy chọn 2 là hợp nhất branch hiện có #3343 (1.20.2), nhưng hãy cân nhắc trước lưu ý mở cilium/cilium#48778 về socket-LB/BTF.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

triage/needs-triage

Cilium 1.19.5 does not start on Linux 7.2, and that is the version main and v1.7.0-alpha.3 ship (packages/system/cilium/charts/cilium/Chart.yaml:95 at 9620be0). The agent dies during feature probing:

level=fatal msg="failed to probe helper" error="detect support for FnSetRetval for program type CGroupSock: load program: invalid argument: 0: (85) call bpf_set_retval#187: R1 is not a scalar" progType=CGroupSock helper=FnSetRetval

The probe loads a small CGroupSock program that calls bpf_set_retval. Since torvalds/linux@b1f7f67b74c2e the verifier requires a scalar in that argument, so the load fails. The agent treats a failed probe as fatal, and the node never gets a CNI. At v1.19.5 the probe is in pkg/datapath/linux/probes/probes.go, lines 526 and 543. Upstream issue: cilium/cilium#48016.

Upstream dropped the probe and checks the enum with bpf_core_enum_value_exists() instead (part of cilium/cilium#47737). The backports are cilium/cilium#48376 for v1.19 and cilium/cilium#48213 for v1.20. By the compare API, the v1.19 commit is in v1.19.8 and not in v1.19.7, and the v1.20 commit is in v1.20.2 and not in v1.20.1. In v1.19.8 the FnSetRetval probe is gone from probes.go.

Reproduced on Kairos Hadron v0.5.3 (kernel 7.2.6, arm64) with v1.7.0-alpha.3. On the same node, an image built from the #3343 branch (Cilium 1.20.2) came up.

There are two ways to fix it:

  1. Bump the vendored chart to 1.19.8.
  2. Land #3343, which moves to 1.20.2.

For the second one, cilium/cilium#48778 is still open: on 1.20.2, socket-LB programs fail CO-RE relocation on kernels without BTF, and new pods get no networking. It is labelled for v1.20 and main, not for v1.19.

One more thing from the same install. After the failed upgrade, the cilium HelmRelease was stuck in pending-upgrade. It only moved after the Helm release secret of the stuck revision was deleted by hand.

Ngôn ngữ chính
Go
Star
2.2k
Fork
209
Merge trung bình
3 ngày 18 giờ
Pull request đã merge (30 ngày)
241

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cozystack/cozystack

Tất cả issue của cozystack/cozystack

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.