fix : Firefox handling 2
All checks were successful
release / build (push) Successful in 24s
release / verify-windows (push) Successful in 1m13s

This commit is contained in:
jeanotx32
2026-08-12 02:45:09 +02:00
parent dcbc846ae7
commit 907a502f26
2 changed files with 189 additions and 18 deletions

View File

@@ -222,7 +222,31 @@ qu'une sortie non nulle comme un échec ; sinon il abandonnerait le cas nominal
quelques centaines de millisecondes.
La sortie de Firefox est redirigée vers `<profil>/firefox.log`, et ses dernières lignes
accompagnent tout échec de démarrage — c'est le seul endroit où il explique son refus.
utiles accompagnent tout échec de démarrage — c'est le seul endroit où il explique son
refus. Les lignes `update.go:193: cannot change mount namespace …` sont du bavardage
systématique de snapd, sans rapport avec Firefox : elles sont comptées puis écartées de
l'extrait, sans quoi elles chasseraient la vraie erreur.
Le démarrage laisse **150 s** au navigateur. Ce n'est pas de la prudence : un snap lancé à
froid sur une VM, avec un profil neuf à construire, dépasse couramment la minute. L'agent
signale sa patience toutes les 20 s dans l'historique de la VM.
#### Verrou de profil bloqué
Le profil est exclusif à l'agent : personne n'y travaille à la main en temps normal. Un
lancement qui échoue sans que le processus Firefox s'arrête (l'ancien comportement, avant
correction) y laisse un verrou — et chaque tentative suivante se heurte alors au dialogue
« Firefox est déjà ouvert », qui n'ouvre jamais le port de pilotage et bloque
indéfiniment, y compris un lancement manuel de diagnostic sur ce même profil.
Deux garde-fous, l'un préventif et l'un correctif :
- un lancement qui échoue termine désormais le processus qu'il venait de créer, plutôt que
de le laisser tourner comme verrou pour la prochaine tentative ;
- avant chaque lancement, l'agent identifie (sous Linux, via `/proc/<pid>/cmdline`) tout
processus dont la ligne de commande référence exactement ce profil, le termine, puis
efface le verrou. La correspondance porte sur le chemin exact du profil : rien d'autre
ne peut être atteint par erreur.
**Au premier passage en BiDi, une nouvelle fenêtre Firefox s'ouvre** : pointe la source
« capture de fenêtre » d'OBS dessus une fois. Ensuite elle survit aux enregistrements