Erreur 139 à l'exécution d'un container docker
Contents
Note
This article was last updated on 2023-03-02, the content may be out of date.
Voici un rapide article sur un problème rencontré récemment. Lors de l’exécution d’un container docker, j’ai eu une erreur SIGSEGV 139. Un crash avec aucune log.
Bref que du bonheur 🙂
Avant d’aller plus loin voici mon environnement:
Après quelques recherches, je me suis rendu compte qu’on pouvait reproduire ce comportement en exécutant cette commande:
docker run -it gcc:4.8.5
Une des raisons trouvées serait un problème de compatibilité avec le noyau 4.8.5 (oui ça remonte…).
Une solution est d’activer l’émulation vsyscall.
Voici la configuration à effectuer:
Dans le fichier /etc/default/grub
, ajouter la ligne suivante:
GRUB_CMDLINE_LINUX_DEFAULT="quiet vsyscall=emulate"
Puis lancer les commandes suivantes:
$ sudo update-grub
$ sudo reboot
Maintenant le container devrait pouvoir s’exécuter correctement.