Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Feb 2019 18:41:12 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 235782] clang compiler crashed while building a large C++ program (that makes some use of boost)
Message-ID:  <bug-235782-29464-7xpQB8YPL3@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-235782-29464@https.bugs.freebsd.org/bugzilla/>
References:  <bug-235782-29464@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235782

--- Comment #4 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Dimitry Andric from comment #2)

If the person with the problem see any of the:

swap_pager_getswapspace(number): failed

message they really are out of swap. The other
message can happen when there is plenty of swap
but processes that stay runnable are preventing
having sufficient free RAM after some number of
tries by FreeBSD: runnable processes are not
(fully) swapped-out by FreeBSD, only paged.

There is a tunable that can increase the number
of tries at freeing RAM before "was killed: out
of swap space" happens. This is used on low end
armv7's and aarch64's and such to allow buildworld
and the like to complete with -j4, for example.

vm.pageout_oom_seq has a default of 12 (last I
checked). Figures like 120 and 1024 have been
used on those low end armv7 and aarch64 examples.
(pi2 V1.1 and rpi3 are examples: just 1 GiByte
of RAM. Of course sufficient swap space is also
required for this kind of context.)

For lld based links, LDFLAGS.lld+=3D -Wl,--no-threads
can also help avoid memory use by avoiding having
ncpu+2 threads in use in each active lld.

How-to-build-software documentation should probably
cover this subject.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235782-29464-7xpQB8YPL3>