iOS Conformance Differential: intermittent clearState terminate timeout and Maestro driver startup timeout

Offen
#4,022 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
github-actions, ios, typescript

Rechercherichtung

After #4016 merges, inspect the uploaded conformance-differential-ios-diagnostics from the next failing run. Read the subprocess trace for the open command with timeoutMs: 15000 to distinguish a slow xcrun call from one that hangs after termination, and check .maestro/tests for the driver timeout. The issue is done when the intermittent failures are explained by that evidence; do not increase the timeout before then.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

backlog bug

Split out of #3944. These two failures predate the 10-17 streak. They come and go and turn some nights red after the persistent failure is fixed (#3993).

1. agent-device launchApp clearState times out terminating the app

  • When: failed with "xcrun timed out after 15000ms" on 09-18, 09-24, 09-27, 10-07, 10-11, 10-17 and 10-27.
  • Which run: every time, it was the agent-device run that follows a Maestro run of the same flow. That was percent-swipe on 10-11 and 10-17, and settle-after-tap on 10-27.
  • Why the terminate is the culprit: launchApp makes two xcrun calls with a 15 s limit. Only the terminate (terminateIosSimulatorApp, IOS_SIMULATOR_TERMINATE_TIMEOUT_MS, packages/platform-apple/src/core/app-launch.ts) reaches the caller. A timeout in post-open target discovery is caught and turned into probe-failed.
  • Normal timing: on a green run (dispatch 40684697766) the terminate took at most 0.7 s, and discovery took up to 11.3 s.

2. Maestro "iOS driver not ready in time"

  • When: failed on 09-12, 09-22, 09-24, 09-27, 10-06, 10-07 and 10-27.
  • Four of those nights also had failure 1.

Possible cause (unproven)

The host or CoreSimulator may stall. Or agent-device's runner, which stays alive across scenarios, may interfere when Maestro starts its own driver.

Next step

Once #4016 merges, the job keeps a subprocess trace and uploads conformance-differential-ios-diagnostics (daemon and session diagnostics, plus Maestro's per-run logs). On the next failing night:

  • Read the trace of the xcrun call with timeoutMs: 15000 under command open. If it exits right after the deadline, it was slow. If it never closes after the kill, it hung.
  • Read .maestro/tests for the driver timeout.

Don't raise the timeout until that evidence exists.

Vorherrschende Sprache
TypeScript
Sterne
5.2k
Forks
359
Ø Merge
13 Std. 23 Min.
Gemergte PRs (30 T.)
655

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus callstack/agent-device

Alle Issues in callstack/agent-device

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.