New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
problems when run()ning two procs and passing the :out of one to the :in of the other #5678
Comments
From @MasterDuke17This happens sometime in the whateverable bots when passing the output of decompressing an archive to tar (below are the error messages). tar: /tmp/whateverable/rakudo-moar/27b1ab6bf964b8e3c183109c1a385af49e31e2fb/lib: Cannot utime: No such file or directory Here's the relevant section of Whateverable.pm6 135: my $proc = run(:out, :bin, ‘zstd’, ‘-dqc’, ‘--’, “{ARCHIVES-LOCATION}/$full-commit-hash.zst”); We tried adding a sleep(.1) between those two lines, but it still happens. I then tried golfing with valgrind and a rakudo that had MoarVM built with --debug I ran this: valgrind perl6-valgrind-m -e 'for ^100 {my $proc = run(:out, :bin, "ls"); run(:in($proc.out), :bin, "false");}' and get this output:This is Rakudo Perl 6 running in valgrind, a tool for debugging and profiling programs. ==12496== Memcheck, a memory error detector |
From @MasterDuke17On Sat Sep 17 05:29:22 2016, ddgreen@gmail.com wrote:
If I edit MoarVM/src/io/syncpipe.c and disable the if block on line 35, the segfault goes away, but to no surprise, rakudo starts leaking memory and doesn't pass spectest. Most of the errors are in S32-io/pipe.t because the Proc::Status.exitcode isn't the correct value (it's always 0). |
From @MasterDuke17On Sat Sep 17 06:28:42 2016, ddgreen@gmail.com wrote:
AlexDaniel++ reminded me about --full-cleanup, so here's the output of another run with MoarVM built with --debug:This is Rakudo Perl 6 running in valgrind, a tool for debugging and profiling programs. ==15836== Memcheck, a memory error detector |
From @jnthnOn Sat Sep 17 07:29:24 2016, ddgreen@gmail.com wrote:
The fix in MoarVM/MoarVM@debb859 seems to address this bug and pass the spectest. Would appreciate some further testing, and the bug itself could do with a regression test adding too. /jnthn |
The RT System itself - Status changed from 'new' to 'open' |
From @MasterDuke17Test added in Raku/roast@6cc1a85cf4 |
@MasterDuke17 - Status changed from 'open' to 'resolved' |
From @zoffixznetOn Wed Sep 21 19:37:06 2016, ddgreen@gmail.com wrote:
This ticket still needs tests for Windows. |
@zoffixznet - Status changed from 'resolved' to 'open' |
From @zoffixznetTo be more specific, the Official Perl 6 Specification should not have lines like this as a final product: https://github.com/perl6/roast/blob/7dfe5a9732f2c3fd9fd16cc0448b958424b2b861/S17-procasync/stress.t#L22 |
From @zoffixznetWindows tests: Raku/roast@a5b3bb1669 |
@zoffixznet - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#129291 (status was 'resolved')
Searchable as RT129291$
The text was updated successfully, but these errors were encountered: