engine.pid that is a FIFO blocks the run pid reader forever
Los mantenedores suelen responder en 1 día
@dracic ya está trabajando en esto.
Desde el 9/10/2026.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 52/100
Línea de trabajo
Start with engine_liveness in src/bmad_loop/runs.py, which reads engine.pid with Path.read_text(), and trace its callers in prune_sessions and the evidence scan. Reproduce by creating a FIFO named engine.pid in a temporary run dir and running bmad-loop cleanup, which should hang. Done means the reader opens non-blocking, checks with fstat that the file is regular, and reports a non-regular file as unreadable/unknown rather than as no engine.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The shared run pid reader (engine_liveness in src/bmad_loop/runs.py) reads engine.pid with Path.read_text(). If engine.pid is a FIFO, opening it blocks until a writer appears, so bmad-loop cleanup hangs and the TUI's cleanup worker never finishes or shows its result.
A FIFO there needs a broken or hostile run dir, but every path that probes run liveness goes through this reader: the existing cleanup's prune_sessions, and, since #864, the evidence scan when the backend is unavailable.
Proposed fix: open with O_NONBLOCK (where available), check that the descriptor is a regular file with fstat, then read it. A non-regular file keeps the existing unreadable/unknown semantics, so it is reported, never read as "no engine".
Found in review of the #864 fix.
- Lenguaje dominante
- Python
- Estrellas
- 160
- Forks
- 68
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 90
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 bmad-code-org/bmad-loop
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
bmad-code-org/bmad-loop#973 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bmad-code-org/bmad-loop#965 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bmad-code-org/bmad-loop#835 ·
Los mantenedores suelen responder en 1 día
-
area:adapters area:psmux bug P4
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bmad-code-org/bmad-loop#673 · 8 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
tickets: an injected plan_halt result for a built plan escalates with stopped-attempt wordingAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 36/100
bmad-code-org/bmad-loop#972 ·
Los mantenedores suelen responder en 1 día
Todos los issues de bmad-code-org/bmad-loop
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
eclipse-score/inc_someip_gateway#356 ·
Los mantenedores suelen responder en 2 días
-
[BUG]: `GitHubRestAdapter.check_user_permission` and `has_write_access` raise `TypeError` (missing `params`), silently disabling the inactivity lifecyclePosiblemente ocupada @tarunagnihotri534 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
AOSSIE-Org/Gitcord-GithubDiscordBot#167 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
mihai-vlc/sublime-jsfmt#56 ·
-
comp/cli comp/plugins P2 type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
NousResearch/hermes-agent#141917 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
riscv/riscv-opcodes#441 ·