nodejs / nodejs/node

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

Open
#64,116 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

debugger flaky-test macos
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

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?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the macOS CI debugger flakes and tracing delivery between the debuggee, inspector client process, and handlePaused() in probe mode. Read the prior attempts in #63608, #63632, #63944, and #63968, especially the referenced #63632 discussion. Done means the cause of the missing Debugger.paused event is identified and the affected interactive debugger and probe-mode cases no longer time out.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
devtools, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.