[Tux] This is Rakudo version 2017.03-24-g43e09022b built on MoarVM version 2017.03-7-g029d1218 07:27
csv-ip5xs 3.071
test 12.554
test-t 4.964 - 5.001
csv-parser 12.910
Geth roast: 4b081040b1 | (Samantha McVey)++ | S19-command-line/repl.t
No functional change, but make REPL tests a bit easier to read
08:21
lizmat Files=1180, Tests=55954, 192 wallclock secs (11.65 usr 4.55 sys + 1151.96 cusr 103.22 csys = 1271.38 CPU) 08:50
yoleaux2 22 Mar 2017 23:45Z <Zoffix> lizmat: here's my naive attempt at fixing the phasers in grep(Callable), but I don't know how phasers are handled and so it didn't work (now that I look at it; I don't know why expected it to work in the first place >_<): gist.github.com/zoffixznet/17b8c6b...a766a3c738
timotimo i do believe you'd also have to forward the .phasers (or something) to the original block 09:01
lizmat I wonder if we could reliably add phasers at run time to the syntheutic 09:03
block
hmmm...
timotimo sounds very tricky
but i'm not well versed on the phasers 09:04
lizmat yeah, perhaps we need to revert github.com/rakudo/rakudo/commit/362f674 and support redo in that setup
.tell Zoffix looking at your approach, but perhaps reverting github.com/rakudo/rakudo/commit/362f674 and adding redo support there would be a better (and ultimately faster) approach 09:06
yoleaux2 lizmat: I'll pass your message to Zoffix.
jnthn morning o/ 10:17
Originally, we implemented grep in terms of map, which meant we got all the phaser-y things for free :) 10:34
(And the slower performance such an approach offers, of course :))
m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0 11:12
camelia ok 1 - Simple EVAL in a loop does not crash
jnthn m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0
camelia ok 1 - Simple EVAL in a loop does not crash
jnthn Hmm
m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0 11:13
camelia ok 1 - Simple EVAL in a loop does not crash
jnthn m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0
camelia ok 1 - Simple EVAL in a loop does not crash
jnthn grr
masak how dare it not crash! 11:14
:P
jnthn m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0
camelia (signal SEGV)
jnthn :)
masak yaaay
jnthn Yeah, the RT'd example just sat in a loop
(Infinite one) 11:15
But we can't really do that in a test :)
masak m: gist.github.com/jnthn/b9d5f8dd975a...6588c2e7f0
camelia ok 1 - Simple EVAL in a loop does not crash
masak heh
seems a bit hit-and-miss
jnthn Yeah, such is life
But if it regresses it'll at least show ups as a flappy test and get investigated as such 11:16
*up
Which is better than no test at all
masak oh, agreed
I wish there was a solid way to turn flappies into failures :P
jnthn Just run them enough :P 11:17
jnthn wonders whether it's worth creating a new test file for EVAL being reentrant 11:18
I'm sure there's more to fix in that area
masak sounds worth it, then 11:19
masak .oO( You Arrrgh Gonna Need It )
samcv can somebody bump nqp and moarvm versions for rakudo to pull in this bug: github.com/MoarVM/MoarVM/commit/a0...b535d4d76d 11:21
i must sleep urgently
jnthn samcv: Yes, can do 11:22
samcv thx
Geth nqp: 0adbb98726 | (Moritz Lenz)++ | tools/build/MOAR_REVISION
Bump MoarVM revision

  ... for a fix for a line ending concatenation bug
11:26
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...2-ga00278e
jnthn oh heh, I'd got it locally but was going to spectest first :) 11:27
(Need to spectest another local change too) 11:28
moritz jnthn: I'll let you do the rakudo bump then
jnthn moritz: It's fine, I didn't do that one yet :)
So feel free 11:29
Geth roast: a6949c4579 | (Jonathan Worthington)++ | integration/eval-and-threads.t
Add basic test for EVAL in multiple threads.
11:30
rakudo/nom: 218f8c4600 | (Jonathan Worthington)++ | 3 files
Fix crash when doing EVAL from multiple threads.

The filename we give goes to make part of the unique Serialization Context ID. However, there was a race on producing the EVAL_<n> IDs that could lead to the same ID being used twice, thus meaning we did not get a unique serialization context and so illegally ended up sharing one of them between threads. This fixes the race, and thus fixes this source of troubles with concurrent EVAL.
11:37
rakudo/nom: e8765d2bdb | (Jonathan Worthington)++ | t/spectest.data
Run integration/eval-and-threads.t
timotimo hah 11:38
that's really it? :D
that is just a tiny bit hilarious
jnthn There may be more, but it'll need a bigger EVAL to expose it, it seems :) 11:41
But yeah, the reported case now seems to run reliably
lizmat jnthn: wouldn't it be better to make state threadsafe ? 11:45
masak jnthn: huh. surprised at the class-my-method pattern to hide private state ;)
jnthn No
masak jnthn: (not that it's wrong or anything. it's just I didn't expect to see you create a class with just a static method) :P
jnthn masak: I coulda made it a module with a sub, I guess :) 11:46
masak in the sense that you're not going near the MOP machinery, yes :)
but... who cares, really
`class` is a shorter keyword than `module` :P 11:47
jnthn lizmat: I did consider that we should clone blocks to things like map/grep in hyper/race so that each thread gets its own "instance" of them, though :)
Though perhaps we should make state vars keyed on thread 11:48
So that state is never shared amongst them
But that'd still not work to fix this case
Which makes me wonder what cases it *would* fix 11:49
(To be clear, the race is nothing to do with the state variable, so much as the ++ operation)
This goes back to that post I did a while back explaining that the real problem is that you can't magically figure out the transaction scope the programmer might (or might not ;)) have had in mind.
masak pet peeve of mine when discussing operators: people who explain postfix:<++> as first returning the old value and *then* doing the increment... 11:50
jnthn hehe 11:51
I know what they mean but...yeah :P
masak aye
I think that peeve is part of the permanent damage I've inflicted on myself by implementing interpreters and expression parsers 11:52
jnthn Well, it kinda forces you to think more clearly about semantics :) 11:54
masak I believe Algol 68 has a metaoperator that carries out some operator but then returns the old value. that's kind of a generalization of postfix:<++> and postfix:<--> 11:56
lizmat jnthn: would you mind if I changed github.com/rakudo/rakudo/commit/218f8c4600 a bit to be more in line with Rakudo::Internals other methods? 11:58
jnthn More in line with in what way? 11:59
lizmat well, normally Rakudo::Internals methods live in src/core/Rakudo/Internals.pm :-)
jnthn Oh man
lizmat I'll take that as a no then :-) 12:00
jnthn Yeah, that file is becoming a monster
I'm fine with stuff used in multiple places going there, of course.
But for things used in just one place, it's easier to keep them right next to the point of use, IMHO
lizmat Well, thinking about that, aren't there more places where we need an reliable monotonically increasing number ?
jnthn Easier to find them when changing them
Maybe, but.. :) 12:01
If you generalize it, it becomes a class you make instances of
But making instances of it means you need to make sure we only get one
Which we can do at INIT time I guess
lizmat well, I was more thinking about a hash :-)
jnthn A hash? 12:02
lizmat with the "key" being an string indicating for what you want the counter for
jnthn Then everything that wanted IDs would content on one thing *and* we'd pay the cost of hash lookups ;)
*contend
lizmat ok, fair enough
jnthn But yeah, we can generalize it if needed 12:03
And if it gets more than one use, move it
lizmat let's revisit this when we need an other case of an monotonically increasing number
jnthn Right :)
Premature abstraction is the root of all evil.
lizmat
.oO( Premature abstraction is the meta-root of all evil. )
12:04
jnthn hah :)
masak .oO( Premature complexification is the root of -1 )
jnthn Oh, other reason I worry less about sticking it in Rakudo/Internals.pm is that we actually ahve proper file/line numbers for CORE.setting things :)
Before it was more of a pain to find stuff 12:05
I think I'm gradually settling on us having HyperSeq, RaceSeq, and some role done by all of Seq, HyperSeq, and RaceSeq that factors out their commonalities
lizmat do you find my prototype at all useful ? 12:06
jnthn At the very least it's useful for the questions it asks :) 12:07
I hadn't through about `for` much before it
Also the LAST issue is...telling 12:08
lizmat one thought I had this morning:
jnthn And unique also
lizmat suppose we cehave a .hyper.map.grep.map sequen
suppose we have a .hyper.map.grep.map sequence
and the grep has a FIRST or LAST phaser in it
then the grep would need to be done serially (apart from the fact it doesn't atm, but am looking at that) 12:09
it would be nice if somehow that fact would not stop the next map to be concurrent again
jnthn I don't think it forces serialization of the whole thing 12:10
lizmat well, it does in my prototype, atm
jnthn But yes, we must make absolutely sure that the FIRST runs on the correct value
lizmat but the LAST can never be run 100% correctly 12:11
unless we support a "back-up one" option in iterators
or a "peek-one"
jnthn Yeah, this is one place race is easier than hyper :) 12:12
I think an approach based on "just delegate to the sequential version in batches" is probably not going to fly 12:13
Which implicates not only your prototype, but also the hyper map impl I already did in CORE.setting
What I do think we might be able to do is identify common patterns 12:14
In terms of the "nature" of the operation
lizmat yeah, I guess basically Any-iterable needs an Hyper-iterable counterpart 12:15
jnthn One pattern would be "use the sequential operation, but then allow us to proceed in parallel with further steps" 12:16
Which we can actually do for most things while we flesh the implementations out
Another would be a simple "do it on the batches", which covers simple cases of map/grep without any FIRST/LAST 12:17
lizmat yeah, that part is covered :-) 12:18
jnthn Yet another would be "do some work on the batches, but then do a follow-up shared step"
unique is like that
You can unique things in batches
But you then have to merge the seen hashes and re-unique them
lizmat yeah, and then further unique it down
jnthn And share out the updated merge for the next round
lizmat problem is that you might lose order then
jnthn squish is similar: you can do it in batches but need to also consider the join points
lizmat or maybe not 12:19
yeah, squish is clear
jnthn I *think* you could arrange it so that not
Things like sort are also interesting
In that if it's the transform kind, then you can do the mapping out in parallel
lizmat yeah, actually, unique would be first parallel, then take the result and serial that 12:20
could use the current impl of .unique for that
jnthn *nod*
Anyway, I think it's fairly we'll need the freedom to do things on a per-operation basis
lizmat actually, a simple implementation of .squish could do the same
but it wouldn't be optimal :-) 12:21
agree
repeated would take the same approach as .unique
categorize / classify are interesting cases :-) 12:22
jnthn Also though, looking at my sheet, hyper and race have significant differences
Those two actually aren't too bad at all
Interesting, but they parallelize pretty well :)
It's just that you have to merge hashes
And, with hyper, respect order
That's one of the cases where, like map/grep, hyper and race mostly differ only in respecting original order when assembling stuff 12:24
But we have cases like .reduce where the implementations will look entirely different.
.reduce in hyper ends up being "just inherit reduce" 12:25
.reduce in race can batch
Thus my feeling we want HyperSeq and RaceSeq so we can dispatch differently on these behaviors 12:26
I can't quite bring myself to call the role that shares stuff between them and Seq "Seqqy" :P
lizmat Concurrent ? 12:27
timotimo yeah, also don't call it seqsi
lizmat hmmm...
jnthn No, because it's for Seq as well :)
Which is not concurrent
lizmat perhaps Seq should change its name in the first place
jnthn Rat does the Rational role
lizmat because it is not a ... sequence
jnthn So we could go with Sequence
lizmat per se
jnthn It's a sequence of values 12:28
:)
Depends how you define sequence I guess :)
It's not the same meaning as "sequence operator" though
So yeah, Sequence is probably a bad name for it also :)
lizmat indeed, hence calling them both "sequence" proves to be confusing to teach
jnthn I'd probably just say "seq" :) 12:29
lizmat and cause problem on case insensitive file systems ?
jnthn No, I meant when teaching :)
lizmat ah
jnthn I'd call the Seq type exactly that
And be careful not to pluralize :P :P 12:30
Anyway, we can probably use Seqqy as a working name and TimToady++ can tell us what it should be called :-)
timotimo IteratorCombinators 12:31
lizmat fwiw, sometimes I wonder whether we shouldn't get rid of Seq altogether and make Iterator beefier
jnthn (For the shared role, I mean)
But a Seq is not an Iterator :)
And you never actually see the Iterator type
Part of the reason we wrap things up in Seq is so that we don't end up with a huge proliferation of user-facing type names. 12:32
lizmat I know that, but in many cases I've found myself asking a Seq for its iterator and then work with that down the chain
jnthn That's what we do with all Iterables :)
jnthn remembers ListIter, GatherIter, MapIter, RangeIter... :-)
lizmat we have 165 Seq.new's in core 12:33
jnthn And the moment we leak those out, is the moment we can't refactor them internally, as we have to great benefit
lizmat that's true
so I wonder whether hyper / race processing should have to deal with Seq's at all 12:34
maybe it should all be iterators on the inside
only when we expose to the outside world again, does it become a Seq again
jnthn When you say .hyper or .race you get back *something*
That has to be some type
lizmat true, in my prototype a ConcurrentChain
jnthn And that type is how we know to chain 12:35
lizmat but is it a Seq ?
jnthn No 12:36
HyperSeq or RaceSeq or whatever we choose to call those types
I'm not attached to them having Seq in their name
lizmat HyperChain / RaceChain
jnthn That's an implementation detail rather than how you can consume it, though 12:37
lizmat SerialChain # for ==> processing
concurrent ==> processing
jnthn ==> we have more leeway on because it's syntax :)
A set of ==> joined things could evaluate to Nil, and we just thunk each step and pass it off to something
So I don't know we even need a type there :) 12:38
lizmat but each step could have its own worker thread, no ?
jnthn Yes, that's the idea
It's a way to write producer/consumer pipelines 12:39
Geth rakudo/nom: a123eb310e | (Moritz Lenz)++ | tools/build/NQP_REVISION
Bump NQP revision to get \r\n fix
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....2-g0adbb98
a01d6794d2 | (Zoffix Znet)++ | src/core/IO/Path.pm

Appears to be vestigial, functionality replaced by Proc. No tests. No docs. And has been broken since pre-Christmas.
jnthn Where you know that each step is only going to run on a single thread.
Unlike hyper/race where you map closure could run on a bunch of them 12:40
*your
lizmat foo ==> hyper.bar ==> @a 12:41
Woodi .uniq is funny :) with .grep you split seqs into parallel things, grep them and work on the rest and join. with .uniq reducing in separate strims is not enough - it is needed to add another .uniq after .join... if there is more ops like .uniq we would better check if they obey ops algebra, is it legal to swap ops order
jnthn Woodi: docs.google.com/spreadsheets/d/1kp...sp=sharing contains plenty of thinking on this :)
I guess I kinda like Seq in the name of the hyper/race "monad" types in that once people know what a Seq is (a thing you can put in a one-shot pipeline) it sets up a decent expectation for that HyperSeq and RaceSeq are 12:42
Woodi but some work after .uniq and before .join is wasted on not globally unique elements...
jnthn Especially given that while they may work in parallel and work ahead to get you answers faster, it's still the final sinking or iteration at the end of the chain that actually makes any work happen. 12:43
Woodi jnthn: saw that. and I not get what "delegate to cache" means... 12:44
lizmat The only danger of Seq is that if you work too much with them, you start dreaming about Seqs
jnthn Is that a bad thing? :P
geekosaur if you stare too long into the Seq...
lizmat ah well, it's just like 6 in German :-)
jnthn Woodi: The .cache method
Woodi: Which caches the result 12:45
So you can do stuff like .map(...)[1,5,3] or so
This is nothing new to hyper/race stuff; it's what Seq already does
So all it's really saying is "same as for the sequential case" :)
Ooops, forgot lunch :) 12:47
jnthn should go have that :)
bbi30
Zoffix .ask [Coke] how is your bootstrapification of docs.perl6.org coming along? I'm reviewing some of the IO grant changes that will be done and feels like some of the documentation that will be written would benefit from `"6.d language"` tag in docs. If the site is bootstrapified, I could give a stab and initial language tagging mechanism for the docs... 13:12
yoleaux2 Zoffix: I'll pass your message to [Coke].
Zoffix .tell [Coke] *and add tagging I meant... 13:13
yoleaux2 Zoffix: I'll pass your message to [Coke].
lizmat jnthn: any thoughts about the use of ConcBlockingQueue in my prototype? the mechanism that you know how many IterationEnd's you're going to receive to determine whether to nqp::shift() on the queue or not? 13:23
afk for some schlepping& 13:24
jnthn back
Still pondering that part :)
[Coke] . 13:33
yoleaux2 13:12Z <Zoffix> [Coke]: how is your bootstrapification of docs.perl6.org coming along? I'm reviewing some of the IO grant changes that will be done and feels like some of the documentation that will be written would benefit from `"6.d language"` tag in docs. If the site is bootstrapified, I could give a stab and initial language tagging mechanism for the docs...
13:13Z <Zoffix> [Coke]: *and add tagging I meant...
[Coke] Zoffix: it's stalled at the moment. Because we have Pod::To::HTML in the mix, it's not a simple "change the template" drop in. and I kept getting distracted by other shiny stuff. I'm happy to share my branch in progress, but will not be offended if you take it over or do something else. 13:35
I won't be able to put more time on it until April at this point.
Zoffix [Coke]: alright. So far, I don't think I have much interest in taking it over :) 13:36
I don't think I could survive the bikeshedding and public opinion of the work when it gets merged. The bootstrappification of perl6.org was enough for me :P 13:37
[Coke] Zoffix: yah, i wasn't looking forward to that part. 13:41
It's still on my list, though; it's blocking about a dozen other things I want to do with the site.
jnthn Started a gist where I'm collecting together various hyper/race thoughts: gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7
Woodi i wonder is hyper 14:10
grr... race very simple, just map done few times... 14:11
and is hyper subclass of hyper ? as a kind of behaviour not type
and do GPU integration need to be consideret atm ? 14:12
*subclass of race... 14:13
jnthn No, I don't think they want a subclass relationship 14:14
It's not clear to me which way around they'd go
lizmat jnthn: they share sink-all semantics :-) 15:02
[Coke] is so sad, he broke his recently-found-again Perl 6 pen. 15:03
jnthn lizmat: True-ish-maybe-kinda :)
[Coke] (snapped off the clip)
jnthn lizmat: I think I've got something of a step forward, trying to write it up coherently now :) 15:04
lizmat [Coke]: sorry to hear that, but we don't have any Perl 6 pens anymore ourselves :-( 15:05
[Coke] I'm happy to order a few dozen if you ever re-stock. :) 15:06
btw, please tell wendy I have her marketing sheet printed out on my office door. :) 15:07
lizmat [Coke]: will keep that in mind :-)
👍 15:08
afkj again&
Zoffix lizmat: speaking of which... if there are any more Perl 6 marketing brochures/flyers that need to be made, I have all the resources to do that.... 15:47
Zoffix emails requesting a quote for bus shelter ad 16:04
Dunno how much it'll be, but it'd be a fun way to spice up my commute :D
For a Perl 6 ad that is 16:05
Like this one: www.sambrookmedia.com/newsambrookim...ty_1_1.jpg
DrForr My last place ran one, I took a picture of one I found in Edinburgh. 16:06
Zoffix For Perl 6? :o 16:07
DrForr No, unfortunately. 16:08
Zoffix Hm, found some site with pricing for an adjacent city... Cheapest option is $625 canukistan dollars for 1 panel for 1 month :o 16:10
Zoffix can think of better things to do with that money heh 16:11
geekosaur advertising a programming language on a bus shelter seems ... odd 16:14
(barring fully commercial ones maybe, e.g. matlab --- but even then I'd expect them to aim higher) 16:15
DrForr Now on the Tube...
Zoffix geekosaur: yeah, it was more for fun really, but I'm not spending half a grand for fun :) 16:16
This looks handy to use for our flappers: blogs.perl.org/users/ovid/2017/03/s...story.html 16:17
.oO( build something like that to TAP::Harness... )
16:18
[Coke] Zoffix: yah, I could see throwing a few dozen bucks at that level of fun, but not much more. 16:24
DrForr Good way to induce Python graffiti and a new nasty meme. 16:28
Zoffix lol 16:29
I highly doubt it'd see Python graffiti :P
DrForr I would hope not either, but these things have a way of just happening. 16:30
jnthn lizmat: On gist.github.com/jnthn/6a80a9712fb3...0e46fca6d7 I've sketched out a design that might just work (probably will want some refinement as we implement) 16:32
lizmat: It retains the kind of ConcurrentActionator model where we give it the set of things to coordinate 16:34
lizmat: But generalizes it to a fork/join model which I believe will be sufficiently flexible to compose the various operations we need out of
And also will keep concurrency control largely in that coordinator. 16:35
jnthn should probably take a rest for a bit :) 16:43
[Coke] Sequencetial! (*cringe*) 16:59
Zoffix m: ".".IO.pipe 17:21
camelia No such method 'pipe' for invocant of type 'IO::Handle'
in block <unit> at <tmp> line 1
Zoffix Wonder what that's supposed to be. Delegates to IO::Handle.pipe, but it ain't got such a method... 17:22
Zoffix types "man pipe" into the terminal... I hope there are no pictures... 17:31
Added on Oct 30, 2014 as an intermediate step... And I don't see a Proc.pm file in that era. 17:34
Zoffix assumes .pipe was meant to do the piping behaviour of Perl 5's open, but that stuff has been subsumed by Proc now 17:35
geekosaur I think you want to look at IO::Pipe? 17:36
which indeed is supposed to be generated via Proc
but I don't see this pipe method in docs for either IO::Handle or IO::Path, so no idea what it's supposed to be 17:37
the other possibility is that it's supposed to relate to POSIX fifos, but in that case perhaps it should be punted to ecosystem
Zoffix I'll just mark it for deletion. It hasn't worked for 3 years and no one noticed :) 17:38
Ah 17:39
c: 2014.12 say "cal".IO.pipe.lines 17:40
committable6 Zoffix, ¦2014.12: « March 2017 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 _␈2_␈3 24 25 26 27 28 29 30 31 »
Zoffix Indeed, Proc does this stuff now.
geekosaur maybe it's a convenience method wrapping Proc (likely if it's using IO::Pipe)
c: 2014.12 say "cal".IO.pipe.WHAT 17:41
committable6 geekosaur, ¦2014.12: «(IO::Handle)»
geekosaur hm, 2014 might predate IO::Pipe
Zoffix The commit for it reads "This basically exposes flaws in the current setup: an IO::Path is supposed to be a path on a file system."
geekosaur c: 2014.12 say "/usr/bin/cal".IO.pipe.lines #`{ look, a path :p } 17:42
committable6 geekosaur, ¦2014.12: « March 2017 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 _␈2_␈3 24 25 26 27 28 29 30 31 »
Zoffix c: 2014.12 say "cal | grep ar".IO.pipe.lines 17:43
committable6 Zoffix, ¦2014.12: « March 2017 »
Zoffix heh
.tell AlexDaniel the whateverables aren't that secure with RESTRICTED: c: 2014.12 say "cal | grep ar".IO.pipe.lines
yoleaux2 Zoffix: I'll pass your message to AlexDaniel.
geekosaur I think that's a known shortcoming and AlexDaniel has complained about it before 17:46
Zoffix ZOFVM: Files=1230, Tests=132930, 125 wallclock secs (22.15 usr 3.43 sys + 2398.72 cusr 271.95 csys = 2696.25 CPU) 18:00
Zoffix RabidGravy: what do you mean an "unchanged test failure"? 19:39
A failure in a test I didn't change?
RabidGravy: there's a failure in t/090-ua-ssl.t 19:40
RabidGravy yes
Zoffix That my PR doesn't fix
RabidGravy right
I think the test is wrong, but nothing has changed
Zoffix Other than Rakudo version? 19:41
Or a change on httpbin.org 19:42
RabidGravy but I can't see how it ever threw the exception it is expecting
Zoffix Ah 19:43
Just tried it on 2017.01-144-gf2894d3 and it fails there too
RabidGravy Hmm it must be be the response then 19:44
Zoffix But maybe it didn't throw it in the past and the test was just always skipped due to ::SSL not installed?
Zoffix & 19:47
RabidGravy I think that it's the SSL 19:49
lizmat was medium.com/rubyinside/the-new-abse....dapvisde1 already mentioned here ? 19:59
timotimo yup, an hour ago or so? 20:00
might have been longer
it was in my backlog in any case
15:30 my-local-time
which iirc is your-local-time 20:01
over in #perl6
BBIAB
lizmat is tired and gets an early night 20:23
AlexDaniel . 20:59
yoleaux2 17:43Z <Zoffix> AlexDaniel: the whateverables aren't that secure with RESTRICTED: c: 2014.12 say "cal | grep ar".IO.pipe.lines
AlexDaniel Zoffix: they have never been secure, I know 21:00
RESTRICTED setting doesn't prevent anything anyway
for the last week I've been trying to come up with a solution to this… but it's a bit complicated
timotimo froggs once put a security thingie into moar 21:01
AlexDaniel it should be executed with seccomp filters for sure, but there are other things that have to be done on top of that
firejail seemed like a very easy way to accomplish this, but it seems to be a bit limited and not built for this purpose 21:02
so yeah, thanks for your report… but yeah :( 21:03
I'll get it done eventually
RabidGravy Zoffix, I merged that PR and todo'd the failing test temporarily
Zoffix RabidGravy++ 21:14
m: IO::Handle.^lookup("comb").file.say; IO::Handle.^lookup("split").file.say 21:32
camelia No such method 'file' for invocant of type 'Mu'
in block <unit> at <tmp> line 1
Zoffix huh
c: 1132b1a IO::Handle.^lookup("comb").file.say 21:33
committable6 Zoffix, ¦1132b1a: «No such method 'file' for invocant of type 'Mu'␤ in block <unit> at /tmp/ZixFE3aBGD line 1␤ «exit code = 1»»
Zoffix zoffix@VirtualBox:~$ perl6 -e 'IO::Handle.^lookup("comb").file.say'
SETTING::src/core/IO/Handle.pm
zoffix@VirtualBox:~$ perl6 -v
This is Rakudo version 2017.03-17-g1132b1a built on MoarVM version 2017.03
dafuq?
What I was originally wanting to point out is that IO::Handle.^lookup("split").file.say points to Mu.pm, even though the method is in IO/Handle.pm, but now the .comb is messed too somehow 21:34
m: IO::Handle.^lookup("split").file.say
camelia SETTING::src/core/Mu.pm
jnthn Is it a multi, with a proto in Mu?
Zoffix Ah, wait, the missing `comb` is the restricted bot... 21:35
hm 21:38
m: IO::Handle.^lookup("split").candidates».file.say
camelia ()
AlexDaniel samcv: if I'm getting “should eventually be unreachable” thingy in my code, what does it mean? 21:39
Zoffix jnthn: hm, looks like indeed it's due to the proto. Looks like I need to make a big update to map.perl6.party :)
dammit 21:40
And in the code for it, I use 1 `.file` for all the ».candidates >_< 21:41
oh, actually not that major a change; I'll still have the same number of routines, it's just the filenames for some of them will change 21:49
AlexDaniel heh, full screen of bots rejoining… sorry for that :) 22:41
Zoffix AlexDaniel: what does bloatable do? 22:45
bloatable6: help
bloatable6 Zoffix, Like this: bloatable6: f583f22,HEAD # See wiki for more examples: github.com/perl6/whateverable/wiki/Bloatable
timotimo Zoffix: are you in #moarvm? AD posted a few examples there 22:46
Zoffix Ah. I see. 22:48
t/spec/S05-modifier/ignorecase.rakudo.moar (Wstat: 0 Tests: 36 Failed: 0) 23:56
TODO passed: 32, 36
Files=1230, Tests=132930, 527 wallclock secs (11.47 usr 5.54 sys + 1498.16 cusr 341.13 csys = 1856.30 CPU)
I notice the test uses `.pick($_)` I would suggest that it doesn't so it doesn't flops like that 23:57
Predictable data in tests rules
Sidenote: that stresstest PASS is after deleting 15 methods from IO::Handle :P 23:58
(not gonna commit, part of IO Plan; it was just easier to do it this way than figuring out if these have any tests) 23:59