Eu uso o uWSGI no Ubuntu 18 (18.04.5 LTS). Muito recentemente, isso parou de funcionar - eu recebia este erro na inicialização:
Fatal Python error: Cannot recover from MemoryErrors while normalizing exceptions.
Nada mudou do meu lado, mas o servidor estava configurado para atualização automática. Executar uwsgi como root funcionou, mas como www-data (que é como eu executo normalmente) falhou.
Depois de algumas tentativas e erros, descobriu-se que a --never-swap
opção estava causando isso - certamente, quando a removi, funcionou novamente.
Então posso conviver com a remoção --never-swap
, mas adoraria saber por que isso aconteceu. Existe algum novo recurso de segurança que impede que usuários não-root bloqueiem páginas de memória - é isso que o documento diz que esta opção faz -Documento uWSGI aqui.
Responder1
Um processo sem privilégios precisa do recurso CAP_IPC_LOCK para bloquear páginas de memória. Provavelmente alguém (você ou outro administrador) configurou esse recurso manualmente e, é claro, ele desapareceu quando uma atualização recente foi instalada.