Skip to content
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

rakudo for loop on texas bag operator spawns background IO #5491

Open
p6rt opened this issue Jul 27, 2016 · 5 comments
Open

rakudo for loop on texas bag operator spawns background IO #5491

p6rt opened this issue Jul 27, 2016 · 5 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Jul 27, 2016

Migrated from rt.perl.org#128751 (status was 'open')

Searchable as RT128751$

@p6rt
Copy link
Author

p6rt commented Jul 27, 2016

From @ajs

Was playing around on command-line with hyperoperations over texas bag
operators and got to this silly thing​:

perl6 -e 'for 1..100 -> $i { say (((^$i).map​: {^$_}) <<(-)>>
((^($i+1)).map​: {$_ xx $i})) }'

Which, after control-Cing backgrounded itself and kept spewing output. I've
limited the example to 100 outer loops, but my original was 1..*, which I
had to kill.

Somewhat strange platform​:

$ perl6 -v
This is Rakudo version 2016.04 built on MoarVM version 2016.04
implementing Perl 6.c.
$ uname -a
CYGWIN_NT-10.0-WOW hiostname.0.4(0.287/5/3) 2015-08-03 00​:00 i686 GNU/Linux

The Perl 6 version is the standard Windows build from Rakudo Star

However, on this platform and build it works fine​:

$ perl6 -v
This is Rakudo version 2016.07.1-34-ge5c909c built on MoarVM version
2016.07-3-gc01472d
implementing Perl 6.c.
$ uname -a
Linux vdesktop2 4.4.0-31-generic #​50-Ubuntu SMP Wed Jul 13 00​:07​:12 UTC
2016 x86_64 x86_64 x86_64 GNU/Linux

--
Aaron Sherman, M.​:
P​: 617-440-4332 Google Talk, Email and Google Plus​: ajs@​ajs.com
Toolsmith, developer, gamer and life-long student.

@p6rt
Copy link
Author

p6rt commented Jul 27, 2016

From @coke

On Wed Jul 27 07​:38​:45 2016, ajs wrote​:

Was playing around on command-line with hyperoperations over texas bag
operators and got to this silly thing​:

perl6 -e 'for 1..100 -> $i { say (((^$i).map​: {^$_}) <<(-)>>
((^($i+1)).map​: {$_ xx $i})) }'

Which, after control-Cing backgrounded itself and kept spewing output. I've
limited the example to 100 outer loops, but my original was 1..*, which I
had to kill.

Somewhat strange platform​:

$ perl6 -v
This is Rakudo version 2016.04 built on MoarVM version 2016.04
implementing Perl 6.c.
$ uname -a
CYGWIN_NT-10.0-WOW hiostname.0.4(0.287/5/3) 2015-08-03 00​:00 i686 GNU/Linux

The Perl 6 version is the standard Windows build from Rakudo Star

However, on this platform and build it works fine​:

$ perl6 -v
This is Rakudo version 2016.07.1-34-ge5c909c built on MoarVM version
2016.07-3-gc01472d
implementing Perl 6.c.
$ uname -a
Linux vdesktop2 4.4.0-31-generic #​50-Ubuntu SMP Wed Jul 13 00​:07​:12 UTC
2016 x86_64 x86_64 x86_64 GNU/Linux

--
Aaron Sherman, M.​:
P​: 617-440-4332 Google Talk, Email and Google Plus​: ajs@​ajs.com
Toolsmith, developer, gamer and life-long student.

Cannot reproduce here​:

$ perl6 -v
This is Rakudo version 2016.07.1 built on MoarVM version 2016.07
implementing Perl 6.c.
$ sw_vers
ProductName​: Mac OS X
ProductVersion​: 10.11.6
BuildVersion​: 15G31

Hitting Control-C kills the job, that's it, no spurious output.

--
Will "Coke" Coleda

@p6rt
Copy link
Author

p6rt commented Jul 27, 2016

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jul 27, 2016

From @geekosaur

Note that there's a high probability of this being a cygwin-specific issue.

On Wed, Jul 27, 2016 at 11​:24 AM, Will Coleda via RT <
perl6-bugs-followup@​perl.org> wrote​:

On Wed Jul 27 07​:38​:45 2016, ajs wrote​:

Was playing around on command-line with hyperoperations over texas bag
operators and got to this silly thing​:

perl6 -e 'for 1..100 -> $i { say (((^$i).map​: {^$_}) <<(-)>>
((^($i+1)).map​: {$_ xx $i})) }'

Which, after control-Cing backgrounded itself and kept spewing output.
I've
limited the example to 100 outer loops, but my original was 1..*, which I
had to kill.

Somewhat strange platform​:

$ perl6 -v
This is Rakudo version 2016.04 built on MoarVM version 2016.04
implementing Perl 6.c.
$ uname -a
CYGWIN_NT-10.0-WOW hiostname.0.4(0.287/5/3) 2015-08-03 00​:00 i686
GNU/Linux

The Perl 6 version is the standard Windows build from Rakudo Star

However, on this platform and build it works fine​:

$ perl6 -v
This is Rakudo version 2016.07.1-34-ge5c909c built on MoarVM version
2016.07-3-gc01472d
implementing Perl 6.c.
$ uname -a
Linux vdesktop2 4.4.0-31-generic #​50-Ubuntu SMP Wed Jul 13 00​:07​:12 UTC
2016 x86_64 x86_64 x86_64 GNU/Linux

--
Aaron Sherman, M.​:
P​: 617-440-4332 Google Talk, Email and Google Plus​: ajs@​ajs.com
Toolsmith, developer, gamer and life-long student.

Cannot reproduce here​:

$ perl6 -v
This is Rakudo version 2016.07.1 built on MoarVM version 2016.07
implementing Perl 6.c.
$ sw_vers
ProductName​: Mac OS X
ProductVersion​: 10.11.6
BuildVersion​: 15G31

Hitting Control-C kills the job, that's it, no spurious output.

--
Will "Coke" Coleda

--
brandon s allbery kf8nh sine nomine associates
allbery.b@​gmail.com ballbery@​sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

@p6rt
Copy link
Author

p6rt commented Jul 28, 2016

From @ajs

I was asked to try this with .07. I did that tonight, and it still happens, but this does seem to be a local issue. I get the same results with​:

perl6 -e 'loop { say 1; sleep 1; }'

Is it possible that Perl is ignoring something like the Windows equivalent of a hangup signal from the shell?

@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant