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

tests: run-engine and session tests read the box's real load and time out on a busy machine

Đang mở
#1,525 0 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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
65/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ệ
go
Lĩnh vực
testing-qa

Hướng nghiên cứu

Start with the named tests in internal/session and internal/run, reproducing them with stress-ng and the provided go test commands. Trace how their fixtures obtain the machine load and identify a fixture-profile or injected load-reader path that avoids real /proc/loadavg unless the test covers the gate. Done means all named tests pass under sustained load and a law test or fixture helper prevents new run-engine tests from reading the real load accidentally.

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

Mô tả

area:tests bug

What happened

Several run-engine and session tests start real run seats, which pass through the machine gate (task.max_load, default 1.5 per core). On a busy box they wait machine busy · load per core at or above task.max_load 1.5, then time out. They are green in CI and alone, and red when another suite is running beside them. CLAUDE.md treats that as a bug, not a known flake.

Seen on 2026-09-25 on an 8-core box at load 11–24:

  • internal/session TestUnderOneModelEveryRunSeatRidesTheConversationsModel/the_launch_model: timed out waiting for the run to end on dev@691ade547 at load 12, and 11 s alone. Added in #1517.
  • internal/run TestSupervisorLaunchesEveryReadyLeafAtOnceWithNoSlotBound and TestAnUnboundedRunEndedEarlyStillDrainsEveryWorker: fail even alone at load about 11.
  • Also timing out only under load: TestPlandbCliWorkerOwnDone, TestARunCorrectedPastItsRoundLimitStopsWithoutMergingOrSayingDone, TestBeltRunCarriesMachineGateAndShowsItsHold, TestPlandbCliLoopThroughBash, TestACarriedOverDesignRaisesItsCardAndSavesOnYes, TestTheDelegationDoorsCrossFromTheEnginesProfile (session); TestHostedTasksToolStopEndsTheRunAndReportsWhatHappened (remote).

Replication

Deterministic:

stress-ng --cpu $(( $(nproc) * 2 )) --timeout 600s &   # or any load above 1.5 per core
go test -count=1 -run 'TestUnderOneModelEveryRunSeatRidesTheConversationsModel' ./internal/session
go test -count=1 -run 'TestSupervisorLaunchesEveryReadyLeafAtOnceWithNoSlotBound' ./internal/run

Both fail today. Without the load, both pass.

The fix

A test that is not about the machine gate runs with the gate out of its way, through its fixture profile or an injected load reader, never the box's real /proc/loadavg. A test that IS about the gate injects the load it needs.

Acceptance

  • Unit: each named test passes with stress-ng holding the box above 1.5 per core.
  • A law test, or a single fixture helper, so that a new run-engine test cannot read the real load by accident.
Ngôn ngữ chính
Go
Star
115
Fork
14
Merge trung bình
9 giờ 38 phút
Pull request đã merge (30 ngày)
749

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

Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

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 Agent-Field/CodeAF

Tất cả issue của Agent-Field/CodeAF

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.