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

オープン
#4,022 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, ios, typescript

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
TypeScript
スター
5.2k
フォーク
359
平均マージ
13時間 31分
マージ済み PR(30日)
664

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

callstack/agent-device のほかの issue

callstack/agent-device の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。