Nouvelle joie de MacOS... Oui je sais, j'ai qu'à installer Linux. Mais non.
Je bossais tranquillement sur un playbook Ansible ce matin quand, tout à coup, le drame !
[ERROR]: A worker was found in a dead state
Mais que vais-je faire ? Comment vais-je survivre ? Quel avenir vais-je laisser à mes enfants ?
Et bien figure-toi, encore une fois : ça n'arrive pas sur Linux et c'est visiblement récurrent sur MacOS. Mais on aune solution !
Il suffit de lancer son playbook avec la variable d'environnement OBJC_DISABLE_INITIALIZE_FORK_SAFETY à yes :
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=yes ansible-playbook ...
En gros, si j'ai bien compris (rien de sûr), c'est dû à l'utilisation de la méthode python fork() qui permet de créer un nouveau processus. Sauf que sur MacOS, si la bibliothèque utilisée n'est pas "fork-safe", alors l'OS t'envoie balader avec un plantage ou un deadlock.
Voilà, enjoy, même si c'est pas optimal.
