Em 22 de julho de 1962, um foguete Atlas-Agena lançou uma espaçonave do Cabo Canaveral com destino a Vênus. Duzentos e noventa e três segundos depois, um oficial de segurança enviou o comando de destruição. O foguete e a sonda presa ao seu nariz caíram sobre o Atlântico. A razão, depois que os investigadores juntaram as peças, passou de uma linha de código diretivo para um único sinal de pontuação – um sinal tão pequeno que Arthur C. Clark escreveu em seu livro seis anos depois A promessa do espaçoEle vai ligar O hífen mais caro da história.
A Mariner 1 foi considerada o primeiro sucesso interplanetário da América. Em vez disso, tornou-se o erro de digitação mais famoso da história dos voos espaciais.
O que Rocket estava fazendo quando morreu?
A Mariner 1 foi o primeiro passo da NASA numa corrida planetária com a União Soviética. O programa Venera já havia tentado chegar a Vénus em 1961 e falhou. Ambas as superpotências apontavam agora instrumentos para o segundo planeta a partir do Sol, na esperança de responder a uma pergunta simples: a superfície era quente, fria, oceânica ou algo estranho? A série Mariner foi projetada pelo Laboratório de Propulsão a Jato em Pasadena para descobrir.
O veículo de lançamento era um impulsionador Atlas com um estágio superior Agena. A orientação durante a fase Atlas depende de um sistema de radar terrestre que rastreia a posição e velocidade do foguete e faz correções por meio de um link de rádio. O computador que executava esse cálculo estava na Flórida. O código que o faz funcionar foi transcrito manualmente a partir de equações escritas por engenheiros do JPL.
Em algum lugar dessa transcrição falta um símbolo.
Overbar que não estava lá
As equações que governam a velocidade suave do foguete contêm uma variável – geralmente escrita como R com uma barra desenhada para cima. Esse overbar era uma abreviatura matemática. Isso diz ao computador para usar um valor médio de R, suavizando flutuações pequenas e erráticas de qualquer sinal de radar do mundo real. Sem a barra, o código dizia ao Rocket para responder a dados brutos e suavizados.
O resultado foi um sistema de orientação que tratava cada pequeno tremor no sinal de rastreamento como um desvio real do caminho e tentava corrigi-lo. como A própria página de missão da NASA reconhece issoA omissão de uma barra superior para o símbolo R (raio) em uma equação fazia com que o programa não respondesse conforme planejado. O foguete começou a mexer o nariz para combater a deflexão fantasma que só existia na matemática.
Algumas recontagens posteriores descrevem o símbolo ausente como um hífen. Outros o descrevem como sobrecarregado. A diferença é importante para programadores e compositores, mas o efeito é o mesmo. Um único símbolo, aproximadamente da largura de um traço impresso, estava faltando em uma linha de código. O foguete fez o que o código mandava.
O debate sobre a natureza exata do erro continua há seis décadas. As primeiras post-mortems da NASA e fontes de cobertura da imprensa descreveram o caractere ausente como um hífen na equação; Relatos técnicos posteriores o definem como uma barra superior, indicando uma função suave. Um hífen é pontuação. Uma barra superior é um operador aritmético. Mas os resultados históricos não são o que eram. O importante é que faltava uma pequena notação, presente na matemática original, no código que o computador realmente executou.
293 segundos
Atlas limpa a almofada de forma limpa. Nos primeiros minutos, a telemetria parecia nominal. Então, quando o sistema de orientação começou a emitir correções falsas, o veículo começou a se desviar da trajetória planejada. Os controladores terrestres viram a pista desviar para um rumo que poderia trazer detritos sobre as rotas marítimas do Atlântico Norte ou, na pior das hipóteses, sobre terras habitadas.
O oficial de segurança do estande tinha uma decisão a tomar e não tinha tempo suficiente para fazê-lo. UM 293 segundos após a decolagemEle pressiona o botão de destruição – seis segundos atrás o estágio superior do Agena estava programado para se separar, após o que o veículo não poderia mais ser destruído. Atlas explode. A Mariner 1 caiu no mar.
A espaçonave, que deveria ser o primeiro veículo tripulado a passar por outro planeta, durou apenas cinco minutos.
Preços e Frases
Custo da missão Mariner 1 US$ 18,5 milhões em 1962 – cerca de US$ 190 milhões na moeda atual. Um símbolo menor que um grão de arroz eliminou investimentos de nove dígitos.
Arthur C. Clark, escreveu sobre o incidente A promessa do espaço Em 1968, deu-lhe a frase que seguiria para sempre. como Resumo do Reader’s Digest dos erros de digitação mais caros do mundo Observe que o escritor de ficção científica chamou a pontuação ausente de “o hífen mais caro da história”. A linha pegou porque era verdadeira em espírito, mesmo quando estava ligeiramente errada em detalhes técnicos.
Dezenas de recontagens citaram, citaram incorretamente e reconstruíram ligeiramente as palavras exatas de Clark. O traço comum – que uma única pontuação destruiu uma missão no valor de milhões de dólares – provou ser durável porque condensa algo verdadeiro da época em uma frase. A frase sobrevive em parte porque o número é incrível e em parte porque o culpado é muito pequeno.
Cada geração de engenheiros de software já ouviu falar do Mariner 1 de uma forma ou de outra. Não por causa da tristeza. A razão é que o fracasso revela algo que permanece verdadeiro, não importa quão sofisticado seja o ferramental: a lacuna entre uma equação matemática e sua tradução funcional é um lugar onde missões inteiras podem desaparecer.
Um pedido para suavizar uma barra no caderno do físico. Em uma pilha de cartões perfurados, ou em uma linha de código de máquina transcrito à mão, essa barra superior deve ser representada por certos caracteres ou regras. Se o transcritor e o compilador não compartilharem a mesma ideia do que aquela letra significa, ou se ela for simplesmente deixada de fora, então a matemática no papel e a matemática executada tornam-se matemáticas diferentes. Nada avisa você. O foguete simplesmente voa errado.
Mais tarde, os investigadores identificariam pelo menos dois erros contribuintes – uma barra superior ausente na função de suavização e um erro de hardware separado no Atlas que fez com que a antena de orientação perdesse o bloqueio do radar. Erros de hardware são recuperáveis se o código suave estiver correto. O código de suavização teria sido irrelevante se o erro de hardware não tivesse ocorrido. Foram necessários ambos para encerrar a missão. Com várias contas Um resumo dos principais bugs de computador no Mental FlossDescreva esta falha composta – um erro de hardware que seria explorado sem incidentes em linhas de código escritas corretamente.
O legado direto do fracasso foi sistêmico. A NASA e seus contratados começaram a tratar a revisão de código e a tradução de equação para código com um rigor que parecia excessivo em 1962. A verificação independente de matemática escrita à mão tornou-se o padrão. A ideia de que a digitação de um único engenheiro poderia afundar uma missão não era mais especulativa. No longo prazo, o fenômeno tornou-se um ponto de ensino em programas de engenharia de software, citado em palestras sobre os riscos da tradução manual entre engenharia de requisitos, verificação formal e apresentação.
Mariner 2 e segundas chances
A NASA tinha um backup. Esta era uma prática padrão nos primeiros programas planetários – construíam-se duas naves espaciais, lançavam-nas separadamente e esperava-se que pelo menos uma sobrevivesse. A Mariner 2, assim como sua irmã gêmea perdida, foi lançada cinco semanas depois, em 27 de agosto de 1962.
Funcionou. A Mariner 2 passou por Vênus e se tornou a primeira espaçonave a retornar com sucesso dados de outro planeta. O seu radiómetro de micro-ondas confirmou que a superfície de Vénus era surpreendentemente quente, matando a última esperança séria de que Vénus pudesse ter um gémeo quente e húmido da Terra por baixo das suas nuvens. como Relato da WIRED sobre o encontro do Mariner 2 Narrativamente, a missão reescreveu a compreensão humana do sistema solar interior num único sobrevôo.
O hardware da Mariner 1, alguns quilos de detritos no fundo do mar Atlântico, completou efetivamente a sua missão através do seu irmão. Mas a história do símbolo desaparecido já havia entrado no folclore da computação.
o restante
Em algum lugar sob o Atlântico, algumas centenas de quilômetros a leste do Cabo Canaveral, está um fragmento de uma espaçonave que voou por menos de cinco minutos. O estágio Agena, o booster Atlas, a estrutura de alumínio do Mariner 1 – tudo caiu em julho de 1962 e está lá desde então. Ninguém tentou recuperá-lo. Não faria sentido.
A missão que deveria voar foi realizada cinco meses depois por outra espaçonave. Os dados que deveria retornar foram retornados muitas vezes por outras sondas – Venera, Pioneer Venus, Magellan, Akatsuki. O dano científico foi, em última análise, pequeno. Vênus foi paciente. Vênus ainda está lá.
O que sobreviveu foi a frase. O hífen mais caro da história. Uma frase curta o suficiente para ser lembrada, precisa o suficiente para doer e verdadeira o suficiente – mesmo em seus pequenos erros técnicos – para continuar a ser repetida em salas de aula e revisões de código sessenta e quatro anos depois de um foguete cruzar o Atlântico em uma manhã de verão em 1962.


