How to Debug a Software Glitch from 141 Million Miles Away
As the old software saying goes, it costs less to get the code right the first time than to have to deal with bugs found down the road. And even though the Mars rover Curiosity has dealt with a couple of scares since landing on the red planet in April 2012, I think we can all cut NASA some slack. They’ve been able to update firmware and remove bugs from an enormous distance—and relatively quickly.
Curiosity’s latest glitch came in two waves. In February scientists were forced to switch the rover to a backup computer, and then only a week later, Curiosity went into safe mode after a memory issue was causing the rover to constantly reboot. The LA Times’ Amina Khan describes how the bug was detected and eliminated:
The rover has emerged from a weekend of safe-mode after engineers on the mission discovered a relatively minor glitch in the rover’s software, according to Mars Science Laboratory project manager Richard Cook -- one essentially corrected by simply deleting a file.
"It cost us a couple days," Cook said in an interview. "But it turned out to be something we understood very easily so we were able to recover very quickly."
A couple of days of downtime may not sound ideal but is certainly permissible when you think that it took Curiosity more than eight months just to reach its destination. Being able to make changes to the hardware, and software, across time and space is pretty remarkable.
Just the software and engineering required to get Curiosity to its destination is hard to comprehend; controlling the craft after it landed is even more difficult.
Any downtime is costly, and with a project cost at $2.5 billion, the need to remove Curosity’s bugs quickly is an understatement. If the monetary reasons weren’t enough, NASA has worked quickly to remove bugs in Curiosity to avoid losing contact with it forever, as they did with Spirit in 2010. Next month, a planetary alignment will hinder NASA’s ability to communicate with Curiosity, and software repairs could be impossible.
And we complain when Skype gets spotty.