Android: INSTRUMENTATION_FAILED on the first snapshot after a boot or restore is not retried

Aperta
#4,109 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
57/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, typescript

Direzione di ricerca

Start at the snapshot capture flow and trace the failure path that reports android_snapshot_helper_session_exited_before_ready and performs the runtime reset. Check how INSTRUMENTATION_FAILED is classified and where a retry can happen inside capture. Done means this failure is retried once after the reset, while other failures retain their existing behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug ready-for-agent

What happens. On an emulator that has just finished booting, or just had /data restored, the first snapshot fails about 1 time in 10:

Android snapshot helper failed before returning parseable output: android.util.AndroidException: INSTRUMENTATION_FAILED: com.callstack.agentdevice.snapshothelper/...SnapshotInstrumentation

The helper is installed and current (android_snapshot_helper_install_decision says reason: current, and the sha matches). The session first exits with android_snapshot_helper_session_exited_before_ready, then the fallback capture fails within about 200 ms. The next snapshot works, every time we looked.

Version. 0.21.31, Android 36 emulator.

Proposal. Treat INSTRUMENTATION_FAILED as retriable once inside the capture, after the runtime reset that already happens in the failure path. We run that as a local patch; the error is already reported as retriable: true, so the caller's only other option is to repeat the command itself.

Lingua principale
TypeScript
Stelle
5.2k
Fork
359
Merge medio
13h 31m
PR unite (30g)
664

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di callstack/agent-device

Tutte le issue di callstack/agent-device

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.