I have reproduced it as follows: perl -1 '1 while 1' # run until load reaches .9 or so parallel -l 1 -j 2 ./fakecc -- 1 2 4 8 16 32 64 128 exit 255
Where fakecc is: #!/bin/sh perl -e '1 while 1' & sleep 5; kill %1 exit 0 As indicated by your strace, this is indeed some kind of fencepost/logic problem, since parallel should not be waiting for children after all jobs have already been waited for. Looks like the problem is that it does not decrement curjobs if the child exits 0, when waiting due to load. -- see shy jo
signature.asc
Description: Digital signature