Fuzz: a viewer known-5xx entry fires on one run and not the next at the same commit and seed

Đang mở
#1,578 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

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

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions
Lĩnh vực
ci-cd, testing

Hướng nghiên cứu

Start with the viewer pass of the fuzz workflow, where the per-entry summary is written, and with tests/fuzz/known-5xx.toml, which lists the 15 known entries. The first change is to print the names of the known-with-no-5xx, unlisted-5xx and listed-but-reached entries to the job log as well as the job summary. Done means a red run's log names the quiet entry; the second step, finding why that entry's 5xx varies, needs the run history.

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

Mô tả

bug

The fuzz workflow's viewer pass gave two different verdicts for the same commit and the same seed.

  • Run 41328357368, commit 968d9b37, seed 20261006.
    • Attempt 1: viewer ... RED | ... | 5xx operations 14 (not listed 0, known entries 15, of them with no 5xx 1) | reached 72, unreached 172.
    • Attempt 2 (the failed job re-run, nothing else changed): viewer ... GREEN | ... | 5xx operations 15 (not listed 0, known entries 15, of them with no 5xx 0).

So one of the 15 viewer entries in tests/fuzz/known-5xx.toml does not answer 5xx on every run. A listed entry that does not fire turns the pass red, so the scheduled nightly run can go red with no change to the code.

The job log does not say which entry went quiet: the per-entry detail goes only to the job summary, and the run uploads no artifact. Two things would close this:

  1. Print the names of the entries in each category (known with no 5xx, unlisted 5xx, listed but reached) to the job log as well as the summary, so a red run can be diagnosed from its log.
  2. Once the quiet entry is known, find why its 5xx depends on the run (ordering, data left by earlier operations, a timeout) and either make it deterministic or mark it as one that may not fire.
Ngôn ngữ chính
Python
Star
0
Fork
4
Merge trung bình
6 giờ 5 phút
Pull request đã merge (30 ngày)
453

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 Controlvar/controlvar

Tất cả issue của Controlvar/controlvar

Issue tương tự

Thêm issue về Python

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.