Bij de EE Times is een artikel verschenen waarin wordt uitgelegd waarom eind vorige maand het contact verloren werd met de Mars Rover en wat de NASA gedaan heeft om het probleem op te lossen. Kort samengevat was de oorzaak van de crash een gebrek aan geheugen. De rover is in totaal uitgerust met 128MB RAM-geheugen en 256MB flashgeheugen. Van de 256MB flashgeheugen wordt circa 230MB gebruikt om databestanden, zoals foto's, op te slaan om verstuurd te worden naar aarde. Foto's en dergelijke blijven bewaard in het geheugen totdat er van aarde signaal komt dat het bestand succesvol ontvangen is. Deze beveiliging tegen gegevensverlies en een brakke afhandeling van geheugenallocatiefouten werden de Mars Rover bijna fataal.
Al vlak na de lancering van de Spirit werd het besturingssysteem geüpgrade naar een nieuwe versie. Het resultaat was dat er verschillende bestanden in het flashgeheugen achterbleven die niet meer nodig waren. Op de vijftiende dag op Mars werden er een tweetal programmaatjes naar de Spirit verstuurd om deze troep op te ruimen. Eén van deze twee programmaatjes werd echter niet succesvol ontvangen waardoor er bestanden bleven staan. Hier werd geen rekening mee gehouden door de berekeningen van NASA's data management team, waardoor een paar dagen later door de Spirit geprobeerd werd om meer geheugen te gebruiken dan er aanwezig was.
Het gevolg was een Mars Rover die geen signalen meer uitzond en slechts in een loop bezig was met rebooten. Gelukkig luisterde de Spirit nog wel naar commando's waardoor het team van de NASA in staat was om op de gok een serie low level commando's te versturen om een flink aantal bestanden te verwijderen. Vervolgens kon het bestandsysteem weer gemount worden en zonder problemen gebruikt worden na het draaien van een checkdisk programma. Om dergelijke problemen in de toekomst te voorkomen wordt door de NASA gewerkt aan een betere afhandeling van geheugenfouten.
