Closed SpikesDivZero closed 9 years ago
A bit more information. Reproduced in a virgin perlbrew environment
perlbrew install stable
perlbrew install-cpanm
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
cpanm Parallel::Runner Child Devel::Cycle
Perl-core version 5.20.0 Parallel::Runner version 0.013 Child version 0.010
Devel::Cycle doesn't seem to find the cycle in either the main $Runner or the $Child returned from run().
Confirmed that it looks like 0.011 fixes this bug. Thanks, @exodist !
With a max files ulimit of 256, after roughly 110 children are executed, pipes start failing to be created:
And an strace will start showing output like:
To use the below proof of concept, you'll need to launch runner.sh on any Linux system. POC likely also works on OS X, but not tested there.
runner.sh:
runner.pl: