Ich verwende uWSGI auf Ubuntu 18 (18.04.5 LTS). Vor Kurzem hat es aufgehört zu funktionieren - beim Start bekomme ich diesen Fehler:
Fatal Python error: Cannot recover from MemoryErrors while normalizing exceptions.
Auf meiner Seite hatte sich nichts geändert, aber der Server war auf automatisches Upgrade eingestellt. Das Ausführen von uwsgi als Root funktionierte, aber als www-data (so führe ich es normalerweise aus) schlug fehl.
Nach einigem Herumprobieren stellte sich heraus, dass --never-swap
dies an der Option lag – nachdem ich diese entfernt hatte, funktionierte es auf jeden Fall wieder.
Ich kann also mit dem Entfernen leben --never-swap
, aber ich würde gerne wissen, warum das passiert ist. Gibt es eine neue Sicherheitsfunktion, die verhindert, dass Nicht-Root-Benutzer Speicherseiten sperren? Laut der Dokumentation bewirkt diese Option genau das.uWSGI-Dokument hier.
Antwort1
Ein nicht privilegierter Prozess benötigt die CAP_IPC_LOCK-Fähigkeit, um Speicherseiten zu sperren. Höchstwahrscheinlich hat jemand (Sie oder ein anderer Administrator) diese Fähigkeit manuell eingerichtet und dann war sie natürlich weg, als ein aktuelles Update installiert wurde.