tests: run-engine and session tests read the box's real load and time out on a busy machine
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 65/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- go
- 領域
- testing-qa
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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/sessionTestUnderOneModelEveryRunSeatRidesTheConversationsModel/the_launch_model:timed out waiting for the run to endondev@691ade547at load 12, and 11 s alone. Added in #1517.internal/runTestSupervisorLaunchesEveryReadyLeafAtOnceWithNoSlotBoundandTestAnUnboundedRunEndedEarlyStillDrainsEveryWorker: 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-ngholding 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.
- 主要言語
- Go
- スター
- 115
- フォーク
- 14
- 平均マージ
- 9時間 35分
- マージ済み PR(30日)
- 752
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Agent-Field/CodeAF のほかの issue
-
area:chat bug sev:papercut
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
Agent-Field/CodeAF#1592 ·
メンテナーはふだん 1 日以内に返信
-
area:headless bug sev:critical
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Agent-Field/CodeAF#1566 ·
メンテナーはふだん 1 日以内に返信
-
area:chat bug sev:critical
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Agent-Field/CodeAF#1548 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area:chat feature
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Agent-Field/CodeAF#1510 ·
メンテナーはふだん 1 日以内に返信
-
area:tests bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Agent-Field/CodeAF#1489 ·
メンテナーはふだん 1 日以内に返信
Agent-Field/CodeAF の issue をすべて見る
似ている issue
-
bug needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug P2 reliability
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
afreidah/s3-orchestrator#1564 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
blinklabs-io/gouroboros#2577 ·
メンテナーはふだん 1 日以内に返信
-
agentic-workflows
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信