line 126
repo_out=$(repo sync -c -j$(nproc --all) --force-sync 2>&1 > /dev/null)
line 199
if ! repo sync -c -j$(nproc --all) --force-sync; then
I think --all is too high (edit, for my machine). It will be fine if the machine is strong enough, so just guessing. Try n-1 or n/2 and see what happens.
Is 8 the number you see when you run nproc
?
If you start a rerun, are you finding it quite fast?
Do you get to a point with repo sync
where you see that the sync is reported successful?
I do not like (as docker run
seems to do by default on my machine) to run the ongoing build without seeing that.
I just stick -j2 on every repo command! If it doesn’t like it it will complain!
When I use brunch I am afraid I don’t quite remember where I put it – sometimes it complains so I do another either brunch bacon -j2
or brunch -j2 bacon
or maybe brunch -j 2 bacon
. What ever works.
I tend to rely on repo help
rather than my memory.
I happen to use: export _JAVA_OPTIONS="-Xmx9G"
Just by watching the monitor (conky). If it is too large Java will overwhelm the whole process, if it is too low Java will run out of memory. On my machine is seems significant how to optimise swap – it is less volatile, so needs to be carrying a little below half load already when Java spikes strike at 97%.
Edit.
I just noticed your script uses --force by default. I do not do that till I know what I want to fix.
In fact I do the opposite and --fail-fast
I work from [HOWTO] build /e/ the (full) classic way (no docker, no scripts, just 'make')
with its
README
Another edit.
Is your script aware of
After completing a repo sync, you will have to run repo forall -c ‘git lfs pull’
So you have to have git lfs installed already and patchelf. I didn’t mention this because if there was a fault here it would have shown up long before at maybe 80%. This was actually the first thought that jumped into my mind with that error.