A lease whose new device fails to boot always says "Timed out waiting for device to boot" with code INTERNAL, whatever the driver's reason

Aperta Adatta ai principianti
#1,229 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
backend

Direzione di ricerca

Inizia da src/core/device-provisioner.ts e segui come gli errori di makeReady diventano BootTimeoutError; poi leggi il caso fissato in src/core/device-provisioner.test.ts. Mantieni il motivo boot-timeout e assicurati che chi effettua la richiesta possa vedere il messaggio di errore del driver; l’issue suggerisce anche, senza richiederlo, di assegnare all’errore un codice proprio. Il lavoro è completato quando il test verifica che la risposta di errore includa il motivo del driver.

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

Descrizione

bug:new

`DeviceProvisioner.provision` catches every `makeReady` failure of a new device, logs the driver's error, and throws `new BootTimeoutError(device.id)` (`src/core/device-provisioner.ts:126`, `:142`). The requester sees only `Timed out waiting for device to boot: `, even when the driver failed at once with a clear reason (a `DriverCrashError` naming another emulator on the console port, an emulator that exited). `BootTimeoutError` has no wire code, so it answers `INTERNAL` (#1199's output).

{"error":{"code":"INTERNAL","message":"Timed out waiting for device to boot: dev_0a628b60-..."}}

The test pins this today: `src/core/device-provisioner.test.ts` "rolls back a registered device and returns BootTimeoutError-compatible failure on boot failure". A fix keeps `BootTimeoutError` (reason `boot-timeout`) but carries the driver's message, and could give it a code of its own.

Found while triaging #1199.

Written by an agent.

Lingua principale
TypeScript
Stelle
535
Fork
21
Merge medio
9h 26m
PR unite (30g)
437

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 callstackincubator/simlock

Tutte le issue di callstackincubator/simlock

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.