Debugger `paused` event is sometimes not delivered to inspector client on macOS CI
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 122k
- 派生
- 37.4k
- 平均合并
- 4 天 3 小时
- 30 天内合并 PR
- 272
描述
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.pausedsometimes never delivered to the inspector client process on macOS CI?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先复现 macOS CI 调试器的间歇性故障,并跟踪 debuggee、检查器客户端进程与 probe 模式下的 handlePaused() 之间的传递过程。阅读 #63608、#63632、#63944 和 #63968 中之前的尝试,尤其是所引用的 #63632 讨论。完成的标准是确定缺失 Debugger.paused 事件的原因,并且受影响的交互式调试器和 probe 模式用例不再超时。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, nodejs
- 领域
- devtools, testing-qa
- Issue 类型
- 缺陷
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 冷清
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100