Spirit 'Will Be Perfect Again' 331
G. Holst writes "NASA technicians are preparing to wipe Spirit's flash memory clean of science and engineering files that have stymied its software. The fix, likely to be made Friday, could completely restore Spirit. "I think it will be perfect again," says the Mission Manager. Chalk this one up for earth!" There are numerous stories about Spirit and Mars: one describes being careful with rm -rf. Reader Tablizer sends in an interesting site: "I discovered Bill Momsen's website where he describes his experiences working on the first successful photographic mission to another planet: Mariner IV to Mars."
Repeat? (Score:5, Insightful)
Re:Any theories on what caused the corruption? (Score:5, Insightful)
On another note, does anyone know exactly what they're deleting here? While I understand that they need to get this mission underway, is there a chance they could lose valuable mission or navigational information?
Re:My question (Score:5, Insightful)
Re:Any theories on what caused the corruption? (Score:2, Insightful)
Backup ROM? (Score:2, Insightful)
Re:My question (Score:5, Insightful)
Another thing that surprised me is that if the flash had been broken, all data had to be uploaded before the rover went to sleep.. every modern PC can continue to refresh it's DRAM while sleeping. Why can't spirit? Maybe a feature to consider on future missions?
Re:Early Spring Cleaning? (Score:4, Insightful)
Why delete, when you still have room on the flash and you *just* might need that file later...
Of course they then found out that their filesystem handler borks out way before the flash is actually filled up, and that almost bought the whole show to an end... Software QA testing failure in my books, but they seem to be recovering from the fumble pretty well...
Re:My question (Score:5, Insightful)
VXWorks is not that bad (I use it on almost a daily basis). Every single OS has its problems. Before we all go and start calling VXWorks or Spirits software a crappy piece of code, you have to understand what goes into writing space qualified software.
This is not some thing you hack together over the weekend. In fact something you wrote for a space system over the weekend would be tested over a period of months and possibly even years depending on the criticality of the code. We're talking life critical system testing here. That means all paths for you code heads out there.
That said, even when you hit rubber to the road, there are always unexpected situations. Something that you didn't anticipate, a bug that made its way through under circumstance x. Hands up for everyone here who has written a complex bug free system right out of the gates. Anywone who just lifted their hand does not understand what a complex system is or a bug. Though stuff that flies tends to be pretty darn close to bug free.
We are dealing with many complex unknowns when we land something on another planet.
VXWorks is actually very popular with the space program. It's not perfect but neither is Linux (though someday it will be right
Trust me, the software running on the rover is not crappy. In fact, the fact they can bring it back to life like they did says a lot.
Re:My question (Score:3, Insightful)
Yes modern PCs have all of these wiz bang features but let me ask you this... would you want to be on an airplane where it's fly by wire system was controlled with your PC? No probably not.
Systems that fly and are life critical (yes there is no one on it, but space systems are held to that standard) cannot have a bunch of wiz bang features on board. The more you add, the more potential for failures. So you try to mitigate your risks as much as possible. You can't go out there to simply tweak the chip that failed because it got zapped by radiation as it was heading over to Mars.
Re:My question (Score:5, Insightful)
Which is a reminder to always test the boundary conditions, no matter how ridiculous they may seem. If it is possible to have that many files, then the regression test scripts should generate that many files during testing.
At least it's fixable.
Re:Courageous engineers! (Score:2, Insightful)
Re:Mars Rover (Score:2, Insightful)
Re:Any theories on what caused the corruption? (Score:2, Insightful)
It also probably waited a while to be launched, and it took seven months just to get there.
Re:Any theories on what caused the corruption? (Score:4, Insightful)
Tim
Re:VxWorks memory, embedded protection (Score:3, Insightful)
Garbage, a well designed system would reboot in the middle of thrusting, without affecting the system at all; except maybe anything that was supposed to happen during the reboot would have to wait till after the reboot.
And if a pacemaker didn't kick the heart once- the patient is dead? No. The pacemaker is there to keep the heart running at a particular (often faster) rate, not keep the patient alive, second by second.
I mean, very few computer systems are real-time critical 100% of the time.
And having memory protection only costs you maybe 3% of run speed, but on the plus side, it allow you to find bugs- really nasty bugs 'memory tramplers' for example- that can corrupt the whole system- and you never quite know what that corruption would do- it could do anything at all. Anything.
Re:VxWorks memory, embedded protection (Score:5, Insightful)
That's false reasoning.
1. No practical software is bug-free.
2. Testing is never complete.
3. People make mistakes, even during testing.
4. Spirit broke down.
It makes sense, when building a robust system, to do rigorous testing AND have the memory protection.
VxWorks obviously has a brilliant team of brainwashers^Wsalesmen because they've convinced you that you don't need a feature they don't offer. Perfect!
Re:VxWorks memory, embedded protection (Score:3, Insightful)
Absolutely. While building it.
I forgot, this is slashdot, where VxWorks is the eternal enemy, and second-guessing actual rocket scientists is the national sport.
IIRC, memory protection was removed from the early versions by popular request, because the cost was too high. Clearly not everyone out there agrees with the opinions stated by sibling posts to yours.
Me, personally, I don't give a rat's ass one way or the other. (I don't use VxWorks, and haven't had a single segfault in any of my code since I stopped using C.) I just dislike seeing the groupthink mentality defended so vigourously, thus my initial post.
Re:Going around JPL (Score:3, Insightful)
"Watch and pray, that ye enter not into temptation: the spirit indeed is willing, but the flesh is weak."
Re:Our bench is killing us (Score:3, Insightful)
The reality of the situation is, first string (Russia) is all tied up doing manned missions, so they have delegated the robot probes to the second string (usa). This is mostly due to the little detail, second string has no operational man rated vehicles to work with....
Not quite sure how China plays in yet, but, they also have a manned program these days, so, second place is actually up for grabs, the robot probes may soon have to take the third bench....
Skirt-cam! (Score:1, Insightful)
First skirt-cam? Geeks never change.