3 points par GN⁺ 2026-01-30 | 1 commentaires | Partager sur WhatsApp
  • Le serveur de messagerie du département de statistique d’une université américaine a subi un phénomène étrange : il ne pouvait pas envoyer d’e-mails à plus de 500 miles de distance
  • L’enquête a révélé qu’au cours d’une mise à jour de SunOS, la version de Sendmail avait été rétrogradée, rendant le fichier de configuration incompatible
  • Comme Sendmail 5 ne reconnaissait pas les noms d’options longs du fichier de configuration prévu pour Sendmail 8, plusieurs valeurs par défaut ont été fixées à 0
  • Parmi elles, le délai d’expiration de connexion SMTP était réglé à 0, ce qui faisait échouer toutes les connexions distantes prenant plus d’environ 3 millisecondes
  • La latence réseau augmentant proportionnellement à la distance, cela a fini par bloquer l’envoi d’e-mails vers des serveurs situés à plus de 500 miles

Début du problème

  • Le département de statistique a signalé qu’« il était impossible d’envoyer des e-mails à plus de 500 miles »
    • Jusqu’à 520 miles, cela fonctionnait, mais au-delà l’envoi échouait
    • Le directeur du département a même mobilisé un géostatisticien pour dresser une carte du rayon dans lequel les e-mails arrivaient, confirmant un rayon d’environ 500 miles
  • L’administrateur système a reproduit le problème en envoyant des messages de test vers plusieurs régions
    • Succès vers Princeton, à 400 miles, mais échec vers Memphis, à 600 miles
    • New York (420 miles) fonctionnait, tandis que Providence (580 miles) échouait

Analyse de la cause

  • Le fichier de configuration sendmail.cf du serveur paraissait normal ; il s’agissait d’un fichier conçu par son auteur pour Sendmail 8
  • Mais en vérifiant la bannière du port SMTP, on a découvert que c’était SunOS Sendmail 5 qui tournait
    • Lors du correctif appliqué au serveur, le système d’exploitation avait été mis à niveau et Sendmail avait été rétrogradé de la version 8 à la version 5
    • L’ancien fichier de configuration était resté en place, mais Sendmail 5 ne reconnaissait pas les noms d’options longs de Sendmail 8
  • Les options non reconnues ont été ignorées, et leurs valeurs ont été réinitialisées à 0
    • En particulier, le timeout de connexion au serveur SMTP distant s’est retrouvé à 0, interrompant les tentatives de connexion après environ 3 millisecondes

Relation entre distance et vitesse

  • À l’époque, le réseau du campus reposait sur une architecture 100 % commutée, avec quasiment aucune latence due aux routeurs
    • Le temps de connexion était donc essentiellement déterminé par la distance physique (vitesse de la lumière)
  • Les calculs montraient que 3 millisecondes correspondaient à environ 558 miles
    • Ce résultat coïncidait avec le phénomène observé : « 500 miles, ou un peu plus »

Conclusion

  • La cause profonde du problème était une erreur d’analyse de configuration due à un décalage de version de Sendmail
  • Avec un timeout réglé à 0, un phénomène réseau donnant l’impression d’une limite de distance physique est apparu
  • Cette histoire est restée comme une anecdote classique illustrant l’importance de la compatibilité des versions et de la validation des configurations en administration système

1 commentaires

 
GN⁺ 2026-01-30
Commentaires sur Hacker News
  • Vers le milieu des années 1990, il y avait un problème étrange au bureau : les PC ne démarraient pas le matin
    Il s’est avéré qu’en hiver, de petites souris entraient par l’emplacement du disque dur pour y rester au chaud et urinaient, ce qui provoquait un court-circuit dans les circuits
    Une fois l’ordinateur allumé un certain temps et chauffé, cela séchait et le démarrage redevenait possible
    Ils ont ensuite acheté des baies de lecteur vides pour boucher l’ouverture, et le problème a complètement disparu

    • Ça me rappelle la vieille histoire de la glace à la fraise. Une voiture démarrait si on achetait de la glace à la vanille, mais pas si on prenait de la fraise
      Que ce soit vrai ou non, c’est le processus de traque de ce genre de problème qui est fascinant
      Lien associé
    • Une vraie histoire de souris d’ordinateur au sens littéral, ça me fait rire
    • Une souris peut passer par n’importe quel trou où un crayon peut entrer
      Il m’est même arrivé de voir une chauve-souris accrochée à mon câble CAT
      Laisser la fenêtre ouverte la nuit a peut-être aussi un effet sur la bande passante
      En tant que développeur, il faut aussi être prêt à des situations absurdes du genre "Frog on Keyboard error"
      Article lié
    • Ma souris, elle, ne fait pas ce genre de choses
    • On dirait presque une histoire sur l’origine du nom de deadmau5
  • J’ai l’impression que, dans le texte original, on n’a pas assez apprécié le fait que le président ait rassemblé les informations nécessaires à la résolution du problème
    Sans ces données, l’auteur aurait probablement passé longtemps à chercher un faux problème côté serveur
    Si on se contente de dire « les e-mails ne fonctionnent pas comme ça », plus personne ne donnera de données la fois suivante, ou bien on partira sur de mauvaises hypothèses

    • J’adore vraiment cette histoire aussi. Je me dis souvent : si seulement les utilisateurs décrivaient aussi précisément les étapes de reproduction
    • Si les clients étaient des statisticiens et des géostatisticiens, ce genre de collecte de données serait sûrement bien plus simple
    • Excellent commentaire. Tout à fait d’accord
  • Ce texte est un post classique qui revient régulièrement sur HN depuis des années
    Il a été reposté à différentes périodes, notamment en 2023, 2020 et 2015
    Version 2023, version 2020, version 2015

    • C’est pour ce genre de posts que je consulte HN tous les jours depuis plus de 15 ans
      Content de ne pas l’avoir raté cette fois. Ça rappelle qu’il ne faut pas perdre son humilité
    • Comme ce post revient à intervalles assez longs, j’oublie à chaque fois pourquoi les e-mails n’étaient pas envoyés, donc je le relis encore
    • J’étais justement en train de faire la liste, mais quelqu’un l’avait déjà postée
      Sur HN, un repost au bout d’environ un an est généralement acceptable, et pour les classiques, c’est bien qu’ils reviennent pour les nouveaux utilisateurs
      Voir la FAQ HN
      J’ai aussi regroupé plusieurs liens vers des versions liées
    • J’aimerais qu’un jour il y ait un classique intemporel de ce genre à propos de l’IA
      On pourrait alors rire en déboguant les erreurs de l’IA
    • Dans quelques mois, je posterai peut-être moi-même un texte comme ça
  • Hier soir, j’ai lancé un épisode TV dans VLC, et au bout d’environ 30 secondes, l’alimentation s’est coupée
    C’est arrivé trois fois exactement au même endroit, ce qui était étrange. Je me suis demandé si la vidéo elle-même pouvait en être la cause
    Ça m’a rappelé le cas où une vidéo de Janet Jackson endommageait des disques durs
    Et le plus étrange, c’est que l’épisode en question était Black Mirror S7E01
    Lien de référence

    • Ce qui compte, c’est de savoir si ça s’éteint exactement sur la même image, ou seulement à peu près au même moment
      Dans le second cas, un problème thermique est très probable
      La charge de décodage varie selon les codecs, donc une portion précise peut faire surchauffer le système
      Je recommande de tester à d’autres positions, ou de sauter cette séquence
    • Une vieille alimentation pourrait ne pas supporter la charge de décodage
      Mieux vaut remplacer le bloc d’alimentation ou convertir le codec
      Ou alors le fichier a pu être modifié de façon malveillante, donc il faut vérifier sa provenance
    • Tiens-nous au courant si tu trouves la cause
  • Cette histoire ressemble à une version hacker de l’anecdote sur le contrôle de vitesse du SR-71 Blackbird
    C’est un classique qu’on relit à chaque fois
    Lien associé

  • Ça me rappelle le classique : « la voiture démarre quand on achète de la glace à la vanille, mais pas quand on prend de la fraise »
    Lien vers l’histoire

    • Moi, ça me fait penser à l’histoire du contrôle de vitesse du SR-71
      Lien associé
  • Ce sont des histoires comme « Stalking the Wiley Hacker » qui m’ont attiré dans le monde de l’informatique
    Mais je regrette qu’en travaillant dans le secteur, le plaisir pur de l’époque se soit un peu perdu
    Lien vers l’original

    • J’ai déjà rencontré Cliff Stoll en personne
      Il donnait une présentation lors d’une association de patchwork, et même sans rapport avec le sujet, c’était quelqu’un de vraiment passionné et captivant
      J’ai été complètement emporté par son énergie et sa curiosité
  • Ça me rappelle la blague : « envoyons l’e-mail 500 miles plus loin »
    La phrase « You had me at EHLO » m’a fait rire

    • À l’époque où je travaillais sur Sendmail, j’ouvrais parfois une session telnet sur le port 25 pour saisir directement les commandes SMTP
      À l’époque, je les connaissais toutes par cœur, mais aujourd’hui je ne suis plus très sûr
  • J’ai déjà eu un ordinateur qui s’éteignait quand je m’éloignais de mon bureau
    Il s’est avéré que c’était causé par le plancher branlant d’un vieux bâtiment
    Les vibrations quand je me levais provoquaient un court-circuit dans une alimentation défectueuse

  • En lisant l’article, j’ai immédiatement lancé apt install units. C’est vraiment un super outil

    • Je l’ai installé aussi, et j’ai tout de suite trouvé un bug
      Quand on utilise la commande units, le résultat du calcul sort à l’envers
      Exemple : 1 mile → 1.609 km est correct, mais 1 unit → 1.609 units donne le calcul inversé
    • Malheureusement, il n’y avait pas de paquet pour Arch Linux