Les ingénieurs d'OpenAI ont résolu des plantages C++ inexplicables dans leur infrastructure de données Rockset en identifiant deux causes distinctes : une corruption matérielle silencieuse sur un hôte Azure et une condition de course vieille de 18 ans dans GNU libunwind.

  • Les plantages impliquaient des fonctions retournant à des adresses falsifiées ou des pointeurs de pile mal alignés, ce qui défiait les hypothèses standard de débogage logiciel.
  • L'analyse initiale a écarté les bugs du code applicatif, les problèmes de compilateur et les problèmes de livraison de signaux du noyau en raison du manque de preuves.
  • Les chercheurs ont utilisé des core dumps et la zone rouge x86_64 pour préserver les frames de pile inactives afin d'effectuer une analyse détaillée post-crash.
  • L'enquête est passée d'une cause unique à deux bugs non liés après l'analyse des données de crash au niveau de la population plutôt que sur des cas isolés.

Cette approche démontre comment traiter les plantages comme un problème épidémiologique permet aux ingénieurs d'identifier des défaillances rares et complexes que les méthodes de débogage traditionnelles manquent.