Open ryan-preble opened 1 year ago
I've narrowed it down to autobox which is used by Data::Frame. Raised https://github.com/chocolateboy/autobox/issues/16 and https://github.com/dluxhu/perl-parallel-forkmanager/issues/38
Also confirmed it's good on Linux.
I am currently running Strawberry Perl 5.32.1 on Windows 11 22H2. I am writing scripts to do some bulk data processing which necessitates parallelism. I have discovered that including Chart::GGPlot and any module in Parallel causes failures in forking. The issue is simple to replicate. The following code fails to run:
`use Parallel::ForkManager; use Chart::GGPlot; use Autoloader;
my $pm = Parallel::ForkManager->new(3);
$pm->run_on_finish( sub { my ($pid, $exit_code, $ident, $exit_signal, $core_dump, $returnref) = @; my $returned = ${$return_ref}; print "Child with ", $returned->{"filename"}, " finished.\n"; } );
LOOP: foreach my $file (@ARGV) { my $pid = $pm->start and next LOOP; print "Starting with $file \n"; my $return_data = {}; $return_data->{"filename"} = $file; $pm->finish(0, \$return_data); } $pm->wait_all_children;
print "Is this gonna work???\n";`
Note that no error is immediately thrown, and the code simply terminates early. However, commenting out the usage of Chart::GGPlot allows the code to execute to completion. I can also try to fish out error messages if that would be helpful. Thank you!