There are also issues with libssl (which I think the IO::Socket::SSL module calls using Native Call) and threads.
At the moment the only threads safe https client is the Cro one, I believe. Sorry I can't be more help, 2am insomnia should really be sleeping. On Wed, 4 Apr 2018, 2:30 am Simon Proctor, <simon.proc...@gmail.com> wrote: > Looks to me like one of the sites is redirecting to an https page and you > don't have IO::Socket::SSL installed. > > > > On Wed, 4 Apr 2018, 1:42 am brian d foy, <perl6-bugs-follo...@perl.org> > wrote: > >> # New Ticket Created by "brian d foy" >> # Please include the string: [perl #133057] >> # in the subject line of all future correspondence about this issue. >> # <URL: https://rt.perl.org/Ticket/Display.html?id=133057 > >> >> >> I have this little program where I want to fetch web thingys >> concurrently. There's a problem with the combination of HTTP::UserAgent >> and Promises although I don't know which one doesn't work: >> >> #!perl6 >> >> use HTTP::UserAgent; >> my $ua = HTTP::UserAgent.new: :useragent<chrome_linux>; >> >> my @urls = < >> http://www.perl.org >> http://www.perl6.org >> http://www.yahoo.com >> >; >> >> loop { >> my @promises; >> for @urls -> $url { >> @promises.push: Promise >> .start({ $ua.get: $url }) >> .then({ put "Got {.result.^name}" }); >> } >> await @promises; >> } >> >> Running this program sometimes works a little and often if fails in >> diverse and curious ways. I couldn't get it to fail unless I used a >> Promise: >> >> $ perl6 cycle.p6 >> Got HTTP::Response >> Segmentation fault: 11 >> >> $ perl6 cycle.p6 >> Got HTTP::Response >> Illegal instruction: 4 >> >> $ perl6 cycle.p6 >> Got HTTP::Response >> An operation first awaited: >> in block <unit> at cycle.p6 line 20 >> >> Died with the exception: >> Tried to get the result of a broken Promise >> in block at cycle.p6 line 18 >> >> Original exception: >> Please install IO::Socket::SSL in order to fetch https >> sites: Failed to seek in filehandle: 22 >> in method get-connection at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 350 >> in method get-connection at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 343 >> in method request at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 156 >> in method request at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 176 >> in method get at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 102 >> in method get at >> /Users/brian/Desktop/lib/HTTP/UserAgent.pm (HTTP::UserAgent) line 105 >> in block at cycle.p6 line 17 >> >> $ perl6 cycle.p6 >> Got HTTP::Response >> moar(77217,0x70001052c000) malloc: *** error for object >> 0x7fd7b89a4af0: pointer being freed was not allocated >> *** set a breakpoint in malloc_error_break to debug >> Abort trap: 6 >> >> Here's the setup >> >> $ perl6 -v >> This is Rakudo Star version 2018.01 built on MoarVM version 2018.01 >> implementing Perl 6.c. >> $ uname -a >> Darwin . 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 >> PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64 >> >