Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-06-13

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 timotimo i might be onto something.
00:09 timotimo done
00:09 timotimo spec test now
00:09 BenGoldberg joined #perl6-dev
00:14 Geth ¦ rakudo/nom: 46b11f54c0 | (Timo Paulssen)++ | src/Perl6/Actions.nqp
00:14 Geth ¦ rakudo/nom: bring back for ^N { } optimization again
00:14 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/46b11f54c0
00:16 eveo \o/
00:16 eveo timotimo++
00:16 timotimo it'll only take a minute before the whateverables pick that commit up and i can bench it "officially"
00:19 timotimo c: 46b11f54c0 say "i'm here"
00:19 committable6 timotimo, ¦46b11f5: «i'm here»
00:19 timotimo bench: 46b11f54c0,abfb52be1d for ^1_000_000 { }
00:19 benchable6 timotimo, starting to benchmark the 2 given commits
00:19 benchable6 timotimo, benchmarked the given commits, now zooming in on performance differences
00:19 benchable6 timotimo, ¦46b11f5: «0.2715» ¦abfb52b: «0.5507»
00:20 timotimo it's not the 2.5x we had before
00:20 timotimo it's 2x, though
00:20 timotimo maybe it's too little to accurately measure
00:20 timotimo bench: 46b11f54c0,abfb52be1d for ^1-_000_000 { }
00:20 benchable6 timotimo, starting to benchmark the 2 given commits
00:20 benchable6 timotimo, benchmarked the given commits, now zooming in on performance differences
00:20 benchable6 timotimo, ¦46b11f5: ««run failed, exit code = 1, exit signal = 0»» ¦abfb52b: ««run failed, exit code = 1, exit signal = 0»»
00:20 timotimo nooooo
00:20 timotimo bench: 46b11f54c0,abfb52be1d for ^10_000_000 { }
00:20 benchable6 timotimo, starting to benchmark the 2 given commits
00:21 benchable6 timotimo, benchmarked the given commits, now zooming in on performance differences
00:21 benchable6 timotimo, ¦46b11f5: «1.6712» ¦abfb52b: «4.4582»
00:21 timotimo m: say 4.4582 / 1.6712
00:21 camelia rakudo-moar abfb52: OUTPUT: «2.667664␤»
00:21 timotimo that's the factor i was hoping for
00:22 AlexDaniel timotimo: fwiw, you can also push stuff into a branch
00:22 AlexDaniel timotimo: and whateverables will pick it up too
00:22 AlexDaniel timotimo: you'll have to address the commit by its hash though (not by branch name)
00:24 timotimo resolved the ticket
00:24 timotimo thanks, AlexDaniel
00:24 timotimo we can now get less noisy measurements from simple for loops like that again
00:25 AlexDaniel \o/
01:09 samcv anyone else getting failures on GraphemeClusterBreak.t?
01:09 samcv eveo said he was, but i'm not getting any. unless i forgot to bump something. but i remember bumping nqp and moarvm hm.
01:10 samcv yeah i did bump
01:12 timotimo t/spec/S15-nfg/GraphemeBreakTest.t                              (Wstat: 0 Tests: 2411 Failed: 0)
01:12 timotimo TODO passed:   639-640, 2363-2367, 2369-2371, 2382, 2384-2386
01:12 timotimo 2395, 2397
01:33 eveo samcv: that's not the file I referenced. The failures are in 6.c-errata
01:34 eveo #perl6 <yoleaux> 12 Jun 2017 18:48Z <eveo> samcv: on 6.c-errata t/spec/S15-nfg/grapheme-break.t now fails 3 Regional_Indicator tests. Are the tests wrong?
01:34 * eveo returna to sleeping
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
01:54 Ben_Goldberg joined #perl6-dev
02:24 BenGoldberg joined #perl6-dev
03:32 ugexe bisectable6: my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl
03:32 bisectable6 ugexe, Bisecting by exit code (old=2015.12 new=46b11f5). Old exit code: 0
03:32 bisectable6 ugexe, bisect log: https://gist.github.com/704d8c9ddfc94e22b53d8d3379336683
03:32 bisectable6 ugexe, (2017-06-13) https://github.com/rakudo/rakudo/commit/46b11f54c03511a96d4db08213d55bc9c78623c7
03:33 ugexe timotimo: ^
03:45 AlexDaniel well, at least it is fast :)
06:21 [Tux] This is Rakudo version 2017.05-405-g46b11f54c built on MoarVM version 2017.05-76-gba6725f3
06:21 [Tux] csv-ip5xs        2.834
06:21 [Tux] test            12.995
06:21 [Tux] test-t           4.341 - 4.359
06:21 [Tux] csv-parser      13.272
07:23 lizmat joined #perl6-dev
07:32 [TuxCM] joined #perl6-dev
07:43 timotimo ugexe: i don't get it, the exit code and output are all exactly identical for every step in the bisect log?
07:44 timotimo m: my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl
07:44 camelia rakudo-moar 46b11f: OUTPUT: «labeled next without loop construct␤  in block <unit> at <tmp> line 1␤␤»
07:45 timotimo i should be able to figure out the labeledness of the for and bail if it exists
07:46 timotimo that was probably also broken a long time ago when that opt was still working
07:46 timotimo c: releases my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl
07:50 * lizmat is looking at RT #131561
07:50 yoleaux 12 Jun 2017 22:53Z <eveo> lizmat: toaster found a regression in .MixHash coercer. Would you know how to fix this? https://rt.perl.org/Ticket/Display.html?id=131561#txn-1465951
07:51 timotimo commit: releases my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl
08:00 timotimo i killed committable? :(
08:10 Geth ¦ rakudo/nom: bf95bcb6c0 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
08:10 Geth ¦ rakudo/nom: Fix for RT #131561
08:10 Geth ¦ rakudo/nom:
08:10 Geth ¦ rakudo/nom: R:Q.ADD-PAIRS-TO-MIX no longer has a SANITY step that weeded out the
08:10 Geth ¦ rakudo/nom: 0 weight elements before.  Instead, now do this on the fly.  Perhaps
08:10 Geth ¦ rakudo/nom: a final iteration on the resulting hash would be more efficient in some
08:10 Geth ¦ rakudo/nom: cases, but this feels better from a memory usage point of view.
08:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf95bcb6c0
08:15 timotimo m: my @in = 1, 2, 4, 8; do LABEL: for @in -> $index { say $index; next LABEL; };
08:15 camelia rakudo-moar 46b11f: OUTPUT: «1␤labeled next without loop construct␤  in block <unit> at <tmp> line 1␤␤»
08:15 timotimo ^- golfed, doesn't include a range any more
08:15 timotimo also, the optimization already doesn't occur when there's a label
08:18 lizmat timotimo++  *phew*  :-)
08:19 lizmat hmmm...
08:19 lizmat timotimo: yesterday I did a base run of a piece of  code: "my $s = ^1000 .Set; for ^100000 { my $b  }"
08:19 lizmat at ran for 200 msecs, now it runs 1017 msecs  :-(
08:20 lizmat oops, scratch that
08:20 lizmat fluke
08:20 astj joined #perl6-dev
08:20 robertle joined #perl6-dev
08:20 lizmat now it still runs at 200 msecs
08:26 timotimo phew
08:26 timotimo but what does that even do? call .sink on that set a bunch of times?
08:26 timotimo er, "my $b"
08:26 timotimo that has nothing to do with $s at all?
08:27 lizmat indeed, it's the base run
08:27 lizmat a real run would have been something like "my $s = ^1000 .Set; for ^100000 { my $b = 42 ∈ $s }"
08:30 pmurias joined #perl6-dev
08:32 Geth ¦ rakudo/js: 66 commits pushed by (Zoffix Znet)++, (Julien Simonet)++, MasterDuke17++, (Stefan Seifert)++, (Elizabeth Mattijsen)++, (Samantha McVey)++, pmurias++
08:32 Geth ¦ rakudo/js: review: https://github.com/rakudo/rakudo/compare/fb90c9b8e1...ccac70c9c9
08:33 Geth ¦ nqp/master: 6 commits pushed by pmurias++
08:33 Geth ¦ nqp/master: 9434b1ffa3 | [js] Implement nqp::captureposarg_* ops
08:33 Geth ¦ nqp/master: 4cc260ce2c | Test more capture ops
08:33 Geth ¦ nqp/master: 0c35e2b33e | [js] Implement exit_handler
08:33 Geth ¦ nqp/master: 479a7e06a2 | Test exit_handler
08:33 Geth ¦ nqp/master: ce780d8612 | [js] Use correct ctx in exit_handler
08:33 Geth ¦ nqp/master: 9a2c044c43 | Test that we have the correct ctx in exit_handler
08:33 Geth ¦ nqp/master: review: https://github.com/perl6/nqp/compare/cabb94f14c...9a2c044c43
08:33 lizmat timotimo: and I'm not really awake yet, the base run is now 176 msecs, down from 200
08:33 lizmat I hadn't recompiled yet  :-(
08:37 DrForr I'll have to rerun my Perl6::Parser test suite and check out improements.
08:43 Geth ¦ roast: 4e394a9410 | (Elizabeth Mattijsen)++ | 2 files
08:43 Geth ¦ roast: Add tests for RT #131561
08:43 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4e394a9410
08:44 lizmat afk&
08:58 travis-ci joined #perl6-dev
08:58 travis-ci NQP build failed. pmurias 'Test that we have the correct ctx in exit_handler'
08:58 travis-ci https://travis-ci.org/perl6/nqp/builds/242329563 https://github.com/perl6/nqp/compare/cabb94f14cf2...9a2c044c433c
08:58 travis-ci left #perl6-dev
09:03 tadzik clearly we don't %)
09:13 [TuxCM] joined #perl6-dev
09:23 stmuk msg?
09:23 yoleaux 12 Jun 2017 17:50Z <eveo> stmuk: you have a PR in this repo. Also, looks like the Issues tab is disabled: https://github.com/stmuk/tap-harness6-prove6
09:28 stmuk eveo: thanks for useful reminder ... that module only existed as a work around because TAP was in core, can be deleted and I'll update R*
09:35 Geth ¦ rakudo/proc-using-proc-async: dc0e39b621 | (Jonathan Worthington)++ | 3 files
09:35 Geth ¦ rakudo/proc-using-proc-async: Allow chaining .out/.err of Proc to .in of another
09:35 Geth ¦ rakudo/proc-using-proc-async:
09:35 Geth ¦ rakudo/proc-using-proc-async: Done a bit differently from how it was before, but hopefully this way
09:35 Geth ¦ rakudo/proc-using-proc-async: also works out on Windows (the way Proc used to do this failed).
09:35 Geth ¦ rakudo/proc-using-proc-async: review: https://github.com/rakudo/rakudo/commit/dc0e39b621
09:37 Geth ¦ rakudo/proc-using-proc-async: 45fd8fafb3 | (Jonathan Worthington)++ | tools/build/NQP_REVISION
09:37 Geth ¦ rakudo/proc-using-proc-async: Bump NQP_REVISION.
09:37 Geth ¦ rakudo/proc-using-proc-async:
09:37 Geth ¦ rakudo/proc-using-proc-async: To ensure we have all MoarVM and JVM Proc::Async improvements.
09:37 Geth ¦ rakudo/proc-using-proc-async: review: https://github.com/rakudo/rakudo/commit/45fd8fafb3
09:37 * jnthn spectests the merge
09:40 Geth ¦ star: 2ff3371bc9 | (Steve Mynott)++ | 4 files
09:40 Geth ¦ star: Now TAP isn't in core remove tap-harness6-prove6 & replace with tap-harness6
09:40 Geth ¦ star: review: https://github.com/rakudo/star/commit/2ff3371bc9
09:43 Geth ¦ rakudo/nom: 15 commits pushed by (Jonathan Worthington)++
09:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/bf95bcb6c0...ac31c5df46
09:43 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.05-172-g7478e1b38...2017.05-179-g9a2c044
09:47 jnthn There we go
09:48 * jnthn tries to find the toaster URL
09:54 jnthn Latest MoarVM commit should unburn Log::Async
09:55 llfourn jnthn++
09:55 llfourn https://toast.perl6.party/
09:55 jnthn Yeah, found it :)
09:56 jnthn One of those cases where I knew what patch to write but wanted to find a module that needed it :)
09:56 jnthn Just to be sure the fix did what I expected :)
09:57 llfourn mm this toasting is pretty handy for testing
09:58 jnthn Yeah, nice to be able to easily see what got busted since last release
09:58 eveo buggable: speed 4
09:58 buggable eveo, ▂▁▁▁ data for 2017-06-12–2017-06-13; range: 4.341s–4.427s; 2% faster
10:00 * llfourn rebuilds rakudo to see if Proc::Async changes has fixed his OSX issues
10:01 jnthn llfourn: What was the issue, ooc?
10:01 * llfourn looks for RT
10:03 llfourn jnthn: https://rt.perl.org/Public/Bug/Display.html?id=122722
10:04 llfourn or at least that's the reference I put in my code
10:04 llfourn I needed to put a sleep 0.1 to make it work: https://github.com/spitsh/spitsh/blob/master/lib/Spit/cli.pm6#L445
10:04 jnthn Hm, I thought that issue was long fixed...
10:05 llfourn hmm could be
10:06 jnthn https://github.com/rakudo/rakudo/blob/nom/src/core/Proc/Async.pm#L258
10:07 jnthn Note the @!promises there
10:07 llfourn hmm well it looks like it still a bug
10:07 llfourn because I removed that sleep and it no longer works
10:07 jnthn So the fix seems equivalent to the one proposed in the patch
10:08 jnthn oh
10:08 jnthn But that's a write/close race
10:08 jnthn Is $docker an async proc there?
10:08 llfourn yeah
10:08 jnthn Try changing
10:08 jnthn $docker.write($shell.encode('utf8'));
10:08 jnthn to
10:08 jnthn await $docker.write($shell.encode('utf8'));
10:09 llfourn that worked :o
10:09 llfourn thanks!
10:09 jnthn :)
10:09 llfourn I didn't realise .write returned a promise
10:09 llfourn \o/
10:09 jnthn But that RT I think can be closed as it's a differnet problem and we have a fix in place
11:07 nwc10 joined #perl6-dev
11:08 nwc10 for me, the build on master/master/nom is broken
11:08 nwc10 explosions of the form
11:08 nwc10 Internal error: inconsistent bind result at gen/moar/BOOTSTRAP.nqp:3319  (blib/Perl6/BOOTSTRAP.moarvm:)
11:08 nwc10 and
11:08 nwc10 Unhandled exception: Dynamic variable $*ERR not found
11:08 |Tux| joined #perl6-dev
11:09 * pmurias is building a jvm nqp to fix the nqp-j test breakage...
11:20 cognominal joined #perl6-dev
11:40 samcv .tell eveo the tests may me wrong (probably are) I will check on them tomorrow :)
11:40 yoleaux samcv: I'll pass your message to eveo.
11:40 eveo nwc10: are you sure you did the full build and not just make install?
11:40 yoleaux 11:40Z <samcv> eveo: the tests may me wrong (probably are) I will check on them tomorrow :)
11:41 eveo like perl Configure something something
11:44 nwc10 full build from clean
11:55 Geth ¦ roast: 969dc08c1e | (Elizabeth Mattijsen)++ | S03-operators/subset.t
11:55 Geth ¦ roast: Add tests for Map vs Map for the (<=) family
11:55 Geth ¦ roast: review: https://github.com/perl6/roast/commit/969dc08c1e
11:57 Geth ¦ rakudo/nom: e1563a7644 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
11:57 Geth ¦ rakudo/nom: Fix various issues with Map (<=) Map
11:57 Geth ¦ rakudo/nom:
11:57 Geth ¦ rakudo/nom: The truthiness of the values in the Maps weren't checked, when they
11:57 Geth ¦ rakudo/nom: should have been, because they are checked when coercing to a .Set
11:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1563a7644
12:01 lizmat m: dd { a => 0 } (<) { a => 1 }
12:01 camelia rakudo-moar ac31c5: OUTPUT: «Bool::False␤»
12:01 lizmat m: dd { a => 0 }.Set (<) { a => 1 }.Set   # more work to do
12:01 camelia rakudo-moar ac31c5: OUTPUT: «Bool::True␤»
12:02 eveo :/ just got a JSON error when viewing http://ecosystem-api.p6c.org/projects.json
12:02 eveo Looks like the atomic write thing isn't atomicing
12:04 lizmat jnthn: spectest clean on MacOS  (apart from passing GraphemeBreakTests)
12:04 eveo or maybe it's something else; the update runs at 48th minute, so it'd be weird if it finished on 02
12:08 eveo m: $*PERL.compiler.version.say
12:08 camelia rakudo-moar ac31c5: OUTPUT: «v2017.05.421.gac.31.c.5.df.4␤»
12:10 eveo nwc10: sound like you're building the wrong thing. Off an unupdated fork or something. git pull and build works for me. git clone https://github.com/rakudo/rakudo/ .; perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install; works for me. And I see the doc travis run also built the latest commit and other than some ecosystem glitching dthe rakudo built fine:
12:10 eveo https://travis-ci.org/perl6/doc/jobs/242368688
12:13 jnthn nwc10: Odd, I've no idea what that could mean. :S
12:14 nwc10 seems to be working on the new commit from lizmat
12:14 eveo Something's busted with ecosystem. doc fails to install modules and my trying to get Inline::Perl5 installed dies with: ===> Extracting: File::Which
12:14 eveo Extracting with plugin: Zef::Service::Shell::git+{<anon|89153280>}
12:14 eveo ===> Extraction [OK]: File::Which to /home/cpan/.zef/store/perl6-file-which.git
12:14 nwc10 might *just* be a parallel build race
12:14 eveo No meta file? Path: /home/cpan/.zef/store/Inline-Perl5.git/e1563a764462da392c993ee65b538877b423908e
12:14 nwc10 but no, does not make sense
12:16 eveo hm... well, it's not lying. There is in fact no meta file in that dir :/
12:17 jnthn lizmat: Glad to hear it's clean for you also :D
12:18 eveo Not clean for me :) It's failing to install Inline::Perl5, so I can't run full stresstest :)
12:18 jnthn http://news.perlfoundation.org/2017/06/grant-extension-request-perl-6.html # for anyone keen to see me spending lots of time on Perl 6 during the summer :)
12:20 lizmat jnthn: noted for next weeks P6W
12:20 nwc10 no, still goes boom
12:21 nwc10 CORE.d.setting.moarvm
12:21 nwc10 fails with a lot of backtrace, that starts
12:21 nwc10 Stage parse      : Internal error: inconsistent bind result
12:21 nwc10 (well, fails during stage parse)
12:21 lizmat afk for a while&
12:22 jnthn nwc10: That's really odd, I can't understand how that could happen but only locally
12:22 jnthn for you, and not for everyone
12:22 nwc10 yes, it is most strange
12:22 jnthn Can you paste me the backtrace?
12:23 nwc10 http://paste.scsys.co.uk/564428
12:24 jnthn What on earth...
12:25 Geth ¦ nqp: 8856086363 | pmurias++ | src/vm/js/nqp-runtime/sixmodel.js
12:25 Geth ¦ nqp: [js] Fix MODE_BIGINT with type object
12:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/8856086363
12:25 Geth ¦ nqp: 1be5e4889c | pmurias++ | t/nqp/071-setboolspec.t
12:25 Geth ¦ nqp: Test MODE_BIGINT with type object
12:25 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/1be5e4889c
12:25 Geth ¦ nqp: a33cbeb3f4 | pmurias++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
12:25 Geth ¦ nqp: [jvm] Implement nqp::captureposarg_{i,n,s}
12:26 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/a33cbeb3f4
12:28 timotimo eveo: you can reboot committable, right?
12:30 committable6 joined #perl6-dev
12:31 eveo yeah
12:31 committable6 joined #perl6-dev
12:31 eveo c: HEAD say 42
12:31 committable6 eveo, ¦HEAD(e1563a7): «42»
12:35 eveo k, can't install any module
12:37 * eveo nukes all and retries
12:39 lizmat eveo: something like No meta file? Path: /Users/liz/.zef/store/perl6-LN.git/e1563a764462da392c993ee65b538877b423908e
12:39 lizmat ?
12:39 eveo lizmat: yup.
12:39 lizmat ok, confirmed here then
12:39 eveo I tried a bunch of modules, all end with that error
12:40 lizmat feels like jnthn's merge may be the cause ?
12:40 lizmat afk again&
12:44 eveo something's really wrong
12:45 lizmat back again
12:45 lizmat but that wrongness is *not* caught with make test nor make spectest (if Inline::Perl5 is installed)
12:45 eveo Here's part of output of my update-perl6 script that nukes everything and installs everything from scratch. First TAP::Harness test fails saying there was no, plan and then at the bottom it fails with "labeled next without loop construct": https://gist.github.com/zoffixznet/36c0fc419161ff701bf90c41ce7ca934
12:46 lizmat feels like mangled precomp files ?
12:46 * eveo re-runs update-perl6 to see if it spews the same errors
12:47 eveo update-perl6 == rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef; zef install TAP::Harness; zef --serial install Term::ANSIColor File::Temp Slang::Tuxic Testo Benchy
12:52 eveo The answer is Yes.
12:53 travis-ci joined #perl6-dev
12:53 travis-ci NQP build passed. pmurias '[jvm] Implement nqp::captureposarg_{i,n,s}'
12:53 travis-ci https://travis-ci.org/perl6/nqp/builds/242398864 https://github.com/perl6/nqp/compare/9a2c044c433c...a33cbeb3f4b1
12:53 travis-ci left #perl6-dev
12:55 Geth ¦ rakudo/nom: 8d6a9114cb | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Pipe.pm
12:55 Geth ¦ rakudo/nom: Fix typo in error messages
12:55 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8d6a9114cb
13:02 * eveo spies a change in CompWhatever visavis stderr handling
13:04 eveo hm... but it likely not it, 'cause I've just built bf95bcb and installing Inline::Perl5 still dies, though now with the "labeled next without loop construct" error instead of "no meta?"
13:07 jnthn Darn, and all the spectests didn't catch this? :/
13:08 eveo yeah
13:09 jnthn Oh, even more odd, I just did zef install . of some module (actually Log::Async that I fixed the precomp of earlier) and it just worked
13:09 * jnthn runs zef install Testo, which we sure doesn't have installed yet
13:09 jnthn ah, and that reproduces it
13:10 jnthn While it was searching for a prereq...
13:10 eveo I see a change in this diff that old version did '-' if $RMD and piped if not for STDERR, but new version it .notes the STDERR stuff instead of printing if $RMD is there and doesn't collect $err at all. Building now with change but doubt it'll fix antyyhing: https://github.com/rakudo/rakudo/compare/bf95bcb...8d6a911#diff-c97d8fc8b5978ba87f7f726ed9cc28a4
13:13 jnthn eveo: Doesn't collecting it = it just inherits STDERR
13:13 eveo Um. Well,  it does with the loop thing now instead of meta
13:13 eveo *dies
13:15 jnthn I think the only thing for it will be to try and bisect it
13:15 eveo no $RMD => ($proc.err.slurp-rest(:close)) | (.note it)
13:15 eveo $RMD => (inherit) | (inherit)
13:15 eveo ^ and the .note it thing should be $err ~= $_, no?
13:16 jnthn No, the inherit case is when it's not RMD
13:16 jnthn oh, han gon
13:17 jnthn darn
13:17 jnthn Grr, I think I mis-refactored it
13:18 jnthn Yeah, it should append to $err in there
13:18 eveo jnthn: ok, then I'll leave it with you. I gotta go do some things
13:18 * eveo &
13:24 lizmat really afk&
13:28 jnthn I also managed to trigger inconsistent bind result when building an older commit...
13:35 jnthn ohh
13:36 jnthn I think that one was due to a commit in MoarVM master but where a revision bump wasn't done
13:37 jnthn Thus why only building master/master/nom showed it up
13:37 jnthn And it managed to break sufficiently little you could even spectest and stuff
13:42 jnthn Ooh, and I think I may be off the hook for the zef failure
13:43 jnthn I think 46b11f54c03511a96 is guilty
13:43 jnthn The commit before it seems to work, on that commit it busts
13:44 jnthn Trying on nom but with a revert of that
13:46 jnthn Yup, it works
13:47 Geth ¦ rakudo/nom: 4aa60ad040 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
13:47 Geth ¦ rakudo/nom: Revert "bring back for ^N { } optimization again"
13:47 Geth ¦ rakudo/nom:
13:47 Geth ¦ rakudo/nom: This reverts commit 46b11f54c03511a96d4db08213d55bc9c78623c7, which
13:47 Geth ¦ rakudo/nom: appears to break labeled loops (which in turn breaks `zef`; a little
13:47 Geth ¦ rakudo/nom: cocerning that we didn't fail a spectest, however).
13:47 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4aa60ad040
13:49 jnthn timotimo: See ^^, I dunno if it's obvious what's going wrong
13:59 travis-ci joined #perl6-dev
13:59 travis-ci Rakudo build failed. Zoffix Znet 'Fix typo in error messages'
13:59 travis-ci https://travis-ci.org/rakudo/rakudo/builds/242408838 https://github.com/rakudo/rakudo/compare/e1563a764462...8d6a9114cb79
13:59 travis-ci left #perl6-dev
13:59 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
14:00 eveo "Internal error: inconsistent bind result"
14:01 jnthn Already fixed at MoarVM HEAD
14:02 eveo gonna bump then
14:04 jnthn But...the previous NQP_REVISION/MOAR_REVISION was *before* the MoarVM commit that broke things
14:04 SourceBaby joined #perl6-dev
14:04 eveo Ah OK
14:05 jnthn But yeah, can bump 'cus it fixes Log::Async :)
14:05 eveo OK, then I'll bump
14:05 Undercover joined #perl6-dev
14:11 timotimo jnthn: huh, but that optimization bails out when it sees a labeled loop already
14:11 jnthn timotimo: I wonder if the QAST construction busted?
14:11 jnthn Does it push the label into the right place?
14:11 timotimo committable6: releases my @in = 1, 2, 4, 8; do LABEL: for @in -> $index { say $index; next LABEL; };
14:11 committable6 timotimo, https://gist.github.com/59675e08c20984069d4d5f7e84dacc46
14:12 timotimo look, it has been busted for like ever
14:12 eveo 0.o
14:13 eveo bisect: my @in = 1, 2, 4, 8; do LABEL: for @in -> $index { say $index; next LABEL; };
14:13 bisectable6 eveo, Bisecting by exit code (old=2015.12 new=4aa60ad). Old exit code: 0
14:14 bisectable6 eveo, bisect log: https://gist.github.com/fde16d8cf2219f7da2ce0d654f9c4db2
14:14 bisectable6 eveo, (2016-07-04) https://github.com/rakudo/rakudo/commit/5581b24111589683dcd50356a9de2bcf60ae3bb2
14:16 timotimo can you golf the case that's used inside zef so we can see my commit actually break ti?
14:16 timotimo because clearly something was working before that no longer works
14:17 ugexe zef basically just does
14:17 ugexe eager gather LABEL: for 1,2,3 -> $index { take $index; for 1,2,3 { next LABEL; }; };
14:18 ugexe the label being able to "next" the outter loop
14:18 timotimo committable6: releases eager gather LABEL: for 1,2,3 -> $index { take $index; for 1,2,3 { next LABEL; }; };
14:18 committable6 timotimo, ¦releases (19 commits): «»
14:18 timotimo ah, that's because latest fixes it again
14:19 eveo releqases only does releases don't it?
14:19 timotimo committable6: 46b11f5 eager gather LABEL: for 1,2,3 -> $index { take $index; for 1,2,3 { next LABEL; }; };
14:19 committable6 timotimo, ¦46b11f5: «labeled next without loop construct␤  in block  at /tmp/U0wxNiZQ7A line 1␤  in block <unit> at /tmp/U0wxNiZQ7A line 1␤ «exit code = 1»»
14:20 timotimo okay, let me look at it more closely locally
14:20 timotimo it's not conditional on the optimizer running
14:21 eveo c: HEAD,HEAD~1 gather LABEL: for 1 {next LABEL}
14:21 committable6 eveo, ¦HEAD(4aa60ad): «» ¦HEAD~1: «labeled next without loop construct␤  in block <unit> at /tmp/3TZgREii9s line 1␤ «exit code = 1»»
14:21 eveo timotimo: ^ golfed a bit more
14:21 timotimo well, it's appending a label argument to the sink op
14:22 timotimo so that's wrong, but probably not the cause of the splosion
14:26 eveo Filed the other case that's been broken for a year as https://rt.perl.org/Ticket/Display.html?id=131567#txn-1466171
14:27 eveo hm, actually looking at it now seems to be the same cause
14:27 eveo c: HEAD,HEAD~1 say (LABEL: for 1 {next LABEL})
14:27 committable6 eveo, ¦HEAD(4aa60ad),HEAD~1: «labeled next without loop construct␤  in block <unit> at /tmp/Mlcm95ifMC line 1␤ «exit code = 1»»
14:27 eveo c: HEAD,HEAD~1 @ = (LABEL: for 1 {next LABEL})
14:27 committable6 eveo, ¦HEAD(4aa60ad),HEAD~1: «labeled next without loop construct␤  in block <unit> at /tmp/0TVgWE1zL_ line 1␤ «exit code = 1»»
14:28 timotimo hmm. how about a "coverable" bot that just spits out the lines that were covered by a snippet you ran?
14:32 ugexe could just add a `use trace` to the snippet automatically
14:34 ugexe eh you're probably talking about something more useful, code covered in rakudo or something
14:40 robertle joined #perl6-dev
14:48 eveo m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow'))
14:48 camelia rakudo-moar 4aa60a: ( no output )
14:48 eveo m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow'), :nohandler)
14:48 camelia rakudo-moar 4aa60a: OUTPUT: «===SORRY!===␤next without loop construct␤»
14:48 eveo Thought I tried this thing already....
14:48 * eveo re-tries
14:50 eveo Ah, no it's not it
14:51 eveo m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow', 'NEXT', say("Hi")), :nohandler)
14:51 camelia rakudo-moar 4aa60a: OUTPUT: «Hi␤»
14:51 eveo that works fine
14:56 eveo hoping to find this juicy bug before lunch
14:56 eveo ZofBot: no moar dogfood for eveo! Bug sammich \o/
14:56 ZofBot eveo, https://cry
15:07 travis-ci joined #perl6-dev
15:07 travis-ci Rakudo build passed. Jonathan Worthington 'Revert "bring back for ^N { } optimization again"
15:07 travis-ci https://travis-ci.org/rakudo/rakudo/builds/242428275 https://github.com/rakudo/rakudo/compare/8d6a9114cb79...4aa60ad040bf
15:07 travis-ci left #perl6-dev
15:14 [Coke] 'zef info zef' shows Identity: zef:ver('0.1.7'):auth('github:ugexe')
15:14 [Coke] zef --verbose upgrade zef shows: The following distributions are already at their latest versions: zef:ver('0.1.16'):auth('github:ugexe')
15:15 [Coke] is it comparing those versions as "7" gt "16" ?
15:15 [Coke] (is my zef too old to make my zef not too old?)
15:16 eveo m: say 0.1.7 before 0.1.16
15:16 camelia rakudo-moar 4aa60a: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3say 0.1.7⏏7 before 0.1.16␤»
15:16 eveo m: say v0.1.7 before v0.1.16
15:16 camelia rakudo-moar 4aa60a: OUTPUT: «True␤»
15:18 eveo don't think I have a box with zef older than 0.1.16.... zef info zef tells me 0.1.16
15:18 [Coke] eh, I'll force it this once.
15:20 [Coke] ugexe++ love that 'zef info zef' points me at the bugtracker.
15:29 ugexe [Coke]: i try to reproduce that problem here https://github.com/ugexe/zef/issues/172 but fail
15:30 ugexe i show how to go from no zef, to 0.1.15, to upgrading to 0.1.16
15:31 ugexe i'm not sure how the zef version would cause the issue, and rakudo wise the only thing i can think of is maybe an older version is not invaliding precomp properly?
15:33 [Coke] 2017.05-315-g160de7e6f
15:33 ugexe are you able to reproduce from a clean state? if i could just reproduce it myself...
15:34 [Coke] I can't reinstall zef ...7 at this point, can it?
15:34 [Coke] *I?
15:34 ugexe yeah, one second
15:34 eveo oohhh
15:35 [Coke] ... eh, I suppose I could if I used github.
15:35 eveo I think I see the bug for the label thing
15:35 ugexe `zef install https://github.com/ugexe/zef/archive/v0.1.7.tar.gz` should do it
15:35 [Coke] but also, since I can't have a clean zef (it's always touching ~/.perl6, even if I have a rakudobrew in one place, and a separate rakudo install elsewhere, right?)
15:36 [Coke] I also am on OS X, fwiw.
15:36 ugexe technically ~/.perl6 should be separated between compiler versions
15:36 ugexe yeah I tested on OSX as well
15:39 [Coke] perl Configure.pl --backends=moar --gen-nqp --gen-moar # error: pathspec '2017.05-152-gc8916bc5a' did not match any file(s) known to git.
15:39 [Coke] ... whoops, js branch.
15:47 eveo Dammit, Imma blind. The bug was right THERE all this time and I didn't even notice it
15:48 eveo And I think I saw it before and mentioned it on some ticket already
15:52 eveo yup. compiled and confirmed the fix works. Gonna rake through the codebase for any more instances of it, write tests, commit, and then revert back that for ^N{} perf opt
16:04 BenGoldberg joined #perl6-dev
16:05 eveo w00t found this bug's cousin hiding a hundred lines avove :)
16:07 [Coke] ugexe: if I'm starting from a clean slate, how can I use 'zef install <old version of zef' ?
16:07 [Coke] wouldn't I install the old version *first* ?
16:08 eveo cd $(mktemp -d); git clone https://github.com/ugexe/zef/ .; git checkout v0.1.7; perl6 -Ilib bin/zef install .
16:10 [Coke] right.
16:12 [Coke] (thank you for giving me a cut-and-paste!)
16:13 [Coke] ugexe: same error.
16:13 eveo Any idea how to trigger this method? https://github.com/rakudo/rakudo/blob/nom/src/core/Any-iterable-methods.pm#L326
16:13 [Coke] I have zef info zef showing 0.1.7, and zef upgrade zef telling me it's already at the latest version (0.1.16)
16:13 eveo It's got the `next` bug in it and I'm trying to cover it, but can't figure out when it would be called
16:14 eveo m: (FOO: for ^10 -> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all
16:14 camelia rakudo-moar 4aa60a: OUTPUT: «0␤labeled next without loop construct␤  in block <unit> at <tmp> line 1␤␤»
16:14 eveo ^ that ain't it
16:14 [Coke] ugexe: this with rakudo 2017.05-424-g4aa60ad04
16:14 [Coke] so, let me know what I can run to get more debug output, etc.
16:15 eveo This seems to be it: FOO: ^10 .map(-> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all
16:19 eveo huh, nope. Not it. But it's at least hitting the 4th bug that's still somewhere there
16:26 Geth ¦ rakudo/nom: b0a1b6c31c | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
16:26 Geth ¦ rakudo/nom: Analyze methods for "can never use return" also.
16:26 Geth ¦ rakudo/nom:
16:26 Geth ¦ rakudo/nom: This means that we can generate simpler code for such methods, which
16:26 Geth ¦ rakudo/nom: in turn makes many more methods possible to inline.
16:26 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0a1b6c31c
16:27 jnthn m: say 2.579 / 2.767
16:27 camelia rakudo-moar 4aa60a: OUTPUT: «0.932056␤»
16:27 eveo k, it does seem to be it, but it doesn't wanna fix the same way as other spots
16:27 jnthn m: say 2.579 / 2.873
16:27 camelia rakudo-moar 4aa60a: OUTPUT: «0.897668␤»
16:27 jnthn m: say 2.579 / 1.134
16:27 camelia rakudo-moar 4aa60a: OUTPUT: «2.274250␤»
16:28 jnthn m: say 2.873 / 1.134
16:28 camelia rakudo-moar 4aa60a: OUTPUT: «2.533510␤»
16:29 jnthn Those are, respectively, speed gained on a for lines benchmark from the commit above, overall gain today with my commits over in MoarVM, how much faster Perl 5 is at us than this (assuming we do UTF-8 decoding and chomp), and how much faster it was than us before I did this work
16:30 eveo sweet
16:30 eveo jnthn++
16:30 jnthn Takeaway: `my $fh = open "longfile"; my $chars = 0; for $fh.lines { $chars = $chars + .chars }; $fh.close; say $chars` runs in 90% of the time it used to after this work
16:31 jnthn Though I should also take a measurement from before my I/O refactors
16:35 jnthn Aww, it was actually faster before the refactors
16:35 jnthn 2.421
16:36 jnthn But (a) we can still win that back easily, and (b) we're able to support user-space encodings now
16:36 jnthn Not that we implemented the latter
16:36 jnthn But the layer of indirection is there
16:44 eveo Ah, ok, it's crashing because `FOO: ^10 .map(-> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all` is not a way to add a lable to that block
16:45 eveo Still trying to hit this line: https://github.com/rakudo/rakudo/blob/nom/src/core/Any-iterable-methods.pm#L326
16:46 eveo m: FOO: for ^3 { ^10 .map(-> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all }
16:46 camelia rakudo-moar b0a1b6: OUTPUT: «0␤0␤0␤»
16:46 eveo dammit
16:47 eveo That hits that block, but not the next codepath because it's not the right block that's labeled
16:49 eveo oh
16:49 eveo m: FOO: for ^10 -> $_ --> Int { .say; next FOO; }
16:49 camelia rakudo-moar b0a1b6: OUTPUT: «0␤labeled next without loop construct␤  in block <unit> at <tmp> line 1␤␤»
16:49 eveo yey
16:51 eveo So 4 bugs in total. A whole family of them
16:51 eveo ZofBot: yum nom nom nom. DELISHUS!
16:51 ZofBot eveo, Just passing it the original thing
16:55 ugexe [Coke]: you can perl6 -Ilib bin/zef install $url as well
16:56 eveo ZOFFLOP: t/spec/S17-supply/supplier-preserving.t
16:59 [Coke] ugexe: I can duplicate the error now; what more debug output do you need?
17:00 ugexe all i really need to know is the commands since I already know what im looking for
17:00 Geth ¦ rakudo/nom: 3b67b4acea | (Zoffix Znet)++ | src/core/Any-iterable-methods.pm
17:00 Geth ¦ rakudo/nom: Fix 4 cases of crashes with labeled `next`
17:00 Geth ¦ rakudo/nom:
17:00 Geth ¦ rakudo/nom: A bunch of nqp::handle are missing a branch for `NEXT`, so when
17:00 Geth ¦ rakudo/nom: we try to `next SOMELABEL` in for/map loops, we get a crash,
17:00 Geth ¦ rakudo/nom: complaining we're trying to do labeled next without a label.
17:00 Geth ¦ rakudo/nom:
17:00 Geth ¦ rakudo/nom: Fix by adding npq::null NEXT handlers.
17:00 Geth ¦ rakudo/nom:
17:00 Geth ¦ rakudo/nom: Fixes RT#131567: https://rt.perl.org/Ticket/Display.html?id=131567
17:00 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b67b4acea
17:02 eveo ugexe: did you say you tried upgradeing 0.1.16 to 0.1.17 and failed to reporudce the issue. That sounds like there was a bug in upgrade feature in 0.1.7...0.1.16 versions that got fixed
17:02 Geth ¦ roast: 9f418777bc | (Zoffix Znet)++ | S04-statements/for.t
17:02 Geth ¦ roast: Cover crashes in labeled next in for/map
17:02 Geth ¦ roast:
17:02 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/3b67b4acea
17:02 Geth ¦ roast: RT#131567:  https://rt.perl.org/Ticket/Display.html?id=131567
17:02 Geth ¦ roast: review: https://github.com/perl6/roast/commit/9f418777bc
17:03 ugexe from 0.1.15 to 0.1.16 yeah, but this also happened with 0.1.9 for someone else and I made no changes that would affect it as such
17:04 * eveo does the version bumps
17:06 [Coke] ugexe: so, I installed a fresh perl6 into ./install - I then installed zef 0.1.7 from a git checkout (as eveo suggested), then tried with that installed zef to run 'zef upgrade'. Do you need more details?
17:07 ugexe [Coke]: can you try `perl6 -Ilib bin/zef info zef` too?
17:07 ugexe that should test if its the bin wrapper
17:07 ugexe which does a version sort thing
17:07 [Coke] given bin/zef is relative, what is my starting directory?
17:08 ugexe git clone $zef, cd zef, perl6 -Ilib bin/zef info zef
17:08 [Coke] the git checkout at 0.1.7 ?
17:08 [Coke] ok, a fresh clone at HEAD.
17:08 ugexe yeah
17:10 [Coke] perl6 -Ilib bin/zef info zef > HEAD.out; zef info zef > installed.out; diff HEAD.out installed.out # no diff
17:11 [Coke] (both show 0.1.7 as the installed version)
17:11 ugexe grr. sort is acting funny in zef somewhere then, but not when i try to reproduce.
17:12 [Coke] where in zef is the code doing the compare?
17:12 [Coke] I can try to golf it to something that fails on OS X.
17:12 [TuxCM] joined #perl6-dev
17:17 [Coke] $latest-installed.dist.ver cmp $candi.dist.ver looks like the snippet from 0.1.7
17:20 lizmat Zoffix++
17:21 Geth ¦ nqp: 4717849a94 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
17:21 Geth ¦ nqp: Bump MoarVM
17:21 Geth ¦ nqp:
17:21 Geth ¦ nqp: MoarVM bump brought commits:
17:21 Geth ¦ nqp: https://github.com/MoarVM/MoarVM/compare/2017.05-76-gba6725f3...2017.05-85-g21ee1a5
17:21 Geth ¦ nqp:
17:21 Geth ¦ nqp: 21ee1a5 Fix missed opportunity to run JITted code.
17:21 Geth ¦ nqp: 2e9aff7 Keep named-used marking if binding can de-opt.
17:21 Geth ¦ nqp: <…commit message has 7 more lines…>
17:21 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/4717849a94
17:21 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.05-76-gba6725f3...2017.05-85-g21ee1a5
17:21 Geth ¦ rakudo/nom: 97298aca4e | (Zoffix Znet)++ | tools/build/NQP_REVISION
17:21 Geth ¦ rakudo/nom: Bump NQP
17:21 Geth ¦ rakudo/nom:
17:21 Geth ¦ rakudo/nom: NQP bump brought commits:
17:21 Geth ¦ rakudo/nom: https://github.com/perl6/nqp/compare/2017.05-179-g9a2c044...2017.05-183-g4717849
17:21 Geth ¦ rakudo/nom:
17:21 Geth ¦ rakudo/nom: 4717849 Bump MoarVM
17:21 Geth ¦ rakudo/nom: a33cbeb [jvm] Implement nqp::captureposarg_{i,n,s}
17:21 Geth ¦ rakudo/nom: <…commit message has 15 more lines…>
17:21 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97298aca4e
17:21 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.05-179-g9a2c044...2017.05-183-g4717849
17:22 Geth ¦ rakudo/nom: 06c2e220e5 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
17:22 Geth ¦ rakudo/nom: Remove superfluous comma
17:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/06c2e220e5
17:22 ugexe [Coke]: ok i see what the issue likely is
17:24 ugexe .candidates (a "best" match search) does sort, but .search (what backs zef info) does not
17:25 ugexe not sure why the order always works out for me with .search, but thats gotta be it
17:35 eveo I'm still getting failures with module install right now. After the bump: https://gist.github.com/zoffixznet/578ffa8c4a2e9b2c0f5b5db1f86faddc
17:35 eveo Complains about built.
17:36 eveo This is without for ^100 {...} opt brought in (which I'll bring in back right now).
17:36 ugexe doh, the build stuff is a big ball of fuck-all workarounds
17:37 lizmat fwiw, I'm also seeing zef install problems: no meta file?
17:37 ugexe what if you run the command shown (above the first SORRY)
17:38 eveo lizmat: that should be fixed now. Are you sure you built all the latest commits?
17:38 ugexe the no meta file thing makes me think run/shell is not handling :cwd() the same as before
17:38 eveo lizmat: or maybe I'm misremembering. There was a bunch of bugs... and some got fixed :)
17:38 lizmat eveo: $ git describe
17:38 lizmat 2017.05-428-g06c2e22
17:38 lizmat my last install was including a configure
17:39 lizmat perl Configure.pl --gen-moar --gen-nqp --backends=moar --make-install
17:39 eveo ah, k, it's the loop thing and the binding error that got fixed.
17:39 ugexe eveo: in that gist what happens if you run the command shown above the first SORRY?
17:39 eveo 1 sec
17:40 eveo or rather 120secs. I'm stresstesting ATM
17:41 ugexe also may want to try it inside of *and* outside of '/home/cpan/.zef/store/Inline-Perl5.git/693e5764168c64584cc74a639ead44f7b9205e73' as cwd
17:42 * ugexe cant test anything for a few hours
17:42 Geth ¦ rakudo/nom: 6900078434 | (Zoffix Znet)++ | src/Perl6/Actions.nqp
17:42 Geth ¦ rakudo/nom: Revert "Revert "bring back for ^N { } optimization again""
17:42 Geth ¦ rakudo/nom:
17:42 Geth ¦ rakudo/nom: This reverts commit 4aa60ad040bf57425ea28cba1f391c1d0e05907f.
17:42 Geth ¦ rakudo/nom:
17:42 Geth ¦ rakudo/nom: The bug that caused the revert of this commit was fixed in:
17:42 Geth ¦ rakudo/nom: https://github.com/rakudo/rakudo/commit/3b67b4acea
17:42 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6900078434
17:43 eveo ugexe: which command? The /home/cpan/CPANPRC/rakudo/install/bin/perl6 -Ilib -I. -MBuild ? It doesn't seem to be a proper command
17:43 ugexe yeah looks like cwd is not getting set on spawned procs. the SORRY error shows /rakudo/lib and /rakudo at the head of the repo chain, but those should be pointing at that Inline::Perl5 directory
17:43 eveo k, need to escape the last arg manually
17:44 ugexe its a proper command, you just need to wrap the 2 items at the end with '' (after the -e)
17:44 eveo s: &run'
17:44 SourceBaby eveo, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Unable to parse expression in argument list; couldn't find final ')' ␤at -e:6␤------>     put sourcery( &run<HERE>' )[1];␤    expecting any of:␤        infix␤        infix stopper␤
17:44 eveo s: &run
17:44 SourceBaby eveo, Sauce is at https://github.com/rakudo/rakudo/blob/3b67b4a/src/core/Proc.pm#L158
17:45 eveo Yeah, good spot ugexe++ :cwd isn't passeed
17:45 eveo s: Proc, 'spawn'
17:45 SourceBaby eveo, Sauce is at https://github.com/rakudo/rakudo/blob/3b67b4a/src/core/Proc.pm#L118
17:46 eveo Yeah, see it. Gonna fix in a sec
17:49 ugexe i can replicate to see thats true, but not seeing where cwd is actually not being passed in those links though
17:50 eveo in !spawn-internal in $!proc.start
17:52 ugexe ah clearly
17:56 eveo looks like there's another bug hiding in IO::Pipe
17:57 eveo "No such method 'quit' for invocant of type 'Channel'"
17:57 eveo When trying to slurp off a pipe from run(:out).out
17:57 eveo Surprised existing tests don't catch that :S
17:58 eveo maybe it's just my test :/
18:00 ugexe pipe used to provide its own slurp-rest but that got removed a few weeks ago i think
18:02 eveo It's something about CWD
18:02 eveo cpan@perlbuild4~/CPANPRC/rakudo (nom)$ ./perl6 -e 'run(:out, $*EXECUTABLE, "-e", 「say 42」).out.slurp'
18:02 eveo cpan@perlbuild4~/CPANPRC/rakudo (nom)$ ./perl6 -e 'run(:out, :cwd</>, $*EXECUTABLE, "-e", 「say 42」).out.slurp'
18:02 eveo Unhandled exception in code scheduled on thread 3
18:02 eveo No such method 'quit' for invocant of type 'Channel'. Did you mean any of these?
18:02 eveo Oh right
18:02 eveo There's no ./perl6 or whatever in that dir
18:02 eveo (I think that is it)
18:03 eveo Yeah. run(:out, "meow").out.close gives same result
18:07 ugexe $*EXECUTABLE should use the full path though, so it should affect that?
18:07 ugexe shouldnt^
18:08 eveo Yeah, it does. If I try to run it manually I get "Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'"
18:08 ugexe obviously it does, i mean I dont understand why that would happen
18:08 eveo it needs something in %ENV*<PATH> to work
18:09 ugexe ah I think i've encountered proc or proc async issue where i had to do `my $env = %*ENV; run(..., :$env)`
18:09 ugexe even though that should have been getting set as a default
18:10 eveo heh, good thing you mentioned that, 'cause I now see run fails to pass :env too :)
18:12 eveo now I just need to figure out a way to test this :/
18:13 timotimo is that what you get when you run the perl6-m inside the rakudo source tree rather than the one udner install/bin?
18:13 BenGoldberg To test, have the child process attempt to print something from it's own env.
18:14 BenGoldberg run(:out, $*EXECUTABLE, "-e", 'say $*ENV{ok} // "fail"', env => { ok => ok }), or somesuch.
18:15 eveo I meant test the :cwd
18:15 eveo I need to shove something into %*ENV<PATH> to make it work
18:15 BenGoldberg Put two executables of different names in two different directories, and see which is run.
18:16 BenGoldberg s/different names/the same name/
18:16 eveo Yeah, executables isn't something I have lying around
18:17 BenGoldberg On *nix, a script with the exec bit set should work.
18:18 eveo roast is for all OSes
18:19 eveo I don't know what it's problem is. I set PATH right.
18:19 eveo Guess I should fix the error out of failed procs and see what the error is
18:20 * BenGoldberg feels silly.  What's wrong with run(:out, :cwd</>, $*EXECUTABLE, "-e", 'say $*CWD') ?
18:20 eveo I kinda thought Proc::Async had a Proc under the hood, which you get from Proc::Async.start, so now with Proc being implemented in terms of Proc::Async, it's kind of a twister...
18:20 eveo BenGoldberg: it doesn't start
18:21 BenGoldberg Proc::Async and Proc had previously been totally independent of one another.
18:22 BenGoldberg Proc had a bit more functionality, but for historical raisins, it was not possible to implement Proc::Async in terms of Proc.
18:22 eveo But Proc::Async gave you Proc from .start's Promise
18:23 * BenGoldberg might be misremembering.
18:23 AlexDaniel joined #perl6-dev
18:25 eveo ah, k, sorted it. $*EXECUTABLE has ""./perl6"" as path and not just .perl6
18:25 eveo *perl6
18:31 Geth ¦ rakudo/nom: 69b1b6c808 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp
18:31 Geth ¦ rakudo/nom: Suggest 'last' on compile-time error for 'break'
18:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69b1b6c808
18:32 BenGoldberg m: dd $*EXECUTABLE
18:32 camelia rakudo-moar 690007: OUTPUT: «IO::Path.new("./rakudo-m-inst/bin/perl6-m", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))␤»
18:32 nwc10 left #perl6-dev
18:32 BenGoldberg m: dd $*EXECUTABLE.absolute
18:32 camelia rakudo-moar 690007: OUTPUT: «"/home/camelia/rakudo-m-inst/bin/perl6-m"␤»
18:34 BenGoldberg eveo, Try using that ^ when doing the cwd test.
18:36 eveo BenGoldberg: it doesn't like it. Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'\n   at <unknown>:1  (/home/cpan/CPANPRC/rakudo/perl6.moarvm:<dependencies+deserialize>)\
18:37 Geth ¦ rakudo/nom: e1aa16cdb3 | (Zoffix Znet)++ | src/core/Proc.pm
18:37 Geth ¦ rakudo/nom: Fix regression in run/shell not propagating :cwd and :env
18:37 Geth ¦ rakudo/nom:
18:37 Geth ¦ rakudo/nom: Fixes module install issues.
18:37 Geth ¦ rakudo/nom: Bug find: https://irclog.perlgeek.de/perl6-dev/2017-06-13#i_14727506
18:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1aa16cdb3
18:38 BenGoldberg Erm.  Include LD_LIBRARY_PATH in the env?
18:38 * lizmat tests
18:40 eveo I forgot to spectest that one actually :|
18:40 eveo only ran the new test I wrote
18:42 lizmat eveo: LN fails to install because of test failures in Temp::Path
18:42 eveo ZOFVM: Files=1255, Tests=139011, 117 wallclock secs (20.52 usr  3.25 sys + 2294.07 cusr 173.19 csys = 2491.03 CPU)
18:43 lizmat eveo: with --force it installs ok
18:44 lizmat m: my $a = 42; $a = $a but role { method foo { "foo" } }; dd $a.foo   # this works
18:44 camelia rakudo-moar 690007: OUTPUT: «"foo"␤»
18:44 eveo lizmat: what sort of failures?
18:44 lizmat m: my $a = 42; $a but=  role { method foo { "foo" } }; dd $a.foo   # why doesn't this ?
18:44 camelia rakudo-moar 690007: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Cannot make assignment out of but because structural infix operators are too diffy␤at <tmp>:1␤------> 3my $a = 42; $a but=7⏏5  role { method foo { "foo" } }; dd $a.f␤»
18:44 eveo I know Temp::Path's tests were segfaulting last night
18:44 lizmat Aborting due to test failure: Temp::Path:ver('1.001001')
18:44 lizmat is there an easy way to run the tests of an installed module ?
18:45 eveo zef look Temp::Path; zef --/tap-harness test .
18:45 eveo zef look Temp::Path; zef --debug --/tap-harness test .
18:45 eveo oh that still won't show all without a custom zef
18:45 eveo zef look Temp::Path; zef --debug --/tap-harness --/prove test .
18:46 lizmat tests ok this way  :-(
18:46 ugexe you can set tap harness verbosity with some env var too
18:47 ugexe er, perl5's prove via a TAP_HARNESS liek env var
18:48 eveo lizmat: sounds like this bug is still unfixed by the Proc refactor as was hoped. https://rt.perl.org/Ticket/Display.html?id=131510#ticket-history
18:49 Geth ¦ roast: 31e2f175a4 | (Zoffix Znet)++ | S29-os/system.t
18:49 Geth ¦ roast: Test run propagates :cwd and :env
18:49 Geth ¦ roast:
18:49 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/e1aa16cdb3
18:49 Geth ¦ roast: review: https://github.com/perl6/roast/commit/31e2f175a4
18:52 ugexe https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/PrecompilationRepository.pm#L258
18:53 ugexe $err is not really used in a way that would ever do anything
18:53 eveo ugexe: https://irclog.perlgeek.de/perl6-dev/2017-06-13#i_14725874
18:54 eveo was about to add that, just testing the module install stuff is fixed...
18:54 ugexe heh i was just about to ask that same thing
18:58 eveo yey... upgrade-perl6 worked flawlessly this time :D
19:04 eveo ZOFVM: Files=1255, Tests=139011, 113 wallclock secs (19.32 usr  3.19 sys + 2214.24 cusr 159.24 csys = 2395.99 CPU)
19:04 eveo yes! the run time numbers are low again :D
19:04 Geth ¦ rakudo/nom: f7d183b91f | (Zoffix Znet)++ | src/core/CompUnit/PrecompilationRepository.pm
19:04 Geth ¦ rakudo/nom: Fix STDERR handling when $RMD is not set
19:04 Geth ¦ rakudo/nom:
19:04 Geth ¦ rakudo/nom: The Proc::Async refactor[^1] accidentally made
19:04 Geth ¦ rakudo/nom: STDERR .note its output to $*ERR, instead of capturing
19:04 Geth ¦ rakudo/nom: it and then testing.
19:04 Geth ¦ rakudo/nom:
19:04 AlexDaniel timotimo: “i don't get it, the exit code and output are all exactly identical for every step in the bisect log?” yep, that's how it works if the offending commit is the last one
19:04 Geth ¦ rakudo/nom: The $err is already tested where .err.slurp-rest(:close) was
19:04 Geth ¦ rakudo/nom: being tested before. Fix by changing the code to capture
19:04 Geth ¦ rakudo/nom: STDERR to $err var.
19:04 Geth ¦ rakudo/nom:
19:04 Geth ¦ rakudo/nom: [1] https://github.com/rakudo/rakudo/commit/3adb14af96fd231c6e789ea069a33827d3174d84
19:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f7d183b91f
19:09 AlexDaniel timotimo: because the bisection itself does not need to test the endpoint
19:10 AlexDaniel (if one of the starting points was marked as “bad” already, we don't need to test it again to get our result)
19:11 jnthn jnthn-- # bugs
19:11 AlexDaniel timotimo: but I created this: https://github.com/perl6/whateverable/issues/160
19:12 jnthn eveo++ # fixes and, importantly, the tests that one woulda wished were there in the first place...
19:12 eveo jnthn++ Proc refactor :)
19:14 AlexDaniel timotimo: and also this, but you'll have to elaborate more :) https://github.com/perl6/whateverable/issues/161
19:14 eveo jnthn: what should this be? https://github.com/rakudo/rakudo/compare/bf95bcb...8d6a911#diff-7e0467c62428b3696cb555c69c52a4a0R61
19:15 eveo jnthn: there's no method quit on a Channel, so run(:out, "meows").out.slurp(:close) no complains there's no quit on channel
19:15 eveo s/no/now/
19:16 jnthn oh my, why didn't we call it quit there too
19:16 jnthn I think .fail
19:17 eveo k, I'll change
19:17 jnthn yes: https://github.com/rakudo/rakudo/blob/nom/src/core/Channel.pm#L245
19:23 ugexe https://rt.perl.org/Public/Bug/Display.html?id=127682 appears to be resolved now
19:28 ugexe eh, proc::async uses :$cwd and :%ENV?
19:28 jnthn Yeah, I spotted that inconsistency
19:29 jnthn It was done to match with %*ENV
19:29 jnthn Then Proc picked %env
19:29 jnthn We should probably make %env work on Proc::Async too
19:29 ugexe then i added :CWD to Proc, and that got renamed to :cwd for consistency heh
19:29 jnthn :%env that is
19:29 jnthn heh
19:29 jnthn Yeah
19:29 jnthn fail
19:30 jnthn There's also some :$enc vs :$encoding too I think
19:30 jnthn Though we can probably alias those everywhere also
19:30 jnthn Gotta go for a bit; bbl
19:30 eveo IO::Handle.read requires a size; .readchars takes a positional, defaulting to $*DEFAULT-READ-ELEMS, and .Supply takes a *named* args size
19:32 jnthn eveo: At a guess, .Supply taking that probably wants to go away; in the longer term, asking for a .Supply of a handle should probably do something like dup it, toss it to the libuv event loop, and actually do real async I/O on it...
19:32 Geth ¦ rakudo/nom: 1a2ee934cb | (Zoffix Znet)++ | src/core/Proc.pm
19:32 Geth ¦ rakudo/nom: Fix regression with pipes of failed Procs
19:32 Geth ¦ rakudo/nom:
19:32 Geth ¦ rakudo/nom: The Proc refactor[^1] accidentally used .quit on a Channel,
19:32 Geth ¦ rakudo/nom: but the method is called .fail
19:32 Geth ¦ rakudo/nom:
19:32 Geth ¦ rakudo/nom: Fixes crashes when sinking or trying to read off pipes of
19:32 Geth ¦ rakudo/nom: failed Procs.
19:32 jnthn And then since you're not asking for anything, just getting stuff as it comes, a size doesn't make much sense
19:32 Geth ¦ rakudo/nom:
19:32 Geth ¦ rakudo/nom: [1] https://github.com/rakudo/rakudo/compare/bf95bcb...8d6a911
19:32 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1a2ee934cb
19:33 jnthn I'm fine with .read defaulting to $*DEFAULT-READ-ELEMS like readchars
19:33 jnthn OK, really afk :)
19:33 Geth ¦ roast: 56c5a98b68 | (Zoffix Znet)++ | S29-os/system.t
19:33 Geth ¦ roast: Test failed Proc sinking and pipe handling
19:33 Geth ¦ roast:
19:33 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/1a2ee934cb
19:33 Geth ¦ roast: review: https://github.com/perl6/roast/commit/56c5a98b68
19:40 Geth ¦ rakudo/nom: b7150ae1ad | (Zoffix Znet)++ | src/core/IO/Handle.pm
19:40 Geth ¦ rakudo/nom: Give IO::Handle.read default size
19:40 Geth ¦ rakudo/nom:
19:40 Geth ¦ rakudo/nom: To make consistent with .readchars.
19:40 Geth ¦ rakudo/nom: Per https://irclog.perlgeek.de/perl6-dev/2017-06-13#i_14728193
19:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7150ae1ad
19:41 Geth ¦ roast: 4c64fbac15 | (Zoffix Znet)++ | S16-filehandles/io.t
19:41 Geth ¦ roast: Test IO:Handle.read has a default size
19:41 Geth ¦ roast:
19:41 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/b7150ae1ad
19:41 Geth ¦ roast: Per https://irclog.perlgeek.de/perl6-dev/2017-06-13#i_14728193
19:41 Geth ¦ roast: review: https://github.com/perl6/roast/commit/4c64fbac15
19:50 Geth ¦ rakudo/nom: aa9516be23 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
19:50 Geth ¦ rakudo/nom: Make IO::CatHandle.read consistent with IO::Handle.read
19:50 Geth ¦ rakudo/nom:
19:50 Geth ¦ rakudo/nom: Add same default as in
19:50 Geth ¦ rakudo/nom: https://github.com/rakudo/rakudo/commit/b7150ae1ad
19:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa9516be23
19:50 Geth ¦ roast: 1d4232f0c2 | (Zoffix Znet)++ | S32-io/io-cathandle.t
19:50 Geth ¦ roast: Test IO::CatHandle.read has a default size
19:50 Geth ¦ roast:
19:50 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/aa9516be23
19:50 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1d4232f0c2
19:51 * eveo &
20:02 vendethiel joined #perl6-dev
20:04 dct joined #perl6-dev
20:05 timotimo AlexDaniel: left you a little piece of explanation on the coverable issue
20:10 travis-ci joined #perl6-dev
20:10 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fix various issues with Map (<=) Map
20:10 travis-ci https://travis-ci.org/rakudo/rakudo/builds/242389821 https://github.com/rakudo/rakudo/compare/ac31c5df465a...e1563a764462
20:10 travis-ci left #perl6-dev
20:10 buggable [travis build above] ✓ All failures are due to timeout (0), missing build log (2), GitHub connectivity (0), or failed make test (0).
21:08 AlexDaniel timotimo: nice
21:18 geekosaur joined #perl6-dev
21:35 AlexDaniel joined #perl6-dev
21:45 lizmat good night, #perl6-dev!
21:46 timotimo nite liz
23:34 Geth ¦ roast: 686dddb63f | (Samantha McVey)++ | S15-nfg/GraphemeBreakTest.t
23:34 Geth ¦ roast: Update the GraphemeBreakTest.t untodoing now passing tests
23:34 Geth ¦ roast:
23:34 Geth ¦ roast: Also fix an issue involving not detecting normalization.
23:34 Geth ¦ roast: review: https://github.com/perl6/roast/commit/686dddb63f
23:37 samcv so yeah the 6.c-errata GCB tests were wrong. also i didn' write the code that creates the tests
23:38 samcv and i'm not sure if i should attempt to fix it, or just make a note in the generator file that not to run it again? cause 6.c-errata shouldn't be changing right? and not have new tests added?
23:38 samcv hm
23:39 samcv or remove the generator file since it's supposed to stay static anyway idk
23:39 japhb Anyone else having trouble installing Inline::Python?  I see some build warnings ("pyhelper.c:326:5: warning: ‘py_retval’ may be used uninitialized in this function [-Wmaybe-uninitialized]"), but should that cause zef to think the build should [FAIL]?
23:39 Geth ¦ roast/6.c-errata: d40e03f035 | (Samantha McVey)++ | S15-nfg/grapheme-break.t
23:39 Geth ¦ roast/6.c-errata: Fix three wrong tests in S15-nfg/grapheme-break.t
23:39 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/d40e03f035
23:40 samcv anyway. i'm pushing the fixes to the tests themselves but haven't changed the generator script or anything else
23:41 samcv eveo, get back to me on what you think the best thing should be to do. as you are the 6.c-errata person
23:46 eveo samcv: dunno, maybe add a "die 'Some wrong tests were removed and this generator script is broken. Don't run it in 6.c-errata or it will re-generate the broken tests'" at the top of generator script? So the code is there, readily available, if ever needed, but at the same time you can't "accidentally" run it and get wrong tests back.
23:46 eveo japhb: what's the full output?
23:46 samcv sounds good
23:52 eveo I see Inline::Python ded on toaster. But it's cause the lib or whatever isn't installed https://toast.perl6.party/module?module=Inline::Python&amp;commit=2017.05-394-g56e71d5

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary