Dans l'histoire des bogues informatiques, un exemple célèbre concerne le vol 501 de la fusée Ariane 5 en 1996. Un dépassement de capacité (une variable de 8 bits devant accueillir un nombre en nécessitant 9) causa une défaillance du système, ce qui entraîna carrément l'explosion de la fusée.
Commentaires préférés (3)
Et moi je me plains quand mon téléphone quitte tout seul une application...
Pour ceux qui ne lisent pas les sources le vol 501 était un vol inaugural qui a eu lieu le 4 juin 1996 , la fusée explosa 36.7 secondes après son décollage à 4000 mètres d'altitude
Tous les commentaires (72)
J'ai rien compris ! Appart que y a eu une explosion ^^'
Et moi je me plains quand mon téléphone quitte tout seul une application...
Pour ceux qui ne lisent pas les sources le vol 501 était un vol inaugural qui a eu lieu le 4 juin 1996 , la fusée explosa 36.7 secondes après son décollage à 4000 mètres d'altitude
Ils auraient pu faire un simple ctrl+alt+supprim
D'après la première source, la fusée transportait 4 satellites de la mission Cluster, d'une valeur totale de 370 millions de dollars. Ça fait mal une erreur comme ça...
Il y a un programmateur qui a dû se faire enguirlander...
Ce qu'il faut comprendre c'est qu'un nombre composé de 9 zéro ou un, à essayer de se caser dans une variable qui n'en acceptait "que" 8.
Résultat plutôt impressionnant : Boom.
J'ai d'abord cru au scénario d'un film de Michel Bay mais visiblement ça s'est vraiment passé comme ça !
Pour la navette Challenger, qui a explosé au décollage avec 4 astronautes à bord, c'est un petit joint d'étanchéité (en silicone, me semble-t-il) appelé O-Ring qui était défectueux... Sur ce genre de système, tout doit être parfait. Ce qui me rend admiratif pour chaque lancement réussi, même de routine... Bravo les mecs.
D'ailleurs la scène a été filmée dans le film "un indien dans dans la ville"
Valeur maximum d'une donnée 8 bit en decimal : 256
Donc le bug viens du fait que la valeur de la variable était supérieur au maximum possible enregistrable.
Codé sur 10 bits car on va jusqu'au bit "512".
512 + 8 + 4 + 2 + 1
Alors pour ceux qui voudraient en savoir plus, la fusée Ariane 5 était environ 2 fois plus grande qu'Ariane 4.
Par soucis d'économie, et le calculateur en question étant très efficace sur le premier modèle, ils ne l'ont pas repensé et l'ont utilisé tel quel.
Or, une fusée qui tremble en vol, ça aura tout de suite (beaucoup) plus de pêche si on pèse deux fois plus lourd.
Le calculateur a interprété ça comme une erreur, a fait remonter cette dernière, et un mécanisme automatisé a fait sauter le tout, fournissant l'un des potards les plus chers de l'histoire...
Il leur a fallu 1 ou 2 ans je crois pour trouver l'erreur (imaginez ressortir tous les plans pour les analyser...)
À savoir aussi, qu'en anglais on dit pas octet, mais Byte (abrégé B).
Donc 1 B = 1 o = 8 b (bits).
Vous pouvez rajouter les préfixes Mega (M), kilo (k) ou encore Giga (G) devant, l'égalité ne changera pas.
Donc attention quand on vous dit que vous telechargez à tant de Mo (ou MB), ou tant de Mb, c'est pas pareil !
Il me semble que ce depassement correspond a un bit signé, ainsi les commandes on du recevoir une donnée negative elors qu'elle devait être positive!
Celui qui code c'est un développeur ou un programmeur.