nodejs / nodejs/node

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

Aperta
#64,116 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

debugger flaky-test macos
Lingua principale
JavaScript
Stelle
122k
Fork
37.3k
Merge medio
4g 2h
PR unite (30g)
283

Descrizione

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?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo i flaky del debugger macOS CI e tracciando la consegna tra il debuggee, il processo client dell’inspector e handlePaused() in modalità probe. Leggi i tentativi precedenti in #63608, #63632, #63944 e #63968, soprattutto la discussione di #63632 citata. Il lavoro è completo quando viene identificata la causa dell’evento Debugger.paused mancante e i casi interessati del debugger interattivo e della modalità probe non vanno più in timeout.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, nodejs
Ambito
devtools, testing-qa
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.