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

Đang mở Phù hợp với người mới
#1,229 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
76/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
backend

Hướng nghiên cứu

Bắt đầu với src/core/device-provisioner.ts và theo dõi cách các lỗi của makeReady trở thành BootTimeoutError; sau đó đọc trường hợp được ghim trong src/core/device-provisioner.test.ts. Giữ nguyên lý do boot-timeout đồng thời đảm bảo bên yêu cầu có thể thấy thông báo lỗi của driver; issue cũng đề xuất, nhưng không yêu cầu, cấp cho lỗi một mã riêng. Hoàn thành khi bài kiểm tra xác minh rằng phản hồi lỗi có chứa lý do của driver.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TypeScript
Star
535
Fork
21
Merge trung bình
9 giờ 26 phút
Pull request đã merge (30 ngày)
437

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của callstackincubator/simlock

Tất cả issue của callstackincubator/simlock

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.