Embora Macs sejam máquinas poderosas, usá-los como servidores em ambientes 24/7 apresenta desafios inesperados. Uma descoberta recente revelou uma “bomba-relógio” embutida no sistema de rede do macOS: após precisamente 49 dias, 17 horas, 2 minutos e 47 segundos de funcionamento contínuo, a pilha de rede TCP/IP pode simplesmente parar de funcionar.
A equipe da Photon, que utiliza Macs para monitorar serviços iMessage, deparou-se com um problema misterioso. Algumas de suas máquinas pararam de responder a conexões de rede do nada, embora ainda respondessem a pings. O mais intrigante era que as conexões de rede existentes continuavam ativas, dificultando o diagnóstico e forçando a equipe a recorrer a reinícios – uma “solução” odiada por qualquer administrador de sistemas.
Após investigações aprofundadas e testes com scripts, a Photon identificou o culpado: o contador interno “tcp_now”.
A falha ocorre devido a uma implementação incorreta no kernel XNU da Apple, relacionada à forma como o sistema lida com o transbordo do “tcp_now”.
A rapidez com que as portas se esgotam depende da atividade de rede, mas em ambientes de servidor ou profissionais, isso pode ser rápido. Problemas de “overflow” de inteiros já causaram falhas históricas, como o famoso crash de 49.7 dias do Windows 98 e o iminente problema do Ano 2038.
A solução imediata é um reinício do sistema. A equipe da Photon está trabalhando em uma alternativa, e espera-se que a Apple corrija essa implementação do RFC 7323 em breve.