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«reifyingreifying» | ||
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«reifyingreifyingreifyingreifying(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«reifyingreifyingreifyingreifyingreifyingreifyingreifyingreifying[...][...]» | ||
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«True0» | ||
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«True0» | ||
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«True0((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«True0((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«True0((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«True0((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))» | ||
IOninja | Well,in #zofbot taht gave me <camelia> rakudo-moar a62882: OUTPUT«012345678910111213141516171819202122232425262728293031323334353637Type 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«True0((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«True0((Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any))» | ||
IOninja | :( | ||
In #zofbot that gave me: "<camelia> rakudo-moar a62882: OUTPUT«0123456This 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«True0((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«False0(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«False0(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«False0(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«False0(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 |