Le code de sortie 137 d'un conteneur est souvent mal diagnostiqué comme un problème de mémoire insuffisante (OOM), ce qui pousse les équipes à augmenter prématurément les ressources. Dans ce cas réel de débogage, un conteneur de production se terminait avec le code 137, et la première réaction était de supposer OOM. Cependant, un examen plus approfondi de la sémantique du code de sortie révèle que 137 équivaut à 128 plus le signal 9 (SIGKILL), qui peut être déclenché par diverses conditions, y compris les redémarrages de l'hôte. L'auteur a vérifié systématiquement les journaux de l'hôte et a découvert que le serveur sous-jacent redémarrait de manière inattendue, tuant tous les conteneurs. Ce cas souligne l'importance de comprendre les conventions des codes de sortie Linux et de vérifier les événements au niveau de l'hôte avant de tirer des conclusions hâtives. Pour les équipes DevOps et SRE, c'est un rappel précieux de corréler les codes de sortie des conteneurs avec les journaux et métriques système pour éviter des efforts inutiles et une infrastructure mal configurée.
Un conteneur de production se terminait avec le code 137, initialement attribué à OOM. L'auteur décompose la sémantique du code de sortie (128+9=SIGKILL) et découvre que l'hôte redémarrait, pas le conteneur tué par OOM.