Repository navigation
fix(extensions): the runtime harness no longer races a test-local 3 s startup deadline - #1436
Merged
Merged
Conversation
This was referenced Sep 27, 2026
… by the product deadline (review a) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Disposition for review a (head
|
Owner
Author
|
READY (W1). Head Note (manager q117): the load evidence was gathered with 12- and 24-way parallel Electron runs, which contributed to host PTY exhaustion (#1437). Any re-verification should run at most 4 at a time. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1334.
Plan:
docs/plans/2026-09-27-extension-runtime-harness-startup-deadline.md, the first commit.Problem
electron.system.test.ts› "keeps one managed runtime…" failed under full-suite load and passed alone. The failure text was never captured.Evidence (reproduced)
scripts/check-extension-frames.mjs --runtime-only, a bundledruntimeHarness.tsin a hidden Electron app. Alone it takes about 8.6 s.0 !== 32. Every cold call was rejected withExtension runtime did not finish starting before the deadline.The passing runs logged 32 fulfilled.ExtensionRuntimeServicewithstartupTimeoutMs: 3000, tighter than the product default of 10 s. The deadline itself is tested by thehung-enginecase, which now runs at the product value. Under load, a cold Electron activation takes longer than 3 s, the runtime is retired, and all queued cold commands are rejected.Change
The harness drops the
startupTimeoutMsoverride and uses the product's deadline. In the bounded-cold case, the deadline is not what is under test, and the 3 s value raced a cold Electron start there.invocationTimeoutMs: 1500is kept, because the stalled-engine case needs it to fire fast.until's 3 s poll budget was never observed failing, so it is left alone.Review a (
5ede7157)releaseSlowcommand, sent after the detach and before the awaited rejection, which is delivered when the result reaches the closed connection.untiltakes a budget, and the two waits that include a cold activation use the product's own startup deadline, now exported asEXTENSION_RUNTIME_STARTUP_TIMEOUT_MS.hung-engine).Verification
5ede7157: 48 of 48 runs at 24-way parallel load (load average up to 103).src/main/extensions: 23 files, 346 tests.npx tsc -bclean.🤖 Generated with Claude Code