Verwirrung über Swap Space in HardenedBSD

360
mcandre

Ich möchte HLint mit Cabal in HardenedBSD ( cabal install HLint) installieren, aber es wird ein Speicherfehler ausgeführt:

cabal install HLint ... ghc: mmap 131072 bytes at 0x0: Operation not permitted 

Ich habe versucht, Swap Space hinzuzufügen, aber das funktioniert nicht so gut.

sudo dd if=/dev/zero of=/usr/cabal-swap bs=1m count=4k && sudo chmod 0600 /usr/cabal-swap && sudo sh -c "echo 'md99 none swap sw,file=/usr/cabal-swap,late 0 0' >>/etc/fstab" && sudo swapon -aL 

Seltsamerweise swapon -aLverlässt das Teil den Status 1, obwohl es gedruckt wird swapon: adding /dev/md99 as swap device. Außerdem scheint swapctl (für meine Neulinge) darauf hinzuweisen, dass diese Swap-Partition ausreichend aktiviert war:

$ swapctl -l Device: 1024-blocks Used: /dev/ada0s1b 655324 0 /dev/md99 4194304 0 

Ich bin nicht wirklich sicher, ob ich das Setup richtig getauscht habe. Wenn ich laufe top, um Cabal / ghc während des Laufens zu überwachen cabal install HLint, zeigt top, dass die 4 GB Swap-Speicher zur Verfügung stehen, aber der Swap scheint nie wirklich genutzt zu werden. Cabal stirbt schließlich mit mmapFehlern während ghc beim Kompilieren der Bibliotheken haskell-src-exts, uniplate oder aeson Haskell, ohne dass HardenedBSD jemals den Swap verwendet.

Muss ich den Swap falsch konfigurieren? Gibt es eine Möglichkeit, HardenedBSD zu einem proaktiveren Austausch zu zwingen?

Dies sieht aus wie ein Fehler in GHC, insbesondere der HardenedBSD-Port. Verschieben Sie die Diskussion auf https://ghc.haskell.org/trac/ghc/ticket/14988 .

0
In HardenedBSD sind viele Sicherheitsoptimierungen aktiviert. Möglicherweise gibt es eine Änderung, die die Verwendung von "mmap" verbietet. arrowd vor 6 Jahren 0

0 Antworten auf die Frage