Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

CI: emulator jobs (Test E2E, R8 smoke) fail non-deterministically — red run gives no code signal

Aperta
#332 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, github-actions, kotlin
Ambito
ci-cd, testing-qa

Direzione di ricerca

Start from the CI jobs named Test E2E (29) and Test release variant (R8 smoke), which share an emulator bootstrap, and from the failing test UpgradeWithHistoryTest.serverAnswersWhileLegacyHistoryMigrates. Compare failing and passing runs to separate emulator faults (SIGBUS, System UI ANR, adb loss) from app faults. Done would mean infra failures surface with a distinct message or get a bounded retry, so a red run reflects the code. The issue sets no fixed scope, so confirm the approach with a maintainer first.

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

Descrizione

Problem

The two emulator-backed jobs are the only non-deterministic checks in CI, and they currently fail often enough that a red run carries no signal about the code under test.

  • Test E2E (29) fails intermittently on master with adb-daemon/console errors and test timeouts (e.g. UpgradeWithHistoryTest.serverAnswersWhileLegacyHistoryMigrates → "legacy events were not merged within 60000 ms").
  • Test release variant (R8 smoke) fails with emulator-level breakdowns (native SIGBUS tombstones in a livelocking emulator, or the emulator's System UI ANR-ing so the app process is gone before the 20s observation window) while the debug Test job is green and logcat shows no app-side crash or R8/JNI resolution error.

Result: a green debug build plus a red R8-smoke job is indistinguishable from a real R8 regression, so each red run costs a manual rerun/diagnosis round.

Evidence

master (consecutive runs, same emulator jobs, alternating red/green):

  • 37604064600 failure — Test E2E (29)
  • 37600138187 failure — Test E2E (29)
  • 37530698857 failure — Test E2E (29)
  • 37600103590 success / 37530804304 success (same jobs green)

A PR branch (fix/saf-mirror-remove-stale-databases, ActivityWatch/aw-android#331) whose only delta is two cancelRequested guards:

  • 37804568140 failure — E2E migration timeout + R8 smoke native SIGBUS (BUS_ADRERR)
  • 37822239586 failure (retrigger on top) — R8 smoke again, this time emulator System UI ANR (UI dump: "System UI isn't responding"); app launched cleanly, no app crash
  • 37802985233 success — same branch, parent commit

Suggested direction (not prescriptive)

  • Add a bounded automatic retry for the two emulator jobs (or a workflow_dispatch rerun path) so a single infra hiccup doesn't leave a PR red.
  • Distinguish infra failure from app failure in the job result (e.g. fail fast on SIGBUS/ANR/adb daemon loss with a distinct message) so the red/green signal maps to code.
  • Long-term: the smoke test's value is proving R8 keeps runtime paths intact; consider running it on a stable device/emulator configuration rather than the same shared emulator bootstrap as E2E.

Scope

CI reliability only — no app behavior change is requested by this issue.

Lingua principale
Kotlin
Stelle
277
Fork
61
Merge medio
3g 11h
PR unite (30g)
38

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 ActivityWatch/aw-android

Tutte le issue di ActivityWatch/aw-android

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.