Therac-25: O Erro de Software Mais Macabro da História

Therac-25: O Erro de Software Mais Macabro da História

O Dia em que um Raio Invisível Queimou uma Mulher por Dentro: A Verdadeira História do Therac-25, o Erro de Software que Matou Pacientes e Mudou a Medicina para Sempre. Pensa só: você tá deitada na maca de um centro de oncologia super moderno, no dia 3 de junho de 1985, no Kennestone Regional Oncology Center, em Marietta, na Geórgia. É a sua décima segunda sessão – ou quase a última, como você acha. O câncer de mama já foi tirado com sucesso meses antes, um nódulo na esquerda removido direitinho.

Agora, só falta uma dosezinha de radioterapia nos gânglios pra garantir que nada volte. A máquina? O Therac-25, o último grito da tecnologia, recém-chegado ao hospital. Totalmente controlada por software, capaz de disparar radiação com precisão cirúrgica, 100% confiável. Pelo menos era o que todo mundo jurava.

Aí o operador aperta o botão. E, em vez de um zumbido suave, Katie Yarbrough – uma manicure de 61 anos que só queria voltar pra vida normal – sente um calor absurdo, como se um ferro em brasa tivesse atravessado o peito dela. Ela grita desesperada: “Você me queimou!”. O técnico entra correndo, olha pra ela e fala com aquela cara de quem tá acostumado com paciente nervoso: “Impossível. Isso não acontece”. Fazem exame na hora. A pele tá quente, sim, mas nada de queimadura visível. “Deve ser psicológico”, concluem. Mandam ela pra casa. Dois semanas depois, o inferno começa de verdade.

A pele fica vermelha, depois inchada. Um buraco começa a se abrir no peito e sai do outro lado das costas – literalmente um túnel de radiação queimando tudo no caminho. A carne necrosa, apodrece. Tentam enxerto de pele saudável, mas o tecido novo morre também. O ombro dela trava, o braço esquerdo fica paralisado, só dá espasmo. Dor constante, 24 horas por dia. Os médicos calculam depois: ela recebeu entre 15 mil e 20 mil rads numa área do tamanho de uma moeda de um centavo. A dose certa? 200 rads, no máximo. Acima de mil, já pode matar se espalhar pelo corpo todo. Katie processou o hospital e a fabricante, a Atomic Energy of Canada Limited (AECL), em outubro de 1985. Morreu em 1990 num acidente de carro, mas carregou aquelas sequelas até o fim. E o pior de tudo? Esse não foi um erro isolado. Foi só o começo de uma sequência macabra que virou o maior desastre de software na história da medicina.

Cara, o Therac-25 não era qualquer máquina. Lançado no começo dos anos 80 pela AECL (em parceria com uma empresa francesa), ele era o sonho de todo hospital: compacto, rápido, versátil. Usava um acelerador linear duplo que transformava elétrons em raios X com um simples giro de um disco giratório – o famoso turntable. Antes, você precisava de duas máquinas separadas. Essa aqui fazia tudo num pacote só, economizando uma fortuna. “A mais avançada do mundo”, diziam os panfletos. Totalmente por software, rodando num computador PDP-11 antigo, daqueles de minicomputador. Sem muitos freios mecânicos de segurança, porque “o código cuida disso”. Confiável em 100%, segundo a fabricante. Até que caiu pra zero.

O bug que matou gente? Uma coisa chamada race condition – basicamente, uma correria no código onde duas tarefas brigam pelo mesmo pedacinho de memória ao mesmo tempo. Imagina um trânsito caótico: o operador digita “X” pra modo raio X (que usa corrente altíssima e um alvo de tungstênio pra espalhar o feixe), mas muda rapidinho pra “E” (elétron, pra tumores superficiais, com corrente baixa). Se fizer isso em menos de 8 segundos, o software não atualiza tudo a tempo. O disco giratório fica na posição errada, o feixe de elétrons de 25 milhões de elétrons-volts sai pelado, sem filtro, sem espalhamento, concentrado num pontinho. Bum. Dose cem vezes maior do que devia. E o pior: os sensores de dose (câmaras de ionização) saturam e mostram “dose baixa” na tela. A máquina acha que tá tudo bem e deixa continuar.

Tinha outro bug também, no contador de classe 3: um byte que incrementava a cada ciclo. A cada 256 vezes, ele zerava sozinho e pulava a checagem de posição do colimador. Acontecia exatamente no modo de luz de campo, com o filme de posicionamento ainda lá dentro. Mais uma vez, feixe cru, overdose.

E sabe o que é mais absurdo? Esses bugs já existiam no modelo anterior, o Therac-20. Mas lá tinha intertravamentos mecânicos de hardware que salvavam a pele. Na versão 25, a AECL resolveu economizar e tirar a maioria desses freios físicos. “O software é confiável”, disseram. Um único programador escreveu quase todo o código em assembly, sem documentação direito, sem testes independentes. Reaproveitaram trechos antigos achando que “já funciona”. Resultado: seis acidentes conhecidos entre 1985 e 1987. Pelo menos três mortes diretas por complicações da radiação, mais ferimentos graves que destruíram vidas.

Depois de Katie, veio o segundo caso, em 26 de julho de 1985, no Ontario Cancer Foundation, em Hamilton, Canadá. Uma mulher de 40 anos, Frances Hill, tratava câncer cervical. A máquina parou depois de 5 segundos com erro “H-tilt”. O operador apertou “proceed” várias vezes. Ela sentiu queimação no quadril. Dose estimada: 13 a 17 mil rads. Hospitalizada, inchada. Morreu em novembro do câncer mesmo, mas a autópsia mostrou que o quadril dela tinha sido destruído – precisaria de prótese total se tivesse sobrevivido.

A AECL mandou engenheiro, culpou um microswitch defeituoso (aquele sensor que avisa a posição do disco). Mudaram o software pra “tolerar falha” e instalaram um pino extra. Mandaram carta pras clínicas dizendo que agora estava “cinco ordens de grandeza mais seguro”. Mentira. Ou, no mínimo, otimismo cego.

Terceiro caso: dezembro de 1985, Yakima Valley Memorial Hospital, Washington. Uma paciente com câncer cervical ganhou queimaduras em listras paralelas no quadril – exatamente o padrão das placas de bloqueio do feixe. A pele ficou com úlcera crônica, necrose por baixo, dor pra sempre. A AECL respondeu por escrito: “Impossível a máquina causar isso. Nenhum outro caso no mundo”. Os médicos acreditaram e continuaram usando.

Aí chegou 1986 e as coisas explodiram de vez no East Texas Cancer Center, em Tyler, Texas. Primeiro, 21 de março: Voyne Ray Cox, operário de petróleo, tratava tumor nas costas. O operador digitou “X” por engano, corrigiu rapidinho com a seta pra cima. Máquina deu “Malfunction 54” (um erro genérico que só dizia “problema”). O técnico apertou “P” pra prosseguir – hábito que todo mundo tinha, porque o erro aparecia o tempo todo por bobagem. Ray sentiu choque elétrico, bateu na porta gritando. Dose: 16 mil a 25 mil rads num pontinho. Paralisia total do braço esquerdo, pernas, diafragma, corda vocal. Morreu cinco meses depois, vomitando sangue, em agosto de 1986.

Quatro dias depois, 11 de abril: Verdon Kidd, motorista de ônibus, tratava câncer de pele no rosto. Mesmo operador, mesmo erro de edição rápida. Mesma “Malfunction 54”. Ele sentiu queimação, ficou confuso, entrou em coma. Morreu em 1º de maio – o primeiro óbito direto por overdose. Os médicos do hospital reproduziram o bug na frente da AECL: bastava digitar rápido. A empresa ainda demorou a acreditar.

O sexto e último: 17 de janeiro de 1987, de novo em Yakima. Glen A. Dodd, 65 anos, recebia dose de 79 rads no peito. O operador ajustou o disco no modo luz de campo, esqueceu o filme posicionador dentro. Apertou o botão. Máquina pausou, ele prosseguiu. Queimadura listrada no peito. Dose: 8 a 10 mil rads. Morreu em abril de 1987 das complicações.

Durante todo esse tempo, a AECL negava, negava, negava. “Impossível overdose”. “Problema elétrico”. “Operador errou”. Só depois do segundo caso em Tyler, em abril de 1986, eles admitiram pro FDA que talvez tivesse um glitch. Mas a primeira notificação oficial à agência americana só veio em 14 de abril – quase um ano depois do primeiro acidente. O FDA classificou como “defeituoso” em maio e exigiu um plano corretivo (CAP). A AECL mandou versões meia-boca: tiraram a tecla de edição pra cima, colaram fita isolante em contato, instalaram monitor de dose por pulso. Só em 1987, depois de pressão pesada, colocaram intertravamentos de hardware de volta, reescreveram partes do software, adicionaram checagens independentes.

Em fevereiro de 1987, o FDA mandou tirar todas as Therac-25 de serviço até consertar de verdade. Foi Class I recall – o nível mais grave, risco de morte ou lesão séria. A máquina foi retirada do mercado. A AECL dissolveu a divisão médica em 1988 e passou o serviço pra Theratronics. Processos foram resolvidos em acordos extrajudiciais. Números exatos de mortes? Pelo menos três diretas, mas o sofrimento de todos os seis pacientes foi real e devastador.

E as curiosidades que ninguém conta? O código era tão mal documentado que até engenheiros da FDA tiveram dificuldade pra entender. Mensagens de erro eram inúteis: só “MALFUNCTION XX” e um número. O operador nunca sabia o que fazer. Um bug específico envolvia o contador Class3 zerando a cada 256 ciclos – tipo um relógio que volta pro zero e esquece de checar se o disco tá certo. E o mais irônico: a AECL tinha feito análise de segurança em 1983 e simplesmente ignorou o software. Achavam que “programa não falha”.

Hoje, em 2026, esse caso ainda é estudado em todas as faculdades de computação e engenharia biomédica do mundo. Virou referência clássica em segurança de sistemas críticos. A FDA mudou as regras: agora software médico precisa de documentação completa, testes independentes, rastreabilidade. Surgiu a norma internacional IEC 62304, que obriga a tratar software como risco real, não como mágica infalível. Intertravamentos de hardware voltaram a ser obrigatórios em máquinas de radioterapia. Ninguém mais confia 100% em código sozinho.

Mas o legado mais pesado é esse: vidas destruídas por arrogância. A crença de que “computador não erra”. A lentidão em ouvir o paciente que grita “me queimou”. A empresa que prefere negar a investigar. Katie, Frances, Ray, Verdon, Glen e a mulher anônima de Yakima não foram estatística. Foram pessoas que entraram num hospital pra curar câncer e saíram com buracos no corpo, paralisia e dor eterna.

Se você tá lendo isso e pensando “nossa, como eu não sabia dessa história toda”, é exatamente o ponto. O Therac-25 não foi só um bug. Foi um alerta vermelho que a gente ainda usa hoje pra não repetir o erro. Porque, no fim das contas, por trás de todo software “perfeito” tem gente programando. E gente erra. O importante é não fingir que não erra – e colocar camadas de proteção pra quando isso acontecer.

Você começou lendo por curiosidade e agora tá aqui, no final, pensando: caramba, li tudo sem parar. Pois é. Essa é a história real. Sem maquiagem, sem censura. Porque a verdade, por mais feia que seja, é o que salva vidas no futuro.