New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lvm2: disable parallel building #52597
Conversation
I suspect it is caused by some problem with the Nix build environment, because I can't reproduce it anywhere else. Here is a diff of a successful build on x86_64 and a failed build on armv7l
|
FWIW I've been seeing this as well, but on my x86_64 32-core builder, and the workaround I've been using is build this specifically on my laptop. Haven't investigated but I believe it started happening after the recent upgrade. Anyway just a +1 and to offer evidence may not be arch specific. |
@dtzWill what settings do you use for |
I just reproduced this failure on x86_64. It seems to be happening consistently now on my build server. The machine has |
Probably the wrong values, honestly O:).
On the machine itself, `nix show-config` reports:
```
cores = 0
max-jobs = 20
```
However it almost exclusively is used for remote builds,
which for whatever reason I have set to use `maxJobs = 16`.
I'm not sure what settings end up getting used, to be honest.
Happily they're fairly close anyway :).
These settings / machine are especially bad for GHC builds
(as built by nixpkgs anyway), but were set when I mostly built
LLVM repeatedly (all-in-one). I suspect often jobs ends up producing ~ 32x32
processes stomping on each other's caches-- IIRC we ask make
to use system load to avoid this sort of thing, but I don't know
a)how well that works and
b)if other non-make-based builds are similarly configured or can be
Oh well, without measurements it's hard to say and this is
geared for quicker/full utilization on short focused build stacks
(where I'm more likely waiting on result) potentially
at cost of longer overall build times for huge rebuilds
that take a day or more anyway.
FWIW it's 4-socket NUMA-- frankly I'm not entirely sure what sort
of scheduling/page-migration/whatever is done, relevant, etc.
but would certainly be interested in anyone's experience with
such. It works well enough but in presence of many parallel
builds seems to do worse than it should.
Anyway, hope that answers your question.
Laptop build that seems to work is 4 cores/8 threads;
if a build dependency is missing the raw job count
can make the difference... it can take N+1 jobs
to observe a problem that will near-never trigger
with N jobs...
All that aside, disabling parallelism seems good here
if multiple folks are seeing issues that aren't seen
without it! :)
…On Fri, 21 Dec 2018 03:26:06 -0800, markuskowa ***@***.***> wrote:
@dtzWill what settings do you use for `maxJobs` and `buildCores` on your 32 core builder?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#52597 (comment) part: text/html
|
43dde3c
to
369af2f
Compare
That was also my suspicion. This should end up in rather high system load. I do not think this is problem for this particular PR but might cause some timing problems with some qemu nixos tests (?). |
I repeatedly saw the same failure on x86_64 after #51756 was merged.
|
@GrahamcOfBorg build lvm2 |
Motivation for this change
I am running into a consistent build failure on armv7l with
enable_dmeventd = true
due to some kind of dependency issue:I have no idea why this does not occur on other architectures. I attempted to bisect this issue in the lvm2 tree but was unable to reproduce it outside of the package build environment.
Things done
Disabled parallel building for lvm2. This causes the package to build on armv7l. If we wanted to, we could only disable parallel building on armv7l.
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)