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 OpenAI apresentou uma prévia de um dispositivo de IA vinculado ao modelo Codex.

Não é segredo que a OpenAI planeja usar a startup de Jony Ive, ex-diretor de…

33 minutos atrás

O WhatsApp agora oferece apelidos para ocultar números de telefone – as reservas já estão disponíveis.

O WhatsApp adicionou um recurso de nome de usuário para ocultar números de telefone. O…

6 horas atrás

Calendário de lançamentos: 29 de junho a 5 de julho: Undergrounded, Monopoly: Star Wars Heróis vs. Vilões

A virada de junho para julho trouxe poucos lançamentos importantes, mas muitas atualizações e relançamentos…

7 horas atrás

A GeForce RTX 3060 começou a retornar às lojas na Europa e nos EUA.

As placas de vídeo GeForce RTX 3060 começaram a retornar aos mercados ocidentais. Os modelos…

8 horas atrás