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

Attachment: signature.asc
Description: Digital signature

Reply via email to