engine.pid that is a FIFO blocks the run pid reader forever
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 52/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 160
- Fork
- 68
- Merge medio
- 1g 8h
- PR unite (30g)
- 84
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bmad-code-org/bmad-loop
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
bmad-code-org/bmad-loop#973 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bmad-code-org/bmad-loop#965 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bmad-code-org/bmad-loop#835 ·
I maintainer di solito rispondono entro 1 giorno
-
area:adapters area:psmux bug P4
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bmad-code-org/bmad-loop#673 · 8 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
tickets: an injected plan_halt result for a built plan escalates with stopped-attempt wordingAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 36/100
bmad-code-org/bmad-loop#972 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bmad-code-org/bmad-loop
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Status: Triaged Type: Enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
canonical/craft-store#448 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue research size:s skill:numerics sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SKaiNET-developers/SKaiNET#1372 ·
I maintainer di solito rispondono entro 1 giorno
-
debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
microsoft/vscode-flake8#601 ·
I maintainer di solito rispondono entro 1 giorno