3 pontos por GN⁺ 2026-01-30 | 1 comentários | Compartilhar no WhatsApp
  • O servidor de e-mail do departamento de estatística de uma universidade dos EUA apresentou um fenômeno estranho: não conseguia enviar e-mails para locais a mais de 500 milhas de distância
  • A investigação mostrou que, durante uma atualização do SunOS, a versão do Sendmail foi rebaixada, e o arquivo de configuração deixou de ser compatível
  • Como o Sendmail 5 não reconhecia os nomes longos de opções de um arquivo de configuração feito para o Sendmail 8, vários valores padrão foram definidos como 0
  • Entre eles, o timeout de conexão SMTP foi definido como 0, fazendo com que todas as conexões remotas que levassem mais de cerca de 3 milissegundos falhassem
  • Como a latência de rede aumentava proporcionalmente à distância, o resultado foi um bloqueio no envio de e-mails para servidores a mais de 500 milhas de distância

O início do problema

  • O departamento de estatística recebeu um relato de que “não era possível enviar e-mail para lugares a mais de 500 milhas de distância”
    • Até 520 milhas funcionava, mas acima disso falhava
    • O chefe do departamento chegou a mobilizar um geoestatístico para montar um mapa do raio de alcance do e-mail, confirmando um raio de cerca de 500 milhas
  • O administrador de sistemas reproduziu o problema enviando e-mails de teste para várias regiões
    • Houve sucesso com Princeton, a 400 milhas, mas falha com Memphis, a 600 milhas
    • New York (420 milhas) funcionava, mas Providence (580 milhas) falhava

Análise da causa

  • O arquivo de configuração sendmail.cf do servidor parecia normal e havia sido criado manualmente pelo próprio autor para o Sendmail 8
  • Porém, ao verificar o banner da porta SMTP, ficou claro que quem estava em execução era o SunOS Sendmail 5
    • Durante o processo de patch do servidor, o sistema operacional foi atualizado e o Sendmail acabou sendo rebaixado da versão 8 para a 5
    • O arquivo de configuração existente permaneceu no lugar, mas o Sendmail 5 não reconhecia os nomes longos de opções do Sendmail 8
  • As opções não reconhecidas foram ignoradas, e os valores padrão desses itens foram reinicializados para 0
    • Em especial, o valor de timeout para conexão com servidores SMTP remotos ficou em 0, então as tentativas de conexão eram abortadas após cerca de 3 milissegundos

A relação entre distância e velocidade

  • Na época, a rede do campus era totalmente baseada em switches, com praticamente nenhuma latência de roteadores
    • Por isso, o tempo de conexão era determinado pela distância física (velocidade da luz)
  • Pelos cálculos, 3 milissegundos correspondiam a cerca de 558 milhas
    • Isso batia com o fenômeno relatado de “500 milhas ou um pouco mais”

Conclusão

  • A causa raiz do problema foi um erro de parsing da configuração causado por incompatibilidade entre versões do Sendmail
  • Como o timeout ficou configurado como 0, surgiu um fenômeno de rede que parecia impor um limite de distância física
  • O caso permanece como uma anedota clássica que mostra a importância da compatibilidade de versões e da validação de configurações na administração de sistemas

1 comentários

 
GN⁺ 2026-01-30
Comentários do Hacker News
  • Em meados dos anos 1990, havia um problema estranho em que os PCs do escritório não davam boot de manhã
    Descobriu-se que, todo inverno, um pequeno rato entrava pelo slot do disco rígido para se aquecer e urinava, causando curto-circuito no circuito
    Depois que o computador ficava ligado por um tempo e esquentava, secava e então era possível inicializar
    Mais tarde, compraram um sled de drive vazio para tampar o espaço, e o problema desapareceu completamente

    • Isso me lembrou a antiga história do sorvete de morango. Era aquela história de que, se o carro comprasse sorvete de baunilha, ligava, mas se comprasse de morango, não ligava
      Independentemente de ser real ou não, é interessante acompanhar o processo de rastrear esse tipo de problema
      Link relacionado
    • É engraçado pensar que era uma história literal de mouse de computador
    • Ratos conseguem entrar por qualquer buraco por onde passe um lápis
      Uma vez, já encontrei até um morcego pendurado no meu cabo CAT
      Se você deixar a janela aberta à noite, talvez isso também afete a largura de banda
      Como desenvolvedor, é preciso estar preparado até para situações absurdas como um erro de "Frog on Keyboard"
      Post relacionado
    • O meu mouse não faz esse tipo de coisa
    • Parece quase uma história sobre a origem do nome deadmau5
  • Acho que o fato de o presidente, no texto original, ter reunido as informações necessárias para resolver o problema não foi devidamente valorizado
    Sem esses dados, o autor provavelmente teria passado muito tempo procurando um problema de servidor totalmente errado
    Se você apenas disser “o e-mail não funciona assim”, da próxima vez ninguém vai fornecer dados, ou vai fazer suposições erradas

    • Eu também adoro muito essa história. Sempre penso em como seria bom se os usuários descrevessem as etapas de reprodução com esse nível de detalhe
    • Se os clientes fossem estatísticos e geoestatísticos, seria muito mais fácil coletar esse tipo de dado
    • Excelente comentário. Concordo totalmente
  • Este texto é um post clássico que voltou a fazer sucesso no HN ao longo de vários anos
    Foi repostado em diferentes momentos, como 2023, 2020 e 2015
    Versão de 2023, versão de 2020, versão de 2015

    • É por causa de textos assim que verifico o HN todos os dias há mais de 15 anos
      Ainda bem que não perdi desta vez. É uma lição para não perder a humildade
    • Como esse texto reaparece em ciclos longos, toda vez eu esqueço por que o e-mail não era entregue e acabo lendo de novo
    • Eu também estava montando uma lista, mas alguém já tinha postado
      No HN, um repost depois de cerca de um ano é aceitável, e é bom que clássicos reapareçam para os usuários novos
      Veja o FAQ do HN
      Também organizei junto links para várias versões relacionadas
    • Espero que algum dia surja um clássico atemporal assim sobre IA
      Acho que nessa época vamos poder rir enquanto depuramos erros de IA
    • Talvez daqui a alguns meses eu mesmo publique um texto assim
  • Ontem à noite, reproduzi um episódio de TV no VLC, e depois de uns 30 segundos a energia desligou
    Isso aconteceu três vezes no mesmo ponto, então achei estranho. Pensei se o próprio vídeo poderia ser a causa
    Lembrei do caso antigo em que um vídeo da Janet Jackson danificava discos rígidos
    E, para deixar tudo mais estranho, o episódio era Black Mirror S7E01
    Link de referência

    • O importante é saber se desliga exatamente no mesmo frame ou apenas mais ou menos na mesma parte
      Se for o segundo caso, é bem provável que seja um problema térmico
      Cada codec impõe uma carga de decodificação diferente, então uma determinada parte pode superaquecer o sistema
      Recomendo testar reproduzindo a partir de outro ponto ou pulando esse trecho
    • Uma fonte de alimentação antiga talvez não aguente a carga de decodificação
      Vale trocar a fonte ou converter o codec
      Ou também pode ser um arquivo alterado maliciosamente, então é preciso verificar a origem
    • Se descobrir a causa, por favor conte depois
  • Essa história parece uma versão hacker da anedota do speed check do SR-71 Blackbird
    É um clássico que eu releio toda vez que aparece
    Link relacionado

  • Lembrei do clássico “se você compra sorvete de baunilha, o carro liga; se compra de morango, não liga”
    Link da história

  • Histórias como “Stalking the Wiley Hacker” me levaram ao mundo da computação
    Mas é uma pena que, trabalhando na indústria, aquela diversão pura daquela época tenha desaparecido
    Link do original

    • Já conheci o Cliff Stoll pessoalmente
      Ele fez uma apresentação em uma associação de quilting e, independentemente do tema, era uma pessoa realmente apaixonada e cativante
      Fiquei completamente envolvido pela energia e curiosidade dele
  • Lembrei da piada “vamos enviar o e-mail 500 milhas mais longe”
    E a frase “You had me at EHLO” me fez rir

    • Quando eu trabalhava na Sendmail, costumava abrir uma conexão telnet na porta 25 e digitar os comandos SMTP manualmente
      Naquela época eu sabia todos de cor, mas hoje já não tenho tanta certeza
  • Antigamente, um computador que eu usava desligava sempre que eu saía da mesa
    Descobri que a causa era o assoalho solto de um prédio antigo
    A vibração ao me levantar causava curto em uma fonte de alimentação com defeito

  • Li o texto e imediatamente executei apt install units. Era uma ferramenta realmente excelente

    • Eu também instalei e encontrei um bug na hora
      Se você usa o comando units, o resultado do cálculo sai invertido
      Ex.: 1 mile → 1.609 km está correto, mas 1 unit → 1.609 units acaba invertendo o cálculo
    • Infelizmente, não havia pacote para Arch Linux