➶ How the smallest programming bugs can be catastrophic

From way back in 1996:

It took the European Space Agency 10 years and $7 billion to produce Ariane 5, a giant rocket capable of hurling a pair of three-ton satellites into orbit with each launch and intended to give Europe overwhelming supremacy in the commercial space business.

All it took to explode that rocket less than a minute into its maiden voyage last June, scattering fiery rubble across the mangrove swamps of French Guiana, was a small computer program trying to stuff a 64-bit number into a 16-bit space.

One bug, one crash. Of all the careless lines of code recorded in the annals of computer science, this one may stand as the most devastatingly efficient.

More links here, and the report of the inquiry into the incident is archived here.

A fascinating, and from a programmer’s perspective chilling, read. This is the stuff of nightmares — an apparently innocuous line of code causing an exception that leads to disaster!

∞

Guess why the Russian spacecraft failed…

Remember the Russian spacecraft—headed for Mars—that failed mysteriously recently not long after takeoff? There were a few suggested reasons for the failure—such as effects due to cosmic rays from the sun, and the result of exposure to US radars

Well, turns out the reasons were more prosaic than that–the craft failed due to a programming error! Two channels of the onboard computer rebooted simultaneously—which evidently they were not supposed to do.

Amazing how the most complex missions can be undone by relatively simpler errors—remember the NASA Mars mission that failed due to a mistake in the units used?