can't build rust -- out of swap space

Trond Endrestøl trond.endrestol at
Tue Mar 3 09:42:45 UTC 2020

On Tue, 3 Mar 2020 11:49+0300, Yuri Pankov wrote:

> With recent pkg fallout, I'm trying to build rust myself first time ever (as
> far as I can remember), and it's failing running out of swap on the following
> step:
> Building stage0 std artifacts (x86_64-unknown-freebsd ->
> x86_64-unknown-freebsd)
> running:
> "/usr/ports/lang/rust/work/rustc-1.41.1-src/build/x86_64-unknown-freebsd/stage0/bin/cargo"
> "build" "-Zconfig-profile" "--target" "x86_64-unknown-freebsd"
> "-Zbinary-dep-depinfo" "-j" "1" "-v" "--release" "--frozen" "--features"
> "panic-unwind backtrace compiler-builtins-c" "--manifest-path"
> "/usr/ports/lang/rust/work/rustc-1.41.1-src/src/libtest/Cargo.toml"
> "--message-format" "json-render-diagnostics"
> ^C^C^C
> Build completed unsuccessfully in 0:00:55
> Here I pressed ^C as the build actually continues despite several rustdoc,
> python, and other processes being killed.
> swap_pager: out of swap space
> swp_pager_getswapspace(20): failed
> swap_pager: out of swap space
> swp_pager_getswapspace(11): failed
> The system has 32G of RAM and 2GB swap partition (as advised by zfs-auto
> installation option), top shows about 28G of memory free at that moment, so
> I'm wondering why the swap is being used, and if 2G should be enough to build
> rust.
> Tried building both as root and user, DISABLE_MAKE_JOBS has no effect.
> Any hints?

It's good to see that it's not only me. I suspect choice of hardware 
might play a role.

My laptop's a Lenovo E590 with 32 GiB of memory and 16 GiB of swap 
space, running fairly recent -CURRENT, booted via UEFI. Activating the 
laptop's kernel dump partition as a secondary swap device, adding 
another 16 GiB of swap space, had no positive effect.

In my case, I've noticed rustdoc being run as "rustdoc --crate-type 
proc-macro --help", and this process grows to a virtual size of 10T, 
grabbing all the memory and swap that it can find. My laptop even 
locked up on one such occasion.

On Sunday, I switched to lang/rust-nightly and I managed to also build 
bat, exa and hexyl. I was not that lucky with firefox and ripgrep, 
they both caused rustc to crash in the same fashion.

I've tried building lang/rust on a couple of VMs running the latest 
-CURRENT, only to have these builds succeed. I even added the contents 
of /var/db/ports from my laptop, and the build still succeeded.

Building lang/rust on stable/12 is successful atm. Maybe it's a 
combination of hardware and changes to the FreeBSD VM subsystem.


More information about the freebsd-current mailing list