Repository navigation
Conversation
This was referenced Oct 29, 2026
Collaborator
Author
|
Thanks. Closing this one. Switching boot polling to a wall-clock deadline fixes an overrun that only shows up when adb calls stall for tens of seconds each, and the existing 60s per-command cap already bounds that. It also creates a user-visible regression: an emulator that finishes booting just after the deadline is reported as a timeout, and the per-command adb timeouts are cut short on the last poll. That doesn't justify around 100 lines of fake-timer tests plus a stack on #35536 and a rebase onto main's localized error copy. The boot identity fix in #35536 will land on its own. Closing per maintainer triage (low-risk / zero user trade-off / material-gain bar). |
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.
LoC: +154/-22
Count ADB command time toward the Android boot polling deadline. The loop previously counted only sleeps, so slow census/name/boot-property commands could extend the three-minute wait and an expired successful response could still be accepted. Forward the remaining budget through the existing runner, retain its 60s per-command cap, clip the last sleep and reject late completion. Initial discovery/launch remain outside the polling deadline.
Stacked on #35536 (requested AVD identity). Merge/reconcile that parent first, then retarget/rebase onto main and revalidate; preserve #9950 SDK/network guards.
Validation: 30 configured tests/four suites, strict focused TypeScript and five ordinary hook tasks pass. Exact parent: three deadline regressions fail, timely-boot control passes. Real Node26.8.1 spawn/execFile against owned SDK executable fixtures, seven exact production modules, ten groups per arm at 1/10 boots: 33 adverse calls run 99 polling censuses before vs 33 after; 33 actual stalled subprocesses canceled. Observed polling 2746.78–3066.18ms before vs 303.80–310.60ms after with a 300ms budget; this includes scheduling/termination overhead and is not a strict wall-clock guarantee. Healthy/existing-serial controls preserved; all 715 baseline+committed-final fixture PIDs absent and profiles removed. No physical SDK/device, native Electron UI, macOS/Windows, CPU/RSS claim.
A post-format artifact byte check failed for the earlier pre-hook native run; that evidence is retained as superseded. Native fixed workload was rerun from committed source and rebuilt byte equality verified. Required aggregate queued after #35536; no aggregate pass or Claude takeover claimed. Frozen head
95445f85a699563f2c9c2e95e503b9664651d1a0, parent8b7d1731bab0fda358defe6fa0619ff937a54dbd. Evidence/home/neil/.local/state/orca-electron-audit/android-avd-boot-deadline/report.md; 51-payload sealc4484bfa26b4154dd015bfc00680e943464885877a3715b1e1e6cefd445c969b.