Ir para o conteúdo
Wendelmaques

nginx com --with-libatomic no ARM perde atualizações e passa a recusar visitantes

Em 14 de outubro de 2026, um nginx de produção num servidor ARM passou a recusar todo visitante novo com o erro 429. A causa é a opção de compilação --with-libatomic. O teste, o patch e a correção estão no GitHub.

Por Wendelmaques Pereira ·

Fonte: nginx --with-libatomic on aarch64: the shared-memory lock loses updates (github.com). Texto preparado com IA a partir dessa fonte.

O que aconteceu e o que fazer

Em 14 de outubro de 2026, um nginx 1.30.5 num servidor ARM (Ampere Altra) passou a recusar todo visitante novo com o erro 429. A causa é a opção de compilação --with-libatomic. No ARM, ela deixa sem barreira de memória o cadeado que protege a memória compartilhada do nginx. Dois workers perdem atualizações, e um registro da zona do limit_req fica preso. A zona para de apagar registros antigos, enche e passa a recusar todo endereço novo. Num teste com 10 milhões de atualizações no mesmo processador, a opção perdeu 69.320; sem ela, nenhuma.

Se o seu nginx roda em ARM (AWS Graviton, Ampere), rode nginx -V. Se aparecer --with-libatomic, compile o nginx sem a opção ou aplique o patch do repositório wrpbr/nginx-libatomic-aarch64. Depois, recrie as zonas de memória compartilhada. Servidores Intel e AMD não são afetados.

Como a consultoria pode ajudar

A Wendelmaques pode revisar a compilação e a configuração do nginx e de outros servidores de borda, montar alarmes que avisam quando visitantes são recusados e trocar o servidor de borda sem recusar conexão.

Próximo passo

Envie a saída de nginx -V e a arquitetura do servidor para receber uma avaliação com escopo definido.

Procurando outra coisa?Perguntas frequentesGuiasContato