I've written about NASA's software woes on the Mars Rovers already this week, and in general the organisation's ability to fix bugs on systems millions of miles away is very impressive. Witness the continued science coming back from the Voyager spacecraft, which are by now two faulty and hugely outdated lumps of technology scootling away beyond the edge of the solar system. But they're still working, even if NASA has had to build computer simulations of the broken components in order to predict what the geriatric devices will do next.
But, um, why is Spirit so ill in the first place? Well, say the engineers, it's to do with the flash memory. It's got too many files. When you start the thing up in the morning, it tries to build a directory in RAM of the files in flash, and it won't fit. Y'see, it had been storing files for ages while it was cruising to the Red Planet, and nobody thought to delete them, and, well. You know how awkward it is when your disk is full and you run out of memory.
Amazingly, it seems nobody had tested for this: it happened eighteen days after the mission proper started, but they only ran the software for eight when they were debugging things. Now it's a bit awkward… nobody's saying too much, but it sounds like you can't delete files from the flash memory because you can't start up the filing system without it crashing. So they've got to try and manually delete a few files from a debugging script, but that's not running too well -- and at some point, they're just going to have to say blast it all, do the equivalent of FORMAT C:, and get on with some science.
You'll note they're not too worried about the other rover, Opportunity: again, the press conferences don't tend to say too much about this, but seeing as the filing system is running properly there I'd imagine there's no difficulty in deleting files before the build-up gets dangerous.
So, top marks for heroic rescue attempts: bottom marks for not spotting what is a bit of a standard gotcha. Let's get some close-ups of that rock garden, eh?