fix(ios): recover simulator recorder startup failures - #2447
Open
PLASMA-FR wants to merge 1 commit into
Open
Conversation
Member
|
No code findings at 06e98c7. The tests cover error classification, graceful rollback and failed-start cleanup through the daemon. Before this is ready, please add a macOS/CoreSimulator run that observes real recording contention and confirms a subsequent recording starts and stops after the SIGINT rollback; the injected exit-16 process and ordinary iOS smoke do not prove the host recording slot is released. |
thymikee
added a commit
that referenced
this pull request
Sep 10, 2026
…grace The exit-16 classifier and graceful start rollback are owned by #2447 with the DEVICE_IN_USE contract; drop the overlapping COMMAND_FAILED classifier here to keep one start-path error contract. Keep only the non-overlapping daemon-startup fix: an orphaned simctl recorder is reaped with the same finalize grace the live stop path allows, plus a startup-wiring test. Refs #2170.
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.
Summary
Closes #2170.
Recover iOS Simulator recording startup without leaving CoreSimulator's host-wide recording slot stuck. Unpublished recorder rollback now sends
SIGINT, waits a bounded five seconds for graceful detach, and escalates only if the process remains alive. A nativesimctl recordVideoexit 16 is returned as non-retriableDEVICE_IN_USEwithdetails.reason: apple_simulator_recording_busyand actionable recovery guidance; other exits retain their existing classification.Startup now observes exits that settle before PID discovery or on the final process-identity poll. The provider scenario proves a failed start adopts no recorder and a later start/stop succeeds. Five files, +195/−26.
Validation
Tested
06e98c7e6a7bf0517c31339fb2a4814ae055d9ccwith Node 24.13.1 and pnpm 11.17.0.AGENT_DEVICE_VITEST_MAX_WORKERS=1 pnpm check:affected --runpasses: 301 files / 2,144 tests, 12 command-doc tests, format, lint, types, layering, Fallow, and build.