You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
thread/pool: a Forward landing between a run's running receipt and its running mark — the run holding its slot, the ledger reading running, the pool's phase still queued — is refused as the state the run is leaving, accepted before a first run and parked before a resume, as Forward's godoc says; v0.18.2 fell through to the ledger and refused with a *StateError reading running ("receipt … is running, not running"), so a caller retrying only on accepted gave up before its steer landed (the arena's pool18.restart under full-suite load: its child then never saw the steer and its gated model looped on, Wait timing out — the hang was the scenario's, no delegation was left unsettled). A Forward while the child settles — the settled phase down, the settlement receipt not yet written — names the state it settles to instead of the ledger's running; one to a parked child is refused as parked even when a decision resumes it at that moment (the refusal was read from the ledger after the pool's lock was let go, the resume's running receipt already there). A refusal of a child this pool runs is now the state read under the pool's lock with its phase, the ledger read only for a receipt no child of this pool serves; Forward's godoc says such a refusal never reads running. TestForwardBetweenTheRunningReceiptAndTheMarkReadsTheStateItLeaves, TestForwardWhileSettlingReadsTheSettlement, TestForwardToAParkedChildResumingMeanwhileReadsParked, TestForwardWhileParkingNeverReadsRunning, TestForwardRetriedFromTheReceiptSteers (the arena's shape, failing on its first iteration on v0.18.2; POOL_FORWARD_RETRY_ITERS); TestNestedRandomChains retries a Forward at every Submit receipt from its creation until it steers on one iteration in three, before and after a restart (POOL_CHAINS_FORWARD_RETRY).