Find what keeps macOS CLI processes alive after commands
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- macos, node.js, typescript
Línea de trabajo
Start with packages/cli/src/lib/force-exit.ts and trace the command shutdown path that calls scheduleForceExit(). The issue asks to identify any event-loop handle keeping commands alive on macOS; compare findings with the earlier fixes in getsentry/cli#1488 and the reported exit telemetry loss in #1448. Done means the lingering handle is reproduced and identified, with evidence that supports deciding whether the backstop is still needed.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
On macOS, scheduleForceExit() (packages/cli/src/lib/force-exit.ts) arms an unref'd 100 ms process.exit() after every command. It is a backstop, not a fix: we don't know which handle, if any, still keeps the event loop alive after a command finishes.
- getsentry/cli#1237: commands hung after writing their output. getsentry/cli#1396 added the backstop for every command.
- getsentry/cli#1488 then closed undici's global dispatcher, which fixed the known cause (pooled keep-alive sockets). The backstop stayed for "a libuv refcount quirk", which nobody has reproduced since.
- The backstop has a cost: on macOS it cuts off the exit telemetry flush (#1448).
- History: in getsentry/cli#782, #833, and #835, a forced exit after
initwas later removed once the real leak was found. That leak was the workaround itself. - #1955 adds the
sentry-cli/no-process-exitlint rule. The backstop is one of its allowed exceptions, so it should not get wider (#1950).
Raised by BYK in review of #1955.
--
- Lenguaje dominante
- TypeScript
- Estrellas
- 957
- Forks
- 174
- Merge medio
- 22 h 56 min
- PR fusionados (30 d)
- 345
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de getsentry/toolkit
-
CLI enhancement MCP
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
getsentry/toolkit#1908 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Docs MCP URL normalization retains query strings and fragmentsPosiblemente ocupada @pcbeingused333 la tomó hace 5 días. Abiertobug MCP
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
getsentry/toolkit#1618 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
getsentry/toolkit#1471 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 55/100
getsentry/toolkit#1975 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Release v4 as the Sentry CLI, replacing sentry-cliPosiblemente ocupada @BYK la tomó hace 1 día. Abierto
getsentry/toolkit#1965 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de getsentry/toolkit
Issues similares
-
test-reliability
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Azure/azure-sdk-for-js#40672 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
HarperFast/studio#2067 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
liberation-data/drivine#639 · 2 comentarios ·
Los mantenedores suelen responder en 1 día