Utilizar computadores Apple Mac como servidores é uma ideia inovadora. Apesar de suas raízes Unix, o macOS não foi projetado para operar corretamente sem supervisão, e configurá-lo e utilizá-lo nesse modo seria difícil. Isso é especialmente verdadeiro considerando que ele não conseguiu processar corretamente a atividade de rede por mais de 49 dias, 17 horas, 2 minutos e 47 segundos.
Engenheiros da Photon descobriram um bug no macOS da Apple, que opera uma frota de computadores Mac usados para monitorar os serviços do iMessage. Em determinado momento, esses computadores param de responder às conexões de rede, embora processem pings corretamente. Curiosamente, eles continuam a manter as conexões de rede existentes, o que complica ainda mais o diagnóstico. Tradicionalmente, uma reinicialização resolve o problema, mas isso não ajuda a determinar a causa.
Especialistas da Photon observaram que o problema se manifesta após 49,7 dias de operação contínua da rede nos computadores Apple e criaram vários scripts para testar sua teoria. Acontece que o culpado era o contador de sistema “tcp_now”, cuja função é rastrear o tempo atual em milissegundos desde a inicialização da pilha TCP. Os valores de “tcp_now” são representados como um inteiro de 32 bits, com um valor máximo de 4.294.967.295 (2³² – 1), após o qual são zerados. Em milissegundos, isso equivale exatamente a 49,7 dias.
De acordo com os padrões, os sistemas operacionais encerram rapidamente as conexões TCP abertas; no macOS, esse período é de 30 segundos. Quando o valor de “tcp_now” se aproxima ou atinge o limite, o status de expiração da conexão é calculado.Em relação a esse parâmetro, o resultado é um valor que excede um número natural de 32 bits. Quando uma verificação periódica é realizada para determinar se uma conexão fechada deve ser excluída, o sistema retorna uma resposta negativa devido a um erro matemático. A pilha TCP sofre um estouro devido à retenção errônea de portas temporárias e para de funcionar quando não há mais portas disponíveis. A velocidade desse processo depende do volume de atividade da rede, mas em qualquer servidor ou ambiente profissional, ele ocorre rapidamente.
Portanto, uma reinicialização resolve o problema. Essa questão é a origem de vários bugs conhecidos relatados pela comunidade de usuários de computadores Apple. Talvez soluções mais adequadas surjam em breve.
Após a página principal e as páginas individuais de cada produto na loja de distribuição…
A densidade de armazenamento da memória 3D NAND é determinada pelo número de camadas; portanto,…
Esta semana, os laptops com os processadores Qualcomm Snapdragon X2 Elite atualizados foram colocados à…
A expansão de história Terran Armada para o jogo de RPG espacial Starfield, publicado pela…
Os smartphones da série RedMagic 11 Pro são frequentemente considerados os smartphones para jogos mais…
A Ubisoft, editora e desenvolvedora francesa, não tem pressa em anunciar oficialmente o tão aguardado…