nodejs / nodejs/node

Debugger `paused` event is sometimes not delivered to inspector client on macOS CI

Đang mở
#64,116 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

debugger flaky-test macos
Ngôn ngữ chính
JavaScript
Star
122k
Fork
37.3k
Merge trung bình
4 ngày 2 giờ
Pull request đã merge (30 ngày)
283

Mô tả

We have multiple macOS CI debugger flakes where the debuggee appears to pause, but the
inspector client process never observes the expected Debugger.paused event.

This has affected interactive debugger tests and probe mode. In probe mode, handlePaused()
should either record hits or resume unknown pauses. When the report has no hits and eventually
times out, the most likely signal is that the paused event never reached the inspector client
process.

The AI-assisted PRs have mostly tried to address nearby symptoms or test races, but they have
not resolved the underlying observation:

  • #63608 deferred probe pause handling until startup completed.
  • #63632 changed exception-pause behavior.
  • #63944 adjusted a probe fixture to avoid missed startup breakpoints.
  • #63968 changed tests to wait for paused state instead of pause-banner output.

Refs: https://github.com/nodejs/node/pull/63632#issuecomment-4583515968

The question we need to answer is

Why is Debugger.paused sometimes never delivered to the inspector client process on macOS CI?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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.

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện các lỗi chập chờn của debugger trên macOS CI và theo dõi quá trình phân phối giữa debuggee, tiến trình client của inspector và handlePaused() trong chế độ probe. Đọc các lần thử trước trong #63608, #63632, #63944 và #63968, đặc biệt là cuộc thảo luận được tham chiếu trong #63632. Được xem là hoàn tất khi đã xác định nguyên nhân của sự kiện Debugger.paused bị thiếu và các trường hợp bị ảnh hưởng của debugger tương tác và chế độ probe không còn bị timeout.

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

Đánh giá

Công nghệ
javascript, nodejs
Lĩnh vực
devtools, testing-qa
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

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.