Categorias: Sistemas operacionais

Um bug estranho foi descoberto no macOS: o sistema “trava” após 49,7 dias de operação contínua.

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.

admin

Postagens recentes

A Microsoft corrigiu três vulnerabilidades zero-day perigosas e outras 200 falhas em seu software.

A Microsoft lançou sua atualização de junho na terça-feira de atualizações, corrigindo 200 vulnerabilidades, incluindo…

3 horas atrás

Inteligência artificial ajuda a atualizar drivers AMD Radeon que têm quase 20 anos.

Segundo o Phoronix, a versão mais recente do driver gráfico Gallium3D R600, incluída no Mesa…

5 horas atrás

A NASA apresentou a tripulação da missão lunar Artemis 3, mas ela não chegará à Lua.

A NASA anunciou os nomes dos astronautas que irão ao espaço na missão Artemis 3…

5 horas atrás

A Anthropic revelou Claude Fable 5, uma “versão segura” do tão comentado Mythos.

No início deste mês, a Anthropic expandiu a disponibilidade de seu modelo de IA mais…

5 horas atrás