Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#1,525 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
65/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
go
Domaine
testing-qa

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
Go
Étoiles
115
Forks
14
Merge moyen
9 h 37 min
PR mergées (30 j)
755

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Agent-Field/CodeAF

Toutes les issues de Agent-Field/CodeAF

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.