shim: fixed-seed PTY churn test assumes one-byte echo #425

Open
opened 2026-11-07 18:40:20 +00:00 by kayg · 0 comments
Owner

Finding

session::user_host::tests::exhausted_pool_drains_live_ptys_during_random_session_churn uses fixed xorshift seed 0x2051_0019_7a11_0c5e and asserts that one typed key advances the PTY replay ring by exactly one byte (user_host.rs:1520). Under load, a delayed 3-byte \b \b echo from the previous backspace (\x7f) can arrive with the next typed key, producing left: 3, right: 1.

Evidence

J356 reran the focused test 10/10 times on gotatun-rotation-367 and 10/10 times on current origin/dev 027a3a78b, all passing on dev-02 ARM64. The J279 compute01 verify fast run hit the one failure under concurrent host load. A later clean origin/dev process-per-user suite also passed on x86 and ARM64 (217 passed, 0 failed, 20 ignored on each). No infraternal-shim code changed in J279.

J356's independent review and rerun evidence is in kayg/infraternal#367 comment 85349, including attached J356-run-dev02.log (SHA-256 7023786d37494706da47c953ac9cddb4be299cac192d549cb458065de1943b0a). The failing gate output and J279 baseline comparison are recorded on #367.

Follow-up

Make the fixed-seed test model PTY output coalescing and late backspace echo without weakening its checks for live screen changes, complete PTY drainage, or pool accounting. This is a separate test-stability issue and does not block #367's GotaTun rotation work.

## Finding `session::user_host::tests::exhausted_pool_drains_live_ptys_during_random_session_churn` uses fixed xorshift seed `0x2051_0019_7a11_0c5e` and asserts that one typed key advances the PTY replay ring by exactly one byte (`user_host.rs:1520`). Under load, a delayed 3-byte `\b \b` echo from the previous backspace (`\x7f`) can arrive with the next typed key, producing `left: 3, right: 1`. ## Evidence J356 reran the focused test 10/10 times on `gotatun-rotation-367` and 10/10 times on current `origin/dev` `027a3a78b`, all passing on dev-02 ARM64. The J279 compute01 `verify fast` run hit the one failure under concurrent host load. A later clean `origin/dev` `process-per-user` suite also passed on x86 and ARM64 (217 passed, 0 failed, 20 ignored on each). No `infraternal-shim` code changed in J279. J356's independent review and rerun evidence is in kayg/infraternal#367 comment 85349, including attached `J356-run-dev02.log` (SHA-256 `7023786d37494706da47c953ac9cddb4be299cac192d549cb458065de1943b0a`). The failing gate output and J279 baseline comparison are recorded on #367. ## Follow-up Make the fixed-seed test model PTY output coalescing and late backspace echo without weakening its checks for live screen changes, complete PTY drainage, or pool accounting. This is a separate test-stability issue and does not block #367's GotaTun rotation work.
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal#425
No description provided.