The code that exploded a rocket

  Рет қаралды 100,889

Top Quark

Top Quark

5 жыл бұрын

In 1996 a very expensive (but fortunately non-fatal!) rocket explosion became a teachable moment in computer science, when the debut launch of the ESA's shiny new Ariane 5 rocket spectacularly failed less than a minute after lift off.
This video was produced for a University of Sydney online course called "NaN: Numbers And Numerics".
Credits:
Ariane 5 launch videos: ESA, Arianespace, CNES
Mission Control flight desk image: NASA
Ariane 4 & Ariane 5 images: ESA, Arianespace, CNES

Пікірлер: 110
@hoocna
@hoocna 3 жыл бұрын
I feel kinda bad for laughing so hard at how you animated the content. EXCELLENT job hahahah
@sovietmudkip1
@sovietmudkip1 5 жыл бұрын
I'm so glad this channel got randomly mentioned in a Reddit post. The content is excellent
@ryanhamstra49
@ryanhamstra49 2 жыл бұрын
You mentioned the code ran for 40 seconds then shut down, and on the old rocket it was fine but this one was going faster. My favorite part is the issue happened at 38 seconds into flight, so they didn’t even have to fix the software, they would have just had to do the math and know and shut it down at 35 seconds instead and it would have been fine
@simonnielsen1525
@simonnielsen1525 2 жыл бұрын
A very good description of the accident. My CS 101 professor gave a very similar presentation of the problem back in 1996, when the post mortem report first came out.
@RAJATHRAJRK
@RAJATHRAJRK 3 жыл бұрын
You can host history lessons or science classes with such a cool sound
@TopQuark
@TopQuark 3 жыл бұрын
Thank you! I'd love to do more, just need a few more days in the week ...
@deletedgamer111
@deletedgamer111 Ай бұрын
"Let's just ship it and then push the fix to production."
@gawayne1374
@gawayne1374 3 жыл бұрын
I love the reaction of the flight director.
@logarhythmic6859
@logarhythmic6859 5 жыл бұрын
"Why test the code? It worked on the other rockets" It's not nearly as costly or as serious, but it kind of reminds me of the Venera probes that landed on Venus. In Venera 9-12, either one or both lens caps failed to release from the camera, and then Venera 14 had the lens cap release, but it landed right under where another instrument was supposed to take measurements of the surface, thus blocking the measurements.
@gasparinizuzzurro6306
@gasparinizuzzurro6306 3 жыл бұрын
sviluppo sw da anni e non posso che essere d'accordo con te. non è che è esploso per non curanza dei programmatori (chiunque sbaglia e i test ci sono per questo, per assicurare al meglio l'affidabilità), è esploso per i soliti "ragionieri-manager" dell'economia che hanno TAGLIATO sulla necessità di fare test, tanto funzionava per il razzo vecchio. I have been developing sw for years and I can only agree with you. it is not that it exploded due to the neglect of programmers (whoever makes a mistake and there are tests for this, to ensure the best possible reliability), it exploded for the usual "accountants-managers" of the economy who have CUT on the need to do tests , "because it worked for the old rocket."
@wysoft
@wysoft Жыл бұрын
Probably 1-2 days max to set up a simulated environment to test the software using known performance characteristics of the new rocket. Nah, too expensive to bring those lazy ass coders in.
@SteevyMathew
@SteevyMathew 5 жыл бұрын
You should really voice an audiobook... Or a podcast... Or just record yourself reading a scientific journal or even a dictionary.
@TopQuark
@TopQuark 5 жыл бұрын
You're very kind. I'll give it a try if I can find a dictionary ...
@perfectionbox
@perfectionbox 3 жыл бұрын
Or describing animals during their mating season 🤣
@416pp
@416pp 2 жыл бұрын
@@TopQuark why did you stop making videos this was brilliant…. Don’t stop now
@TopQuark
@TopQuark 2 жыл бұрын
@@416pp haven't stopped, just on ... uh ... extended break? Trying to find the time to do more. Watch this space!
@R2k2
@R2k2 3 жыл бұрын
A very nice video, in ‘easy to understand’ English! Thank you for the video! I have seen a talk from Matt Parker, with him explaining this disaster. And it is a small addition to this story. On the Ariana 4, there were indeed a lot of sensors which the guidance system monitored. (Including the sensor that was still sending data, when it could have been turned off after launch). Some sensors would send 16 bits of data, and some sensors would send 64 bits. For the sensors that could send 64 bits, there was a small checksum that would check the amount of bits. But some sensors never send more than 16 bits. And for these sensors, the checksum never initiated. To save memory and computer power, they would allocated a 16 bit part of the memory in the guidance system for the sensors that wouldn’t exceed a 16 bit data block. (Why reserve a space of 64 bits, when only 16 bits are coming in)? And this worked just fine. For the Ariana 4. But when the Ariana 5 launched, and like this video explaines, this particular sensor suddenly went beyond the 16 bits of data and send 64 bits of data. But because there were only 16 bits allocated for this sensor in the guidance system’s memory bank, the guidance system crashed and send this error message to the flight computer. And like this video brilliantly explained, the flight computer interpreted this message as navigation data.
@TopQuark
@TopQuark 3 жыл бұрын
Yes, Matt dug deeper than I did it seems - he's like that :) I didn't want to go into checksums and so on for this video, so a simplified story made sense. The essence is there. Thanks for the kind words!
@jamskinner
@jamskinner 7 ай бұрын
Why would an even semi modern cup need to save compute by only doing 16 bit?
@Daresco
@Daresco 5 жыл бұрын
Very nice content, very well explained. Thumbs up!
@PRCA-zw4xo
@PRCA-zw4xo 2 жыл бұрын
Outstanding video. Thank you so much. Will be showing to my class.
@vinijill1622
@vinijill1622 3 жыл бұрын
Loved the explanation !
@d4nielDayZContent
@d4nielDayZContent 4 жыл бұрын
The last 40 secs of this video left me speechless.
@user-vp3kh6kj2r
@user-vp3kh6kj2r 2 ай бұрын
Very informative! Thanks 👍🏼
@shahidzia4365
@shahidzia4365 3 жыл бұрын
very nice explanation
@ianchan2624
@ianchan2624 3 жыл бұрын
cool video dude!
@lucassousa9201
@lucassousa9201 4 жыл бұрын
What a great video! Thank you very much for this. You've got an amazing voice, by the way hahaha
@TopQuark
@TopQuark 4 жыл бұрын
Thank you. I'm trying to get back into a semi-regular uploading schedule again, as opposed to a year between videos (which even CGP Grey would raise an eyebrow at).
@shahidzia4365
@shahidzia4365 3 жыл бұрын
mashallah.
@Joangelis
@Joangelis 2 жыл бұрын
great video
@arcticspacefox864
@arcticspacefox864 3 жыл бұрын
Thank you very good explaination
@AW-xj4un
@AW-xj4un 2 ай бұрын
Excellent description of something that was born of laziness and incompetence.
@jonathanwalther
@jonathanwalther 5 жыл бұрын
Immediate subscription!
@charlesbyrne5594
@charlesbyrne5594 3 жыл бұрын
The most expensive firework in history!
@greggb557
@greggb557 5 жыл бұрын
Pointy end.. wait, boom!!
@alexfigueroa9993
@alexfigueroa9993 2 жыл бұрын
I don't know why this was recommended from YT but, wow!
@MichaelPohoreski
@MichaelPohoreski 2 ай бұрын
@2:10 Standard *2's complement* means negative values have the sign bit *set* so -1 is 1111 1111 1111 1111, and -32768 is 1000 0000 0000 0000.
@karlmahlmann
@karlmahlmann 3 жыл бұрын
Very well explained. So sad.
@waqarmehdi4394
@waqarmehdi4394 4 жыл бұрын
Inadvertently I am watching this on a 4th of June 24 years later.
@WrathofArminius
@WrathofArminius 3 жыл бұрын
Let’s just pray 🙏 that this doesn’t happen in November when they use this rocket for the James Webb 🔭
@jarvis7472
@jarvis7472 2 жыл бұрын
Its one of the most reliable rockets in service with about 80 succesfull launches is a row. But I'm still scared as hell for the launch.
@WrathofArminius
@WrathofArminius 2 жыл бұрын
@@jarvis7472 no, I know. I’m just saying. I’m half empty kinda guy I guess. Lol. I would literally cry if something goes wrong. Seriously excited about this. For years. Anyways, it’ll be perfect. Of course it won’t happen.
@thomasgreiner1646
@thomasgreiner1646 6 ай бұрын
Arianespace used the Ariane 4 on board computer with hardly any modifications. This meant they had not calculated for the extreme vibrations with hugely more powerful rocket system the on board computer shut down because of vibration overload. Mission control decided reluctantly to destroy L501 before any other catastrophe (the launch path is eastwards over the mid Atlantic and Gabon, Africa). Sadly a ten year project from ESTEC the 4 Cluster satellites were on board (for measuring the Magnetosphere) The Ariane 5 was designed with much more powerful boosters and Vulcan thruster for human (heavier) space equipment launching but of course there was no one interested after the disaster. Shit happens...
@mark__whitfield
@mark__whitfield Жыл бұрын
My wife hates it when I run out of bits
@andersmusikka
@andersmusikka 4 жыл бұрын
Were negative integers coded that way in the Ariane computer? Seems very unusual - most computers use two's complement representation.
@Hammer_Games
@Hammer_Games 4 жыл бұрын
yep, floats are not saved that way... there is one bit which decides if the number is positive or negative. and value is then a simple binary to decimal conversion... this would make the rocket fall either :D
@andersmusikka
@andersmusikka 4 жыл бұрын
@@Hammer_Games I'm thinking about the table shown at 2 minutes. It seems to be showing integers, encoded in a very interesting and unusual way!
@Hammer_Games
@Hammer_Games 4 жыл бұрын
@@andersmusikka Me too. I believe it was encoded in the usual way, just the author of the video made it wrong. Because there are a 15-bit value and 1 bit of sign. You decode it very easily, it might vary if the sign is the first or last bit... but overall surely 0x16 is not int16.MinValue :) Because what makes any number are bits in binary order and so 16x0 is 0... It could also be a big-endian or small endian. Means that bits could be written from start rather the end... I am not sure how "OS" for this was written, but still, this would make no sense.
@TopQuark
@TopQuark 4 жыл бұрын
Well spotted both. I didn't want to go TOO deep on the different ways to do integers, so I just did a simple thing ... knowing that people who know about such things might go 🤔
@alanomuyaku7445
@alanomuyaku7445 2 жыл бұрын
Wow!!
@jamskinner
@jamskinner 7 ай бұрын
Why convert from float to int anyway? And why only a 16 bit int? How old is this hardware?
@waldoppen
@waldoppen 3 жыл бұрын
How does something this important get so far down the launch process without being noticed...?
@TopQuark
@TopQuark 3 жыл бұрын
Hindsight makes it obvious. When you have a large team working on something, it's *really* hard to make sure Group A knows to ask all of the questions about the bit of the code that Group B worked on. It simply never occurred to Group A that there might even be a problem ... until there was.
@errrzarrr
@errrzarrr 3 жыл бұрын
@@TopQuark couldn't explain it better myself.
@RockinRob2258
@RockinRob2258 Жыл бұрын
@@TopQuark This is also where good system design is key. Something like Leveson's System Theoretic Process Analysis (STPA) method. Notice, the individual software components or systems containing software didn't fail, but the interaction between two systems was bogus and caused the failure.
@SomeRandom6uy
@SomeRandom6uy Жыл бұрын
Thank GOD James Webb telescope survived the launch.
@orlovskyconsultinggbr2849
@orlovskyconsultinggbr2849 2 жыл бұрын
Yeap, i will use it in my client presentation of not doing requirements engineering
@Ramdomdude-mt4sw
@Ramdomdude-mt4sw Жыл бұрын
im studying for my software engineering exam, very funny and interesting video thanks
@aseemsameer7281
@aseemsameer7281 6 ай бұрын
There are some things terribly wrong mentioned in this video. The system did not shut down after calculating the integer overflow. It simply gave an error message. Why would a system shut down if it's software produces an exception? It's against software design fundamentals. Also, we don't need a handling mechanism for the guidance system to handle errors, we either need the main computer to simply support 64 bit integers and not correct itself when guidance system goes down. Lastly, there is no 'freaking out' in software. It's either 1 or 0.
@TopQuark
@TopQuark 5 ай бұрын
Thanks for your comments, though I think you're overstating a bit these "terribly wrong" issues. First, the official report on the accident states that the errors encountered caused once of the guidance computers to shut down - this was a programming decision built into the system, and while you say it's against programming fundamentals, it was clearly part of the coding culture at the time. Your second point: it's easy to say what would have made this problem go away in retrospect. That these things weren't done at the time IS THE WHOLE POINT. Finally, "Freaking out" is my shorthand for those 1s and 0s not working out properly and things going badly wrong. So anyway, thanks for watching, and for being interested enough to throw some comments in.
@waqarmehdi4394
@waqarmehdi4394 4 жыл бұрын
We see an example where 1 sec could cost you billions and years of accumulated hard work and intellectuality.
@sequalsr2550
@sequalsr2550 3 жыл бұрын
Thats what REAL BAD LUCK IS LIKE BOIS
@rty1955
@rty1955 3 жыл бұрын
Sounds like Microsoft coders work. Thier motto: "get it off your desk, let the users make you aware of a bug." Typical kiddie coders.
@agirlindenial8752
@agirlindenial8752 Жыл бұрын
lol
@alexandruandru455
@alexandruandru455 3 жыл бұрын
So eventually the error was not the integer overflow but the fact that the code designed for launchpad alignment (where the velocity would obviously not cause overflow) ran longner than supposed.
@jamskinner
@jamskinner 7 ай бұрын
The overflow is a problem if there is no way to handle it. Exceptions typically cause execution to end unless handled by some error handling code.
@letmetlo
@letmetlo 2 жыл бұрын
This video is very funny and sad at the same time
@Blaze_0101
@Blaze_0101 5 ай бұрын
Does the computer inside rocket has permission to self destruct itself when it is in danger? If is it so then the precious satellites or any other important thing that that the rocket was carrying can be forcefully ejected like pilots in fighter jet do to save time and money right?
@YagamiAckerman
@YagamiAckerman 7 ай бұрын
A type-conversion bug.
@nurulamaliaramadhani9591
@nurulamaliaramadhani9591 10 ай бұрын
Was there a ethics that was violated in that case?
@zandvoort8616
@zandvoort8616 2 жыл бұрын
Wasn’t the guidance system designed and built by the U.K.?
@ignatiusjk
@ignatiusjk 2 жыл бұрын
Yea that's what I was thinking.
@madkea4807
@madkea4807 4 ай бұрын
Great comedy! Great EXPENSIVE comedy. I can keep laughing as no lives were lost, right
@crispybacon9917
@crispybacon9917 Жыл бұрын
So, it was only 1 second off not blowing up? Tragic
@lokesh303101
@lokesh303101 2 жыл бұрын
1996.
@stag3t-muspsa910
@stag3t-muspsa910 3 жыл бұрын
IM SITTING HERE SCRATHING MY HEAD.......🤔🤔
@randomdude4411
@randomdude4411 Жыл бұрын
Rocket science is more easier than programming
@-learningastronautics-astr3753
@-learningastronautics-astr3753 2 жыл бұрын
Soy el único que me que le pasó que al encontrar el título en ESPAÑOL, esperaba oír un video EN ESPAÑOL???
@jgmccabe
@jgmccabe 2 жыл бұрын
I'm sure this has been addressed, but the bit about "the original programmers decided to keep that bit of code running for 40 seconds after the scheduled lift-off" is a bit of a red herring. The code that was reused was written that way for Ariane 4, but it was management that decided to cut costs by not testing the whole Ariane 5 system in a safe, simulated environment (because, as mentioned, the code had worked perfectly well before) where the "continues running after lift-off but 1. shouldn't, 2. doesn't need to, 3. causes problems" issue would've been found.
@apolloskyfacer5842
@apolloskyfacer5842 2 жыл бұрын
So it was management cutting costs who were really to blame for this disaster. Did they get the guillotine outa storage ?
@Naufal-Bagas
@Naufal-Bagas 4 ай бұрын
keren mas
@mervynsands3501
@mervynsands3501 3 жыл бұрын
A monumental oversight that should have been foreseen. How foolish is that.
@eduardosalvadornoriega4387
@eduardosalvadornoriega4387 3 жыл бұрын
All because they forgot a semi colon
@551taylor
@551taylor 2 жыл бұрын
Oops!
@apolloskyfacer5842
@apolloskyfacer5842 2 жыл бұрын
So it was management cutting costs who were really to blame for this disaster. Did they get the guillotine outa storage ?
@alextan8924
@alextan8924 2 жыл бұрын
Payload is lost
@sourabhjagtap4950
@sourabhjagtap4950 Жыл бұрын
And that's why exception handling is necessary
@jamskinner
@jamskinner 7 ай бұрын
Probably built before exception handling was built into the language.
@johanrosenfeld3153
@johanrosenfeld3153 2 жыл бұрын
Bonsoir à tous, Johan, ne t'inquiète pas, il y aura un nouvel agenda des lancements d'Arianespace 1996-1997 qui seront les suivantes: 10/09/96 Vol 91 Ariane 42 P Lanceur L462 ECHOSTAR 2 13/11/96 Vol 92 Ariane 44 L Lanceur L463 ARABSAT 2B & MEASAT 2 30/01/97 Vol 93 Ariane 44 L Lanceur L465 GE-2 & NAHUEL 1A 28/02/97 Vol 94 Ariane 44 P Lanceur L464 INTELSAT 801 16/04/97 Vol 95 Ariane 44 LP Lanceur L467 BSAT-1A & THAICOM 3 03/06/97 Vol 97 Ariane 44 L Lanceur L468 INMARSAT- 3F4 & INSAT -2D 25/06/97 Vol 96 Ariane 44 P Lanceur L466 INTELSAT 802 08/08/97 Vol 98 Ariane 44 P Lanceur L469 PAS 6 Merci cordialement, Johan.
@cryptomonkey6142
@cryptomonkey6142 3 жыл бұрын
Oops
@jimdailey1018
@jimdailey1018 3 жыл бұрын
You lost me but I'll bet that was a very bad day for a bunch of people.
@TopQuark
@TopQuark 3 жыл бұрын
When the pointy end isn’t going upwards, it’s a bad day
@NJTDover
@NJTDover 3 жыл бұрын
4:26 the cat rang Elon Musk for some tips but unfortunately his mobile was engaged. Poor puss lost all hope and bought the farm.
@muhammadrehan6241
@muhammadrehan6241 3 жыл бұрын
Dekhli video kar li tyaari quiz ki??? #uog
@heroiheroi1812
@heroiheroi1812 3 жыл бұрын
Kya Samjh Ai Aapko? Aor Sir Kya Sawaal Pooch Sakte?
@leandro842
@leandro842 5 жыл бұрын
Stupid error.
@nilakshguleria2449
@nilakshguleria2449 2 жыл бұрын
This happens when everyone is positive thinker.
@kcageek7140
@kcageek7140 4 жыл бұрын
Des français ?je suis tout seul
@maximilianhohl412
@maximilianhohl412 3 жыл бұрын
Oh man this is so terrible and sad I'll never complain about debugging again
@TopQuark
@TopQuark 3 жыл бұрын
I know, right? Nothing exploded when I got some FORTRAN code wrong during my physics research in the olden times. OK, other than my head, maybe.
@kyokogodai-ir6hy
@kyokogodai-ir6hy 3 жыл бұрын
What does anyone involved care? They got paid. SMH
@miquelcalafellestarellas1226
@miquelcalafellestarellas1226 4 жыл бұрын
F
@jesusramirez000
@jesusramirez000 2 жыл бұрын
For some reason I feel like esa is almost always having this type of issues
@casey2979
@casey2979 3 жыл бұрын
"datter"
@ronliebermann
@ronliebermann 3 жыл бұрын
The explosion of this rocket was a shame, I remember when it happened. But this failure was caused by human error, not by a line of code. If you watch the video, you’ll note that they don’t give the names of the men who were involved. They carefully attribute everything to “machines”. According to communist ideology, governments are supposed to omnipotent, so they can never admit to a mistake. Therefore government employees must never be blamed for incompetence, or wrongdoing. This video was a snow job to direct attention away from the real cause of the accident: Idiots who didn’t know what they were doing.
@rolletroll2338
@rolletroll2338 2 жыл бұрын
"According to communist ideology" what the hell are you talking about?
How Europe Designed and Evolved The Ariane Rocket Over Last 4 Decades
13:22
Launch sequence of an Ariane 5
17:01
Reflective Layer
Рет қаралды 12 М.
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 8 МЛН
He sees meat everywhere 😄🥩
00:11
AngLova
Рет қаралды 10 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 112 МЛН
Ariane Launch failure
10:05
Ian Sommerville
Рет қаралды 25 М.
Why Does SpaceX Use 33 Engines While NASA Used Just 5?
19:02
Curious Droid
Рет қаралды 526 М.
The Largest Rocket Never Launched
5:03
Primal Space
Рет қаралды 2 МЛН
The Computer Bug That Almost Ended The World | The Y2k Debacle
15:53
NationSquid
Рет қаралды 2,5 МЛН
Europe Retires Ariane 5 Before Ariane 6 Is Ready????
9:45
Scott Manley
Рет қаралды 174 М.
Why Is It So Hard to Stop Meltdowns?
13:37
AtomicBlender
Рет қаралды 754 М.
The Space Shuttle Challenger Disaster Explained
6:57
Mr. Beat
Рет қаралды 456 М.
NASA's Dream Chaser Space Plane Is Finally Complete!
12:11
The Space Race
Рет қаралды 361 М.
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 8 МЛН