Dans la nuit du Nouvel An, une seconde supplémentaire a été injectée dans le temps atomique international. Cette seconde intercalaire avait pour objectif de synchroniser le temps des horloges atomiques dans le monde avec le temps astronomique afin de tenir compte du ralentissement de la rotation de la Terre.

feu-artifice Dans le temps universel coordonné (UTC), il a ainsi existé l'heure 23h 59min 60s le 31 décembre 2016 avant de passer au 1er janvier 2017 à 0h 0min 0s. Cette seconde intercalaire n'a pas été anodine pour des serveurs de Cloudflare.

Le fournisseur CDN (Content Delivery Network) indique qu'à minuit (UTC), un nombre est devenu négatif dans son logiciel RRDNS alors qu'il aurait toujours dû être au moins égal à zéro. La conséquence est que des résolutions DNS (Domain Name System ; correspondance entre le nom de domaine et l'adresse IP) ont échoué, et ainsi un message d'erreur indiquant qu'un serveur ne pouvait pas contacter la page dont la consultation était souhaitée.

Le problème aurait impacté 0,2 % des requêtes DNS vers Cloudflare au pic de l'incident, et moins de 1 % de toutes les requêtes HTTP vers Cloudflare ont abouti à une erreur. Le prestataire précise que seulement ses clients utilisant l'enregistrement CNAME (nom canonique) dans le DNS ont été touchés, et " un petit nombre de machines " à travers ses 102 centres de données.

" Ce problème a été rapidement identifié. La plupart des machines affectées ont reçu un patch dans les 90 minutes ", écrit Cloudflare dans un billet de blog où d'autres détails techniques sont divulgués en toute transparence. " La cause première du bug qui a affecté notre service DNS était la croyance qu'on ne peut pas remonter le temps. Dans notre cas, du code a supposé que la différence entre deux temps serait toujours, au pire, zéro. "

Mi-2015, l'ajout d'une seconde intercalaire avait provoqué des dysfonctionnements pour Amazon Web Services, Netflix, Instagram ou encore Twitter avec des messages qui ne mentionnaient plus l'heure d'envoi. Des utilisateurs Android avait également constaté des incohérences avec l'application d'agenda.

Une solution de contournement des bugs en rapport avec la seconde intercalaire consiste à ajouter de manière progressive des millisecondes dans les heures qui précédent et suivent ce passage, plutôt que l'ajout d'une seconde complète au moment voulu. Google avait ainsi modifié ses serveurs NTP (Network Time Protocol) pour que les horloges tournent 0,0014 % plus lentement dix heures avant et dix heures après la seconde intercalaire.