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

IO::Socket::Async sometimes gives "bindexpayload needs a VMExceptio" #5790

Closed
p6rt opened this issue Nov 9, 2016 · 4 comments
Closed

IO::Socket::Async sometimes gives "bindexpayload needs a VMExceptio" #5790

p6rt opened this issue Nov 9, 2016 · 4 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Nov 9, 2016

Migrated from rt.perl.org#130064 (status was 'resolved')

Searchable as RT130064$

@p6rt
Copy link
Author

p6rt commented Nov 9, 2016

From @zoffixznet

I can only reproduce it on camelia and the issue happens when
connecting to an IPv6 address​:

  m​: await
IO​::Socket​::Async.connect("260​0​:3c03​::f03c​:91ff​:fe91​:d028", 80).then​:
-> $p { if $p.status { given $p.result { .print​: "GET / HTTP/1.0\n\n";
react { whenever .Supply { .say } } } } }
  rakudo-moar b46a62​: OUTPUT«===SORRY!===␤bindexpayload needs a
VMException␤»

On other boxes, the code either succeeds, gives "unable to resolve
hostname" or gives "network is unreachable"

IRC conversation​: https://irclog.perlgeek.de/perl6/2016-11-09#i_13539836

P.S​: timotimo just pushed a commit to MoarVM to give extra debug info
for this​:
MoarVM/MoarVM@4c9fd00

@p6rt
Copy link
Author

p6rt commented Nov 16, 2016

From @jnthn

On Wed, 09 Nov 2016 08​:51​:08 -0800, cpan@​zoffix.com wrote​:

I can only reproduce it on camelia and the issue happens when
connecting to an IPv6 address​:

m​: await
IO​::Socket​::Async.connect("260​0​:3c03​::f03c​:91ff​:fe91​:d028", 80).then​:
-> $p { if $p.status { given $p.result { .print​: "GET / HTTP/1.0\n\n";
react { whenever .Supply { .say } } } } }
rakudo-moar b46a62​: OUTPUT«===SORRY!===␤bindexpayload needs a
VMException␤»

On other boxes, the code either succeeds, gives "unable to resolve
hostname" or gives "network is unreachable"

IRC conversation​: https://irclog.perlgeek.de/perl6/2016-11-
09#i_13539836

Golfed it all the way down to​:

my $p = Promise.new;
$p.break("OH NOES");
await $p;

And fixed it, and added a test in S17-promise/basic.t. Seems it was a regression when I improved error reporting for Promises a while ago to present the backtraces of both the original error and the one where the result of the Promise was acquired. To do that I used rethrow, but that got upset and spewed an internal error (the one seen here) if given an exception that was never previously thrown. Now it just copes.

/jnthn

@p6rt
Copy link
Author

p6rt commented Nov 16, 2016

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

@p6rt
Copy link
Author

p6rt commented Nov 16, 2016

@jnthn - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Nov 16, 2016
@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