nodejs / nodejs/node

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

未关闭
#64,116 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

debugger flaky-test macos
主要语言
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.paused sometimes never delivered to the inspector client process on macOS CI?

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。