android / android/android-test
Orchestrator fails if service disconnects
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 342
- Merge medio
- 11h 29m
- PR unite (30g)
- 2
Descrizione
### Description
Our test suite has recently begun crashing without running all the tests.
From logcat, it looks like we are running into memory pressure and Android is killing the Orchestration Service.
The OrchestratedInstrumentationListener code does not trigger a reconnect to the service on disconnect, and this makes tests fail if the service is killed. Once the service is killed there is no way to recover. The code should be updated to rebind the service on an unbind.
In addition the service is not being bound with flag Service.BIND_IMPORTANT which would make the Orchestration Service less likely to be killed under memory pressure.
### Steps to Reproduce
I have outlined steps to reproduce here:
https://issuetracker.google.com/issues/135574731
Note that you may have to add tests which consume memory to cause the service to be killed.
### Expected Results
The orchestrator does not crash.
### Actual Results
The orchestrator crashes and only a small subset of our tests are run.
### AndroidX Test and Android OS Versions
AndroidX 1.2.0 - Tested on both 26 and 27.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da OrchestratedInstrumentationListener e dal codice di associazione del servizio, quindi segui i passaggi per riprodurre il problema indicati in issuetracker.google.com/issues/135574731 su AndroidX Test 1.2.0 con Android 26 o 27. Verifica il comportamento quando Android termina Orchestration Service sotto pressione di memoria; il lavoro è completato quando il servizio viene associato nuovamente dopo unbind, viene associato con Service.BIND_IMPORTANT e l'intera suite di test continua a essere eseguita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java
- Ambito
- mobile, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100