lizmat Files=1176, Tests=55916, 181 wallclock secs (11.00 usr 4.29 sys + 1066.04 cusr 104.47 csys = 1185.80 CPU) 01:27
MasterDuke timotimo: i don't remember, how familiar are you with the jvm stuff? 03:27
lizmat .tell jnthn 62bd30b3d7953ea9b did not fix segfaults on HARNESS_TYPE=6 :-( 03:58
yoleaux2 lizmat: I'll pass your message to jnthn.
Geth nqp/braids: 15 commits pushed by (Pawel Murias)++, (Jonathan Worthington)++, TimToady++
review: github.com/perl6/nqp/compare/7b1b8...4dce9e8221
04:32
rakudo/braids: 14 commits pushed by (Zoffix Znet)++, (Ronald Schmidt)++, (Jonathan Worthington)++, TimToady++
review: github.com/rakudo/rakudo/compare/b...a431523b1c
[Tux] This is Rakudo version 2017.01-215-ga628826e2 built on MoarVM version 2017.01-49-g7ff91dbb 08:37
csv-ip5xs 2.846
test 12.318
test-t 4.963 - 5.071
csv-parser 13.346
timotimo MasterDuke: mildly familiar 10:51
IOninja gonna do version bumps in ~20m; wanna run stresstest on all the latest and greatest as prep for upcoming releaee 12:38
llfourn m: my @a = <one two three>; my $b = @a.clone; @a.push("four"); say $b; # bug? 12:40
camelia rakudo-moar a62882: OUTPUT«[one two three four]␤»
IOninja there's already a ticket 12:41
llfourn IOninja: cheers. Found it.
IOninja IIRC I even "took" it but my kungfu was too weak to resolve it... and I forgot to untake it 12:42
llfourn s/kungfu/ninjitsu/ 12:43
IOninja :)
llfourn :)
m: my @a = <one two three>; my $b = [@a]; @a.push("four"); say $b; # I expect it to just do this 12:45
camelia rakudo-moar a62882: OUTPUT«[one two three]␤»
IOninja m: my @a = 1, {rand} ... *; my $b = [@a]; say $b[^3]; say @a[^3]; 13:11
camelia rakudo-moar a62882: OUTPUT«(1 0.123251572505615 0.435959887423071)␤(1 0.123251572505615 0.435959887423071)␤»
IOninja Wonder if that's good or bad...
timotimo as soon as you @a = you'll make it caching 13:13
IOninja I mean the clone and original sharing the reifier 13:18
and $!reified too I guess 13:19
m: my @a = 1, {say "reifying"; rand} ... *; my $b = [@a]; $ = $b[^3]; $ = @a[^3]; 13:21
camelia rakudo-moar a62882: OUTPUT«reifying␤reifying␤»
IOninja m: my @a = 1, {say "reifying"; rand} ... *; my $b = [@a]; $ = $b[^3]; $ = @a[^5]; say $b[^5] 13:25
camelia rakudo-moar a62882: OUTPUT«reifying␤reifying␤reifying␤reifying␤(1 0.763841320571926 0.183329790594665 0.75564195143579 0.738884744266966)␤»
IOninja Well, I guess tis a clone. Can't make it do anything undesirable so will commit shortly
though it's a race condition innit? 13:30
timotimo well, yeah, reifying from the same array from two threads is a Bad Idea
m: my @a = 1, {say "reifying"; rand} ... *; my $b = [@a]; $ = $b[^3]; $ = @a[^5]; $ = $b[^7]; $ = @a[^9]; say @a; say $b 13:31
camelia rakudo-moar a62882: OUTPUT«reifying␤reifying␤reifying␤reifying␤reifying␤reifying␤reifying␤reifying␤[...]␤[...]␤»
timotimo haha
m: my @a = 1, {print "."; rand} ... *; my $b = [@a]; $ = $b[^3]; $ = @a[^5]; $ = $b[^7]; $ = @a[^9]; say @a[^9]; say $b[^9] 13:32
camelia rakudo-moar a62882: OUTPUT«........(1 0.692395968887147 0.970311879204904 0.452104353656019 0.809563295224363 0.379891089633615 0.518240110298025 0.735838685526754 0.975253899596657)␤(1 0.692395968887147 0.970311879204904 0.452104353656019 0.809563295224363 0.379891089633615 0.518…»
jnthn Yeah, Array is not threadsafe (nor Hash and friends)
timotimo look, it gets different results
probably .pull-one from the Seq whenever you ask for new elements
and so you're distributing elements from the Seq across both?
IOninja I don't see it getting different results 13:33
m: my $c = 0; my @a = 1, {$c++; rand} ... *; my $b = [@a]; for ^1000 { start { $ = @a[^$_] }; start { $ = $b[^$_] }}; say @a[^1000] eqv $b[^1000]; say $c
camelia rakudo-moar a62882: OUTPUT«True␤0␤»
IOninja 0? it doesn't close over?
timotimo oh 13:34
i accidentally continued from the end of the 2nd line to the start of the 2nd line
IOninja m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { start { $ = @a[^$i] }; start { $ = $b[^$i] }}; say @a[^10] eqv $b[^10]; say $c 13:35
camelia rakudo-moar a62882: OUTPUT«True␤0␤»
IOninja m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { start { $ = @a[^$i] }; start { $ = $b[^$i] }}; say @a[^10] eqv $b[^10]; say $c; say $b[^10]
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja wat
Geth nqp: 575e92bfe2 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
Bump MoarVM

Brings github.com/MoarVM/MoarVM/compare/2...2-g542baec
542baec Merge pull request #537 from MasterDuke17/minor_optimization_to_MVM_string_indexing_optimized 7b2e3d9 Factor out repeated code. 5538029 Del unused var, don't call MVM_string_graphs twice ... (24 more lines)
13:36
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...2-g542baec 13:37
rakudo/nom: 8f53a6fbad | (Zoffix Znet)++ | tools/build/NQP_REVISION
Bump NQP

NQP bump brings:
  github.com/perl6/nqp/compare/2017....5-g575e92b
575e92b Bump MoarVM 6f3417a Fix data race in NFA cache. ... (45 more lines)
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....5-g575e92b
dc69dafc42 | (Zoffix Znet)++ | src/core/Array.pm

Fixes RT#129762: rt.perl.org/Ticket/Display.html?id=129762
Note that the clone shares the reifier with the original. That was discussed and is desirable:
  irclog.perlgeek.de/perl6-dev/2017-...i_14113154
IOninja I don't get what's happening with the (Any) (Any) stuff...
m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { start { $ = @a[^$i] }; start { $ = $b[^$i] }}; sleep 3; say @a[^10] eqv $b[^10]; say $c; say @a[^10] 13:38
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
timotimo m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { start { $ = @a[^$i] }; start { $ = $b[^$i] }}; say @a[^10] eqv $b[^10]; say $c; say $b[^11]
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { start { $ = @a[^$i] }; start { $ = $b[^$i] }}; sleep 3; say @a[^10] eqv $b[^10]; say $c; say @a[^10] 13:39
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja Well,in #zofbot taht gave me <camelia> rakudo-moar a62882: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤Type check failed in binding to <anon>; expected Any but got Mu (Mu)␤ in …»
m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = $b[^$i] }}; say @a[^10] eqv $b[^10]; say $c; say @a[^10]
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja m: my $c = 0; my @a = 1, {say $c++; rand} ... *; my $b = [@a]; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = $b[^$i] }}; say @a[^10] eqv $b[^10]; say $c; say @a[^10] 13:40
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja :(
In #zofbot that gave me: "<camelia> rakudo-moar a62882: OUTPUT«0␤1␤2␤3␤4␤5␤6␤This continuation has already been invoked␤ in block <unit> at <tmp> line 1␤␤»"
timotimo right, that's to be expected 13:41
IOninja And this time I'm doing it thread-safely for each array, but there these races because they still share Refier
timotimo when you don't lock the reifier
IOninja Right, but should clones be tied to each other this way?
IMO not; and circumfix:<[ ]> (Iterable) {} needs a fixing too 13:42
timotimo not sure
IOninja 'cause you get this action at a distance basically. You have two things that may or may not be thread-unsafe clones 13:43
timotimo you're not really "cloning" though?
IOninja m: my $c = 0; my @a = 1, {rand} ... *; my @b = 1, {rand} ... *; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = @b[^$i] }}; say @a[^10] eqv @b[^10]; say $c; say @a[^10] 13:44
camelia rakudo-moar a62882: OUTPUT«True␤0␤((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))␤»
IOninja I don't get why this happens... 13:45
I'm awaiting both promises on each iteration and they each touch separate arrays with separate seqs, wtf 13:47
jnthn m: my $c = 0; my @a = 1, {rand} ... *; my @b = 1, {rand} ... *; for ^10 -> $i { { $ = @a[^$i] }(), { $ = @b[^$i] }() }; say @a[^10] eqv @b[^10]; say $c; say @a[^10] 13:48
camelia rakudo-moar a62882: OUTPUT«False␤0␤(1 0.383855112963563 0.190191991937813 0.129289902338896 0.864548452700285 0.584260348000255 0.14556147270636 0.769068733490131 0.792574010809423 0.674349557873372)␤»
IOninja and getting a bunch of "This continuation has already been invoked" and even SEGV 13:49
jnthn m: my $c = 0; my @a = 1, {rand} ... *; my @b = 1, {rand} ... *; for ^10 -> $i { await start { { $ = @a[^$i] }(), { $ = @b[^$i] }() } }; say @a[^10] eqv @b[^10]; say $c; say @a[^10]
camelia rakudo-moar a62882: OUTPUT«False␤0␤(1 0.038331178164205 0.77736543204001 0.521697040555523 0.931298139738119 0.523021845288893 0.265838958249769 0.0967418282566458 0.864203498554505 0.703111596980713)␤»
timotimo oh, that's weird
jnthn m: my $c = 0; my @a = 1, {rand} ... *; my @b = 1, {rand} ... *; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = @b[^$i] } }; say @a[^10] eqv @b[^10]; say $c; say @a[^10] 13:50
camelia rakudo-moar a62882: OUTPUT«This continuation has already been invoked␤ in block <unit> at <tmp> line 1␤␤»
IOninja Here are the outputs I got in #zofbot: gist.github.com/zoffixznet/53436c4...08fbe34355
jnthn I wonder if there's something awry in SEQUENCE
IOninja s: &SEQUENCE
SourceBaby IOninja, Sauce is at github.com/rakudo/rakudo/blob/a628...rs.pm#L112
jnthn m: my $c = 0; my @a = lazy gather { take 1; loop { take rand } }; my @b = lazy gather { take 1; loop { take rand } }; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = @b[^$i] } }; say @a[^10] eqv @b[^10]; say $c; say @a[^10] 13:52
camelia rakudo-moar 8f53a6: OUTPUT«False␤0␤(1 0.756330359944868 0.618837045723082 0.198287349311726 0.696631172498147 0.329312724413971 0.324949280871508 0.597838155425997 0.627620741322145 0.434517286709839)␤»
jnthn m: my $c = 0; my @a = lazy gather { take 1; loop { take rand } }; my @b = lazy gather { take 1; loop { take rand } }; for ^10 -> $i { await start { $ = @a[^$i] }, start { $ = @b[^$i] } }; say @a[^10] eqv @b[^10]; say $c; say @a[^10]
camelia rakudo-moar 8f53a6: OUTPUT«False␤0␤(1 0.517685008703888 0.406042977439581 0.0789016444057807 0.825124610951737 0.238677816060427 0.328078729529237 0.284027643066457 0.404746614724066 0.752322767245437)␤»
jnthn That works, for example
IOninja Seems less busted, but still got it to produce "This continuation has already been invoked" twice: gist.github.com/zoffixznet/8bcc916...9a75ab4282 13:54
gonna ticket it 13:56
jnthn Ah, then maybe that is where it is... 13:58
IOninja rt.perl.org/Ticket/Display.html?id=130796 14:01
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129762
roast: a460cdc7ac | (Zoffix Znet)++ | S32-array/create.t
Test Array.clone

RT#129762: rt.perl.org/Ticket/Display.html?id=129762 Rakudo fix: github.com/rakudo/rakudo/commit/dc69dafc42
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129762
IOninja t/spec/S17-channel/stress.t hung :( 14:59
unless randomness was seriously not on my side :) 15:01
m: < p e r l s i x >.combinations.elems.say 15:02
camelia rakudo-moar dc69da: OUTPUT«128␤»
IOninja hm, hung again. I guess my Mu:U.clone patch is no good 15:03
nevermind. I'm just impatient apparently :) 15:04
ZOFVM: Files=1225, Tests=132895, 196 wallclock secs (21.60 usr 3.10 sys + 3804.91 cusr 270.19 csys = 4099.80 CPU) 15:08
Geth rakudo/nom: 11d005e605 | (Zoffix Znet)++ | src/core/Array.pm
Implement Mu:U.clone / Fix Array:U.clone

  - Make clone a multi
  - Add Mu:U candidate that just returns self (and complains about
   any twiddles it recieves
   (should it warn instead? should it not bother at all?))
  - Fixes Array:U.clone returning `[Array,]` instead of Array:U
15:10
IOninja ugh
Geth rakudo/nom: 4b85db6e8c | (Zoffix Znet)++ | src/core/Mu.pm
[Part 2] Implement Mu:U.clone / Fix Array:U.clone

Missed file for commit
  github.com/rakudo/rakudo/commit/11d005e605
15:11
roast: ea5cc0d8c2 | (Zoffix Znet)++ | S32-array/create.t
Test Array:U.clone

Rakudo fix:
  github.com/rakudo/rakudo/commit/11d005e605
  github.com/rakudo/rakudo/commit/4b85db6e8c
IOninja NeuralAnomaly: status 17:00
NeuralAnomaly IOninja, [✘] Next release will be in 1 day and 12 hours. Since last release, there are 45 new still-open tickets (0 unreviewed and 0 blockers) and 9 unreviewed commits. See perl6.fail/release/stats for details
IOninja nqp tests pass; rakudo's stresstest passes.
IOninja takes a break from Perl 6 things until tomorrow (hopefully)
TimToady m: my @a = <one two three>; my $b = [@a,]; @a.push("four"); say $b; # [@a] copies by one-arg rule 17:22
camelia rakudo-moar 4b85db: OUTPUT«[[one two three four]]␤»
TimToady llfourn: ^^^
travis-ci Rakudo build failed. Zoffix Znet 'Implement Mu:U.clone / Fix Array:U.clone 17:26
travis-ci.org/rakudo/rakudo/builds/202281678 github.com/rakudo/rakudo/compare/d...d005e605fe
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
IOninja that's just 'cause I forgot to add all the files to the commit; the next commit fixed it 17:30
Geth rakudo/nom: 67aeefacf5 | (Zoffix Znet)++ | src/core/Mu.pm
Fix .perl.EVAL roundtripping for circular Arrays and Hashes

Currently generated my \foo = [\foo] thing doesn't have the correct value when EVALed (foo is still a Mu when its value is used).
Fix for Array and Hashes by using (my @foo) = … and (my %foo) = … thing instead. Everything else will still get the \foo thing.
This can probably fixed for the rest of circular stuff like Pairs and classes with (my $foo) = … but I don't know if the containerization has some sort of impact that would produce the wrong results.
18:31
roast: 8b009ad405 | (Zoffix Znet)++ | 2 files
Test .perl.EVAL roundtripping of circular Arrays and Hashes

Rakudo fix: github.com/rakudo/rakudo/commit/67aeefacf5
18:32
TimToady IOninja: I thought you said you was gonna take a break :) 18:37
IOninja I forgot about it! :) 18:38
Geth roast: b6fa7adbf2 | usev6++ | S17-supply/supplier-preserving.t
Fudge test for Supplier::Preserving on JVM
19:08
nine ~~ 21:23
yoleaux2 14 Feb 2017 04:38Z <MasterDuke> nine: does this seem precomp related? gist.github.com/MasterDuke17/5f071...0f388b51d4
nine .tell ugexe your patch looks fine. It uncovered an interesting riddle though
yoleaux2 nine: I'll pass your message to ugexe.
travis-ci Rakudo build passed. Zoffix Znet 'Fix .perl.EVAL roundtripping for circular Arrays and Hashes 21:50
travis-ci.org/rakudo/rakudo/builds/202352390 github.com/rakudo/rakudo/compare/4...aeefacf5fb
MasterDuke jnthn: i've started looking into Binder.java. however, i don't see any uses of nqp::lists to crib from (or in other places besides Binder.java) 22:19
jnthn MasterDuke: There's probably a .at_pos somewhere, though? 22:24
And a mention of named_names?
MasterDuke get_attribute_native() looks like it'll give int, num, str, or jvm objects. would the list be a jvm_object? 22:25
yes
jnthn You don't have a native attribute though
It's the elements of the list that are native
MasterDuke ah, i had looked for at_pos_native, but didn't find any. however, i just found them in nqp 22:27
jnthn github.com/rakudo/rakudo/blob/nom/....java#L946 is the line that'd need to change