[P2][logging] Refuser un FIFO sans bloquer l'ouverture du log #60

Closed
opened 2026-09-29 20:34:49 +00:00 by silex · 0 comments
Owner

Gravité et périmètre

P2 / medium. Démarrage et log opérationnel, commit 65442d2.

Constat

internal/logging/logging.go:257–258 ouvre le chemin en écriture avant de vérifier qu'il est régulier, sans O_NONBLOCK. Si murmur.log est un FIFO sans lecteur, l'ouverture bloque. start possède déjà le verrou de session lors de l'appel à OpenDestination.

Reproduction

Créer un FIFO temporaire nommé murmur.log, appeler OpenDestination dans un worker : il reste bloqué. L'ouverture d'un lecteur débloque le worker, qui rejette alors le type du fichier. Le test ferme le lecteur et attend le worker pour ne rien laisser actif.

Impact

Une entrée runtime incorrecte peut immobiliser le démarrage et empêcher une nouvelle session. Cas local et anormal, pas une panne du parcours nominal.

Correction et acceptation

Ajouter une ouverture non bloquante avant validation du descripteur. Vérifier le rejet borné d'un FIFO sans lecteur et conserver les garanties fichier régulier, propriétaire effectif, lien unique et mode 0600.

## Gravité et périmètre P2 / medium. Démarrage et log opérationnel, commit `65442d2`. ## Constat `internal/logging/logging.go:257–258` ouvre le chemin en écriture avant de vérifier qu'il est régulier, sans O_NONBLOCK. Si murmur.log est un FIFO sans lecteur, l'ouverture bloque. `start` possède déjà le verrou de session lors de l'appel à OpenDestination. ## Reproduction Créer un FIFO temporaire nommé murmur.log, appeler OpenDestination dans un worker : il reste bloqué. L'ouverture d'un lecteur débloque le worker, qui rejette alors le type du fichier. Le test ferme le lecteur et attend le worker pour ne rien laisser actif. ## Impact Une entrée runtime incorrecte peut immobiliser le démarrage et empêcher une nouvelle session. Cas local et anormal, pas une panne du parcours nominal. ## Correction et acceptation Ajouter une ouverture non bloquante avant validation du descripteur. Vérifier le rejet borné d'un FIFO sans lecteur et conserver les garanties fichier régulier, propriétaire effectif, lien unique et mode 0600.
silex closed this issue 2026-09-29 22:06:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/murmur#60
No description provided.