timotimo | i might be onto something. | 00:05 | |
done | 00:09 | ||
spec test now | |||
Geth | rakudo/nom: 46b11f54c0 | (Timo Paulssen)++ | src/Perl6/Actions.nqp bring back for ^N { } optimization again |
00:14 | |
eveo | \o/ | 00:16 | |
timotimo++ | |||
timotimo | it'll only take a minute before the whateverables pick that commit up and i can bench it "officially" | ||
c: 46b11f54c0 say "i'm here" | 00:19 | ||
committable6 | timotimo, ¦46b11f5: «i'm here» | ||
timotimo | bench: 46b11f54c0,abfb52be1d for ^1_000_000 { } | ||
benchable6 | timotimo, starting to benchmark the 2 given commits | ||
timotimo, benchmarked the given commits, now zooming in on performance differences | |||
timotimo, ¦46b11f5: «0.2715» ¦abfb52b: «0.5507» | |||
timotimo | it's not the 2.5x we had before | 00:20 | |
it's 2x, though | |||
maybe it's too little to accurately measure | |||
bench: 46b11f54c0,abfb52be1d for ^1-_000_000 { } | |||
benchable6 | timotimo, starting to benchmark the 2 given commits | ||
timotimo, benchmarked the given commits, now zooming in on performance differences | |||
timotimo, ¦46b11f5: ««run failed, exit code = 1, exit signal = 0»» ¦abfb52b: ««run failed, exit code = 1, exit signal = 0»» | |||
timotimo | nooooo | ||
bench: 46b11f54c0,abfb52be1d for ^10_000_000 { } | |||
benchable6 | timotimo, starting to benchmark the 2 given commits | ||
timotimo, benchmarked the given commits, now zooming in on performance differences | 00:21 | ||
timotimo, ¦46b11f5: «1.6712» ¦abfb52b: «4.4582» | |||
timotimo | m: say 4.4582 / 1.6712 | ||
camelia | 2.667664 | ||
timotimo | that's the factor i was hoping for | ||
AlexDaniel | timotimo: fwiw, you can also push stuff into a branch | 00:22 | |
timotimo: and whateverables will pick it up too | |||
timotimo: you'll have to address the commit by its hash though (not by branch name) | |||
timotimo | resolved the ticket | 00:24 | |
thanks, AlexDaniel | |||
we can now get less noisy measurements from simple for loops like that again | |||
AlexDaniel | \o/ | 00:25 | |
samcv | anyone else getting failures on GraphemeClusterBreak.t? | 01:09 | |
eveo said he was, but i'm not getting any. unless i forgot to bump something. but i remember bumping nqp and moarvm hm. | |||
yeah i did bump | 01:10 | ||
timotimo | t/spec/S15-nfg/GraphemeBreakTest.t (Wstat: 0 Tests: 2411 Failed: 0) | 01:12 | |
TODO passed: 639-640, 2363-2367, 2369-2371, 2382, 2384-2386 | |||
2395, 2397 | |||
eveo | samcv: that's not the file I referenced. The failures are in 6.c-errata | 01:33 | |
#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 | |||
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 | ||
ugexe, bisect log: gist.github.com/704d8c9ddfc94e22b5...3379336683 | |||
ugexe, (2017-06-13) github.com/rakudo/rakudo/commit/46...c9c78623c7 | |||
ugexe | timotimo: ^ | 03:33 | |
AlexDaniel | well, at least it is fast :) | 03:45 | |
[Tux] | This is Rakudo version 2017.05-405-g46b11f54c built on MoarVM version 2017.05-76-gba6725f3 | 06:21 | |
csv-ip5xs 2.834 | |||
test 12.995 | |||
test-t 4.341 - 4.359 | |||
csv-parser 13.272 | |||
timotimo | ugexe: i don't get it, the exit code and output are all exactly identical for every step in the bisect log? | 07:43 | |
m: my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl | 07:44 | ||
camelia | labeled next without loop construct in block <unit> at <tmp> line 1 |
||
timotimo | i should be able to figure out the labeledness of the for and bail if it exists | 07:45 | |
that was probably also broken a long time ago when that opt was still working | 07:46 | ||
c: releases my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl | |||
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? rt.perl.org/Ticket/Display.html?id...xn-1465951 | ||
timotimo | commit: releases my $list := eager gather LABEL: for 1..4 -> $index { take $index; next LABEL; }; say $list.perl | 07:51 | |
i killed committable? :( | 08:00 | ||
Geth | rakudo/nom: bf95bcb6c0 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm Fix for RT #131561 R:Q.ADD-PAIRS-TO-MIX no longer has a SANITY step that weeded out the 0 weight elements before. Instead, now do this on the fly. Perhaps a final iteration on the resulting hash would be more efficient in some cases, but this feels better from a memory usage point of view. |
08:10 | |
timotimo | m: my @in = 1, 2, 4, 8; do LABEL: for @in -> $index { say $index; next LABEL; }; | 08:15 | |
camelia | 1 labeled next without loop construct in block <unit> at <tmp> line 1 |
||
timotimo | ^- golfed, doesn't include a range any more | ||
also, the optimization already doesn't occur when there's a label | |||
lizmat | timotimo++ *phew* :-) | 08:18 | |
hmmm... | 08:19 | ||
timotimo: yesterday I did a base run of a piece of code: "my $s = ^1000 .Set; for ^100000 { my $b }" | |||
at ran for 200 msecs, now it runs 1017 msecs :-( | |||
oops, scratch that | 08:20 | ||
fluke | |||
now it still runs at 200 msecs | |||
timotimo | phew | 08:26 | |
but what does that even do? call .sink on that set a bunch of times? | |||
er, "my $b" | |||
that has nothing to do with $s at all? | |||
lizmat | indeed, it's the base run | 08:27 | |
a real run would have been something like "my $s = ^1000 .Set; for ^100000 { my $b = 42 ∈ $s }" | |||
Geth | rakudo/js: 66 commits pushed by (Zoffix Znet)++, (Julien Simonet)++, MasterDuke17++, (Stefan Seifert)++, (Elizabeth Mattijsen)++, (Samantha McVey)++, pmurias++ review: github.com/rakudo/rakudo/compare/f...ccac70c9c9 |
08:32 | |
nqp/master: 6 commits pushed by pmurias++ | 08:33 | ||
lizmat | timotimo: and I'm not really awake yet, the base run is now 176 msecs, down from 200 | ||
I hadn't recompiled yet :-( | |||
DrForr | I'll have to rerun my Perl6::Parser test suite and check out improements. | 08:37 | |
Geth | roast: 4e394a9410 | (Elizabeth Mattijsen)++ | 2 files Add tests for RT #131561 |
08:43 | |
lizmat | afk& | 08:44 | |
travis-ci | NQP build failed. pmurias 'Test that we have the correct ctx in exit_handler' | 08:58 | |
travis-ci.org/perl6/nqp/builds/242329563 github.com/perl6/nqp/compare/cabb9...2c044c433c | |||
tadzik | clearly we don't %) | 09:03 | |
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: github.com/stmuk/tap-harness6-prove6 | ||
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:28 | |
Geth | rakudo/proc-using-proc-async: dc0e39b621 | (Jonathan Worthington)++ | 3 files Allow chaining .out/.err of Proc to .in of another Done a bit differently from how it was before, but hopefully this way also works out on Windows (the way Proc used to do this failed). |
09:35 | |
rakudo/proc-using-proc-async: 45fd8fafb3 | (Jonathan Worthington)++ | tools/build/NQP_REVISION Bump NQP_REVISION. To ensure we have all MoarVM and JVM Proc::Async improvements. |
09:37 | ||
jnthn spectests the merge | |||
Geth | star: 2ff3371bc9 | (Steve Mynott)++ | 4 files Now TAP isn't in core remove tap-harness6-prove6 & replace with tap-harness6 |
09:40 | |
rakudo/nom: 15 commits pushed by (Jonathan Worthington)++ review: github.com/rakudo/rakudo/compare/b...ac31c5df46 |
09:43 | ||
¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....9-g9a2c044 | |||
jnthn | There we go | 09:47 | |
jnthn tries to find the toaster URL | 09:48 | ||
Latest MoarVM commit should unburn Log::Async | 09:54 | ||
llfourn | jnthn++ | 09:55 | |
toast.perl6.party/ | |||
jnthn | Yeah, found it :) | ||
One of those cases where I knew what patch to write but wanted to find a module that needed it :) | 09:56 | ||
Just to be sure the fix did what I expected :) | |||
llfourn | mm this toasting is pretty handy for testing | 09:57 | |
jnthn | Yeah, nice to be able to easily see what got busted since last release | 09:58 | |
eveo | buggable: speed 4 | ||
buggable | eveo, ▂▁▁▁ data for 2017-06-12–2017-06-13; range: 4.341s–4.427s; 2% faster | ||
llfourn rebuilds rakudo to see if Proc::Async changes has fixed his OSX issues | 10:00 | ||
jnthn | llfourn: What was the issue, ooc? | 10:01 | |
llfourn looks for RT | |||
jnthn: rt.perl.org/Public/Bug/Display.html?id=122722 | 10:03 | ||
or at least that's the reference I put in my code | 10:04 | ||
I needed to put a sleep 0.1 to make it work: github.com/spitsh/spitsh/blob/mast...i.pm6#L445 | |||
jnthn | Hm, I thought that issue was long fixed... | ||
llfourn | hmm could be | 10:05 | |
jnthn | github.com/rakudo/rakudo/blob/nom/...nc.pm#L258 | 10:06 | |
Note the @!promises there | 10:07 | ||
llfourn | hmm well it looks like it still a bug | ||
because I removed that sleep and it no longer works | |||
jnthn | So the fix seems equivalent to the one proposed in the patch | ||
oh | 10:08 | ||
But that's a write/close race | |||
Is $docker an async proc there? | |||
llfourn | yeah | ||
jnthn | Try changing | ||
$docker.write($shell.encode('utf8')); | |||
to | |||
await $docker.write($shell.encode('utf8')); | |||
llfourn | that worked :o | 10:09 | |
thanks! | |||
jnthn | :) | ||
llfourn | I didn't realise .write returned a promise | ||
\o/ | |||
jnthn | But that RT I think can be closed as it's a differnet problem and we have a fix in place | ||
nwc10 | for me, the build on master/master/nom is broken | 11:08 | |
explosions of the form | |||
Internal error: inconsistent bind result at gen/moar/BOOTSTRAP.nqp:3319 (blib/Perl6/BOOTSTRAP.moarvm:) | |||
and | |||
Unhandled exception: Dynamic variable $*ERR not found | |||
pmurias is building a jvm nqp to fix the nqp-j test breakage... | 11:09 | ||
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. | ||
eveo | nwc10: are you sure you did the full build and not just make install? | ||
yoleaux | 11:40Z <samcv> eveo: the tests may me wrong (probably are) I will check on them tomorrow :) | ||
eveo | like perl Configure something something | 11:41 | |
nwc10 | full build from clean | 11:44 | |
Geth | roast: 969dc08c1e | (Elizabeth Mattijsen)++ | S03-operators/subset.t Add tests for Map vs Map for the (<=) family |
11:55 | |
rakudo/nom: e1563a7644 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Fix various issues with Map (<=) Map The truthiness of the values in the Maps weren't checked, when they should have been, because they are checked when coercing to a .Set |
11:57 | ||
lizmat | m: dd { a => 0 } (<) { a => 1 } | 12:01 | |
camelia | Bool::False | ||
lizmat | m: dd { a => 0 }.Set (<) { a => 1 }.Set # more work to do | ||
camelia | Bool::True | ||
eveo | :/ just got a JSON error when viewing ecosystem-api.p6c.org/projects.json | 12:02 | |
Looks like the atomic write thing isn't atomicing | |||
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 | ||
m: $*PERL.compiler.version.say | 12:08 | ||
camelia | v2017.05.421.gac.31.c.5.df.4 | ||
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 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 | |
travis-ci.org/perl6/doc/jobs/242368688 | |||
jnthn | nwc10: Odd, I've no idea what that could mean. :S | 12:13 | |
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 | ||
Extracting with plugin: Zef::Service::Shell::git+{<anon|89153280>} | |||
===> Extraction [OK]: File::Which to /home/cpan/.zef/store/perl6-file-which.git | |||
nwc10 | might *just* be a parallel build race | ||
eveo | No meta file? Path: /home/cpan/.zef/store/Inline-Perl5.git/e1563a764462da392c993ee65b538877b423908e | ||
nwc10 | but no, does not make sense | ||
eveo | hm... well, it's not lying. There is in fact no meta file in that dir :/ | 12:16 | |
jnthn | lizmat: Glad to hear it's clean for you also :D | 12:17 | |
eveo | Not clean for me :) It's failing to install Inline::Perl5, so I can't run full stresstest :) | 12:18 | |
jnthn | news.perlfoundation.org/2017/06/gra...erl-6.html # for anyone keen to see me spending lots of time on Perl 6 during the summer :) | ||
lizmat | jnthn: noted for next weeks P6W | 12:20 | |
nwc10 | no, still goes boom | ||
CORE.d.setting.moarvm | 12:21 | ||
fails with a lot of backtrace, that starts | |||
Stage parse : Internal error: inconsistent bind result | |||
(well, fails during stage parse) | |||
lizmat | afk for a while& | ||
jnthn | nwc10: That's really odd, I can't understand how that could happen but only locally | 12:22 | |
for you, and not for everyone | |||
nwc10 | yes, it is most strange | ||
jnthn | Can you paste me the backtrace? | ||
nwc10 | paste.scsys.co.uk/564428 | 12:23 | |
jnthn | What on earth... | 12:24 | |
Geth | nqp: 8856086363 | pmurias++ | src/vm/js/nqp-runtime/sixmodel.js [js] Fix MODE_BIGINT with type object |
12:25 | |
nqp: 1be5e4889c | pmurias++ | t/nqp/071-setboolspec.t Test MODE_BIGINT with type object |
|||
nqp: a33cbeb3f4 | pmurias++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java [jvm] Implement nqp::captureposarg_{i,n,s} |
|||
timotimo | eveo: you can reboot committable, right? | 12:28 | |
eveo | yeah | 12:31 | |
c: HEAD say 42 | |||
committable6 | eveo, ¦HEAD(e1563a7): «42» | ||
eveo | k, can't install any module | 12:35 | |
eveo nukes all and retries | 12:37 | ||
lizmat | eveo: something like No meta file? Path: /Users/liz/.zef/store/perl6-LN.git/e1563a764462da392c993ee65b538877b423908e | 12:39 | |
? | |||
eveo | lizmat: yup. | ||
lizmat | ok, confirmed here then | ||
eveo | I tried a bunch of modules, all end with that error | ||
lizmat | feels like jnthn's merge may be the cause ? | 12:40 | |
afk again& | |||
eveo | something's really wrong | 12:44 | |
lizmat | back again | 12:45 | |
but that wrongness is *not* caught with make test nor make spectest (if Inline::Perl5 is installed) | |||
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": gist.github.com/zoffixznet/36c0fc4...41ce7ca934 | ||
lizmat | feels like mangled precomp files ? | 12:46 | |
eveo re-runs update-perl6 to see if it spews the same errors | |||
update-perl6 == rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone 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:47 | ||
The answer is Yes. | 12:52 | ||
travis-ci | NQP build passed. pmurias '[jvm] Implement nqp::captureposarg_{i,n,s}' | 12:53 | |
travis-ci.org/perl6/nqp/builds/242398864 github.com/perl6/nqp/compare/9a2c0...3cbeb3f4b1 | |||
Geth | rakudo/nom: 8d6a9114cb | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Pipe.pm Fix typo in error messages |
12:55 | |
eveo spies a change in CompWhatever visavis stderr handling | 13:02 | ||
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:04 | ||
jnthn | Darn, and all the spectests didn't catch this? :/ | 13:07 | |
eveo | yeah | 13:08 | |
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 | |||
ah, and that reproduces it | |||
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: github.com/rakudo/rakudo/compare/b...6ed9cc28a4 | ||
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 | ||
*dies | |||
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) | ||
$RMD => (inherit) | (inherit) | |||
^ and the .note it thing should be $err ~= $_, no? | |||
jnthn | No, the inherit case is when it's not RMD | 13:16 | |
oh, han gon | |||
darn | 13:17 | ||
Grr, I think I mis-refactored it | |||
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 | ||
eveo & | |||
lizmat | really afk& | 13:24 | |
jnthn | I also managed to trigger inconsistent bind result when building an older commit... | 13:28 | |
ohh | 13:35 | ||
I think that one was due to a commit in MoarVM master but where a revision bump wasn't done | 13:36 | ||
Thus why only building master/master/nom showed it up | 13:37 | ||
And it managed to break sufficiently little you could even spectest and stuff | |||
Ooh, and I think I may be off the hook for the zef failure | 13:42 | ||
I think 46b11f54c03511a96 is guilty | 13:43 | ||
The commit before it seems to work, on that commit it busts | |||
Trying on nom but with a revert of that | 13:44 | ||
Yup, it works | 13:46 | ||
Geth | rakudo/nom: 4aa60ad040 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp Revert "bring back for ^N { } optimization again" This reverts commit 46b11f54c03511a96d4db08213d55bc9c78623c7, which appears to break labeled loops (which in turn breaks `zef`; a little cocerning that we didn't fail a spectest, however). |
13:47 | |
jnthn | timotimo: See ^^, I dunno if it's obvious what's going wrong | 13:49 | |
travis-ci | Rakudo build failed. Zoffix Znet 'Fix typo in error messages' | 13:59 | |
travis-ci.org/rakudo/rakudo/builds/242408838 github.com/rakudo/rakudo/compare/e...6a9114cb79 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
eveo | "Internal error: inconsistent bind result" | 14:00 | |
jnthn | Already fixed at MoarVM HEAD | 14:01 | |
eveo | gonna bump then | 14:02 | |
jnthn | But...the previous NQP_REVISION/MOAR_REVISION was *before* the MoarVM commit that broke things | 14:04 | |
eveo | Ah OK | ||
jnthn | But yeah, can bump 'cus it fixes Log::Async :) | 14:05 | |
eveo | OK, then I'll bump | ||
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? | ||
Does it push the label into the right place? | |||
timotimo | committable6: releases my @in = 1, 2, 4, 8; do LABEL: for @in -> $index { say $index; next LABEL; }; | ||
committable6 | timotimo, gist.github.com/59675e08c20984069d...7e84dacc46 | ||
timotimo | look, it has been busted for like ever | 14:12 | |
eveo | 0.o | ||
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 | ||
eveo, bisect log: gist.github.com/fde16d8cf2219f7da2...654f9c4db2 | 14:14 | ||
eveo, (2016-07-04) github.com/rakudo/rakudo/commit/55...cf60ae3bb2 | |||
timotimo | can you golf the case that's used inside zef so we can see my commit actually break ti? | 14:16 | |
because clearly something was working before that no longer works | |||
ugexe | zef basically just does | 14:17 | |
eager gather LABEL: for 1,2,3 -> $index { take $index; for 1,2,3 { next LABEL; }; }; | |||
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; }; }; | ||
committable6 | timotimo, ¦releases (19 commits): «» | ||
timotimo | ah, that's because latest fixes it again | ||
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; }; }; | ||
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»» | ||
timotimo | okay, let me look at it more closely locally | 14:20 | |
it's not conditional on the optimizer running | |||
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»» | ||
eveo | timotimo: ^ golfed a bit more | ||
timotimo | well, it's appending a label argument to the sink op | ||
so that's wrong, but probably not the cause of the splosion | 14:22 | ||
eveo | Filed the other case that's been broken for a year as rt.perl.org/Ticket/Display.html?id...xn-1466171 | 14:26 | |
hm, actually looking at it now seems to be the same cause | 14:27 | ||
c: HEAD,HEAD~1 say (LABEL: for 1 {next LABEL}) | |||
committable6 | eveo, ¦HEAD(4aa60ad),HEAD~1: «labeled next without loop construct in block <unit> at /tmp/Mlcm95ifMC line 1 «exit code = 1»» | ||
eveo | c: HEAD,HEAD~1 @ = (LABEL: for 1 {next LABEL}) | ||
committable6 | eveo, ¦HEAD(4aa60ad),HEAD~1: «labeled next without loop construct in block <unit> at /tmp/0TVgWE1zL_ line 1 «exit code = 1»» | ||
timotimo | hmm. how about a "coverable" bot that just spits out the lines that were covered by a snippet you ran? | 14:28 | |
ugexe | could just add a `use trace` to the snippet automatically | 14:32 | |
eh you're probably talking about something more useful, code covered in rakudo or something | 14:34 | ||
eveo | m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow')) | 14:48 | |
camelia | ( no output ) | ||
eveo | m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow'), :nohandler) | ||
camelia | ===SORRY!=== next without loop construct |
||
eveo | Thought I tried this thing already.... | ||
eveo re-tries | |||
Ah, no it's not it | 14:50 | ||
m: use nqp; my $i = 1;nqp::while($i--, nqp::handle(next, 'LABELED', 'meow', 'NEXT', say("Hi")), :nohandler) | 14:51 | ||
camelia | Hi | ||
eveo | that works fine | ||
hoping to find this juicy bug before lunch | 14:56 | ||
ZofBot: no moar dogfood for eveo! Bug sammich \o/ | |||
ZofBot | eveo, cry | ||
travis-ci | Rakudo build passed. Jonathan Worthington 'Revert "bring back for ^N { } optimization again" | 15:07 | |
travis-ci.org/rakudo/rakudo/builds/242428275 github.com/rakudo/rakudo/compare/8...a60ad040bf | |||
[Coke] | 'zef info zef' shows Identity: zef:ver('0.1.7'):auth('github:ugexe') | 15:14 | |
zef --verbose upgrade zef shows: The following distributions are already at their latest versions: zef:ver('0.1.16'):auth('github:ugexe') | |||
is it comparing those versions as "7" gt "16" ? | 15:15 | ||
(is my zef too old to make my zef not too old?) | |||
eveo | m: say 0.1.7 before 0.1.16 | 15:16 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed postfix call at <tmp>:1 ------> 3say 0.1.7⏏057 before 0.1.16 |
||
eveo | m: say v0.1.7 before v0.1.16 | ||
camelia | True | ||
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. | ||
ugexe++ love that 'zef info zef' points me at the bugtracker. | 15:20 | ||
ugexe | [Coke]: i try to reproduce that problem here github.com/ugexe/zef/issues/172 but fail | 15:29 | |
i show how to go from no zef, to 0.1.15, to upgrading to 0.1.16 | 15:30 | ||
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:31 | ||
[Coke] | 2017.05-315-g160de7e6f | 15:33 | |
ugexe | are you able to reproduce from a clean state? if i could just reproduce it myself... | ||
[Coke] | I can't reinstall zef ...7 at this point, can it? | 15:34 | |
*I? | |||
ugexe | yeah, one second | ||
eveo | oohhh | ||
[Coke] | ... eh, I suppose I could if I used github. | 15:35 | |
eveo | I think I see the bug for the label thing | ||
ugexe | `zef install github.com/ugexe/zef/archive/v0.1.7.tar.gz` should do it | ||
[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?) | ||
I also am on OS X, fwiw. | 15:36 | ||
ugexe | technically ~/.perl6 should be separated between compiler versions | ||
yeah I tested on OSX as well | |||
[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 | |
... whoops, js branch. | |||
eveo | Dammit, Imma blind. The bug was right THERE all this time and I didn't even notice it | 15:47 | |
And I think I saw it before and mentioned it on some ticket already | 15:48 | ||
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 | 15:52 | ||
w00t found this bug's cousin hiding a hundred lines avove :) | 16:05 | ||
[Coke] | ugexe: if I'm starting from a clean slate, how can I use 'zef install <old version of zef' ? | 16:07 | |
wouldn't I install the old version *first* ? | |||
eveo | cd $(mktemp -d); git clone github.com/ugexe/zef/ .; git checkout v0.1.7; perl6 -Ilib bin/zef install . | 16:08 | |
[Coke] | right. | 16:10 | |
(thank you for giving me a cut-and-paste!) | 16:12 | ||
ugexe: same error. | 16:13 | ||
eveo | Any idea how to trigger this method? github.com/rakudo/rakudo/blob/nom/...ds.pm#L326 | ||
[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) | ||
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 | ||
m: (FOO: for ^10 -> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all | 16:14 | ||
camelia | 0 labeled next without loop construct in block <unit> at <tmp> line 1 |
||
eveo | ^ that ain't it | ||
[Coke] | ugexe: this with rakudo 2017.05-424-g4aa60ad04 | ||
so, let me know what I can run to get more debug output, etc. | |||
eveo | This seems to be it: FOO: ^10 .map(-> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all | 16:15 | |
huh, nope. Not it. But it's at least hitting the 4th bug that's still somewhere there | 16:19 | ||
Geth | rakudo/nom: b0a1b6c31c | (Jonathan Worthington)++ | src/Perl6/Actions.nqp Analyze methods for "can never use return" also. This means that we can generate simpler code for such methods, which in turn makes many more methods possible to inline. |
16:26 | |
jnthn | m: say 2.579 / 2.767 | 16:27 | |
camelia | 0.932056 | ||
eveo | k, it does seem to be it, but it doesn't wanna fix the same way as other spots | ||
jnthn | m: say 2.579 / 2.873 | ||
camelia | 0.897668 | ||
jnthn | m: say 2.579 / 1.134 | ||
camelia | 2.274250 | ||
jnthn | m: say 2.873 / 1.134 | 16:28 | |
camelia | 2.533510 | ||
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:29 | |
eveo | sweet | 16:30 | |
jnthn++ | |||
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 | ||
Though I should also take a measurement from before my I/O refactors | 16:31 | ||
Aww, it was actually faster before the refactors | 16:35 | ||
2.421 | |||
But (a) we can still win that back easily, and (b) we're able to support user-space encodings now | 16:36 | ||
Not that we implemented the latter | |||
But the layer of indirection is there | |||
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:44 | |
Still trying to hit this line: github.com/rakudo/rakudo/blob/nom/...ds.pm#L326 | 16:45 | ||
m: FOO: for ^3 { ^10 .map(-> $_ --> Int { .say; next FOO; 42 }).iterator.sink-all } | 16:46 | ||
camelia | 0 0 0 |
||
eveo | dammit | ||
That hits that block, but not the next codepath because it's not the right block that's labeled | 16:47 | ||
oh | 16:49 | ||
m: FOO: for ^10 -> $_ --> Int { .say; next FOO; } | |||
camelia | 0 labeled next without loop construct in block <unit> at <tmp> line 1 |
||
eveo | yey | ||
So 4 bugs in total. A whole family of them | 16:51 | ||
ZofBot: yum nom nom nom. DELISHUS! | |||
ZofBot | eveo, Just passing it the original thing | ||
ugexe | [Coke]: you can perl6 -Ilib bin/zef install $url as well | 16:55 | |
eveo | ZOFFLOP: t/spec/S17-supply/supplier-preserving.t | 16:56 | |
[Coke] | ugexe: I can duplicate the error now; what more debug output do you need? | 16:59 | |
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 Fix 4 cases of crashes with labeled `next` A bunch of nqp::handle are missing a branch for `NEXT`, so when we try to `next SOMELABEL` in for/map loops, we get a crash, complaining we're trying to do labeled next without a label. Fix by adding npq::null NEXT handlers. Fixes RT#131567: rt.perl.org/Ticket/Display.html?id=131567 |
||
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 Cover crashes in labeled next in for/map Rakudo fix: github.com/rakudo/rakudo/commit/3b67b4acea RT#131567: rt.perl.org/Ticket/Display.html?id=131567 |
||
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:03 | |
eveo does the version bumps | 17:04 | ||
[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:06 | |
ugexe | [Coke]: can you try `perl6 -Ilib bin/zef info zef` too? | 17:07 | |
that should test if its the bin wrapper | |||
which does a version sort thing | |||
[Coke] | given bin/zef is relative, what is my starting directory? | ||
ugexe | git clone $zef, cd zef, perl6 -Ilib bin/zef info zef | 17:08 | |
[Coke] | the git checkout at 0.1.7 ? | ||
ok, a fresh clone at HEAD. | |||
ugexe | yeah | ||
[Coke] | perl6 -Ilib bin/zef info zef > HEAD.out; zef info zef > installed.out; diff HEAD.out installed.out # no diff | 17:10 | |
(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. | ||
[Coke] | where in zef is the code doing the compare? | 17:12 | |
I can try to golf it to something that fails on OS X. | |||
$latest-installed.dist.ver cmp $candi.dist.ver looks like the snippet from 0.1.7 | 17:17 | ||
lizmat | Zoffix++ | 17:20 | |
Geth | nqp: 4717849a94 | (Zoffix Znet)++ | tools/build/MOAR_REVISION Bump MoarVM MoarVM bump brought commits: github.com/MoarVM/MoarVM/compare/2...5-g21ee1a5 21ee1a5 Fix missed opportunity to run JITted code. 2e9aff7 Keep named-used marking if binding can de-opt. ... (7 more lines) |
17:21 | |
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...5-g21ee1a5 | |||
rakudo/nom: 97298aca4e | (Zoffix Znet)++ | tools/build/NQP_REVISION Bump NQP NQP bump brought commits: github.com/perl6/nqp/compare/2017....3-g4717849 4717849 Bump MoarVM a33cbeb [jvm] Implement nqp::captureposarg_{i,n,s} ... (15 more lines) |
|||
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....3-g4717849 06c2e220e5 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm |
|||
ugexe | [Coke]: ok i see what the issue likely is | ||
.candidates (a "best" match search) does sort, but .search (what backs zef info) does not | 17:24 | ||
not sure why the order always works out for me with .search, but thats gotta be it | 17:25 | ||
eveo | I'm still getting failures with module install right now. After the bump: gist.github.com/zoffixznet/578ffa8...b1f86faddc | 17:35 | |
Complains about built. | |||
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 | ||
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) | ||
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 | ||
eveo | lizmat: or maybe I'm misremembering. There was a bunch of bugs... and some got fixed :) | ||
lizmat | eveo: $ git describe | ||
2017.05-428-g06c2e22 | |||
my last install was including a configure | |||
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. | ||
ugexe | eveo: in that gist what happens if you run the command shown above the first SORRY? | ||
eveo | 1 sec | ||
or rather 120secs. I'm stresstesting ATM | 17:40 | ||
ugexe | also may want to try it inside of *and* outside of '/home/cpan/.zef/store/Inline-Perl5.git/693e5764168c64584cc74a639ead44f7b9205e73' as cwd | 17:41 | |
ugexe cant test anything for a few hours | 17:42 | ||
Geth | rakudo/nom: 6900078434 | (Zoffix Znet)++ | src/Perl6/Actions.nqp Revert "Revert "bring back for ^N { } optimization again"" This reverts commit 4aa60ad040bf57425ea28cba1f391c1d0e05907f. The bug that caused the revert of this commit was fixed in: github.com/rakudo/rakudo/commit/3b67b4acea |
||
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 | ||
eveo | k, need to escape the last arg manually | ||
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' | ||
SourceBaby | eveo, Something's wrong: ERR: ===SORRY!=== Error while compiling -eUnable to parse expression in argument list; couldn't find final ')' at -e:6------> put sourcery( &run<HERE>' )[1]; expecting any of: infix infix stopper | ||
eveo | s: &run | ||
SourceBaby | eveo, Sauce is at github.com/rakudo/rakudo/blob/3b67...oc.pm#L158 | ||
eveo | Yeah, good spot ugexe++ :cwd isn't passeed | 17:45 | |
s: Proc, 'spawn' | |||
SourceBaby | eveo, Sauce is at github.com/rakudo/rakudo/blob/3b67...oc.pm#L118 | ||
eveo | Yeah, see it. Gonna fix in a sec | 17:46 | |
ugexe | i can replicate to see thats true, but not seeing where cwd is actually not being passed in those links though | 17:49 | |
eveo | in !spawn-internal in $!proc.start | 17:50 | |
ugexe | ah clearly | 17:52 | |
eveo | looks like there's another bug hiding in IO::Pipe | 17:56 | |
"No such method 'quit' for invocant of type 'Channel'" | 17:57 | ||
When trying to slurp off a pipe from run(:out).out | |||
Surprised existing tests don't catch that :S | |||
maybe it's just my test :/ | 17:58 | ||
ugexe | pipe used to provide its own slurp-rest but that got removed a few weeks ago i think | 18:00 | |
eveo | It's something about CWD | 18:02 | |
cpan@perlbuild4~/CPANPRC/rakudo (nom)$ ./perl6 -e 'run(:out, $*EXECUTABLE, "-e", 「say 42」).out.slurp' | |||
cpan@perlbuild4~/CPANPRC/rakudo (nom)$ ./perl6 -e 'run(:out, :cwd</>, $*EXECUTABLE, "-e", 「say 42」).out.slurp' | |||
Unhandled exception in code scheduled on thread 3 | |||
No such method 'quit' for invocant of type 'Channel'. Did you mean any of these? | |||
Oh right | |||
There's no ./perl6 or whatever in that dir | |||
(I think that is it) | |||
Yeah. run(:out, "meow").out.close gives same result | 18:03 | ||
ugexe | $*EXECUTABLE should use the full path though, so it should affect that? | 18:07 | |
shouldnt^ | |||
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 | ||
eveo | it needs something in %ENV*<PATH> to work | ||
ugexe | ah I think i've encountered proc or proc async issue where i had to do `my $env = %*ENV; run(..., :$env)` | 18:09 | |
even though that should have been getting set as a default | |||
eveo | heh, good thing you mentioned that, 'cause I now see run fails to pass :env too :) | 18:10 | |
now I just need to figure out a way to test this :/ | 18:12 | ||
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. | ||
run(:out, $*EXECUTABLE, "-e", 'say $*ENV{ok} // "fail"', env => { ok => ok }), or somesuch. | 18:14 | ||
eveo | I meant test the :cwd | 18:15 | |
I need to shove something into %*ENV<PATH> to make it work | |||
BenGoldberg | Put two executables of different names in two different directories, and see which is run. | ||
s/different names/the same name/ | 18:16 | ||
eveo | Yeah, executables isn't something I have lying around | ||
BenGoldberg | On *nix, a script with the exec bit set should work. | 18:17 | |
eveo | roast is for all OSes | 18:18 | |
I don't know what it's problem is. I set PATH right. | 18:19 | ||
Guess I should fix the error out of failed procs and see what the error is | |||
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... | ||
BenGoldberg: it doesn't start | |||
BenGoldberg | Proc::Async and Proc had previously been totally independent of one another. | 18:21 | |
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 | ||
BenGoldberg might be misremembering. | 18:23 | ||
eveo | ah, k, sorted it. $*EXECUTABLE has ""./perl6"" as path and not just .perl6 | 18:25 | |
*perl6 | |||
Geth | rakudo/nom: 69b1b6c808 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp Suggest 'last' on compile-time error for 'break' |
18:31 | |
BenGoldberg | m: dd $*EXECUTABLE | 18:32 | |
camelia | IO::Path.new("./rakudo-m-inst/bin/perl6-m", :SPEC(IO::Spec::Unix), :CWD("/home/camelia")) | ||
BenGoldberg | m: dd $*EXECUTABLE.absolute | ||
camelia | "/home/camelia/rakudo-m-inst/bin/perl6-m" | ||
BenGoldberg | eveo, Try using that ^ when doing the cwd test. | 18:34 | |
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:36 | |
Geth | rakudo/nom: e1aa16cdb3 | (Zoffix Znet)++ | src/core/Proc.pm Fix regression in run/shell not propagating :cwd and :env Fixes module install issues. Bug find: irclog.perlgeek.de/perl6-dev/2017-...i_14727506 |
18:37 | |
BenGoldberg | Erm. Include LD_LIBRARY_PATH in the env? | 18:38 | |
lizmat tests | |||
eveo | I forgot to spectest that one actually :| | 18:40 | |
only ran the new test I wrote | |||
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) | ||
lizmat | eveo: with --force it installs ok | 18:43 | |
m: my $a = 42; $a = $a but role { method foo { "foo" } }; dd $a.foo # this works | 18:44 | ||
camelia | "foo" | ||
eveo | lizmat: what sort of failures? | ||
lizmat | m: my $a = 42; $a but= role { method foo { "foo" } }; dd $a.foo # why doesn't this ? | ||
camelia | 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 |
||
eveo | I know Temp::Path's tests were segfaulting last night | ||
lizmat | Aborting due to test failure: Temp::Path:ver('1.001001') | ||
is there an easy way to run the tests of an installed module ? | |||
eveo | zef look Temp::Path; zef --/tap-harness test . | 18:45 | |
zef look Temp::Path; zef --debug --/tap-harness test . | |||
oh that still won't show all without a custom zef | |||
zef look Temp::Path; zef --debug --/tap-harness --/prove test . | |||
lizmat | tests ok this way :-( | 18:46 | |
ugexe | you can set tap harness verbosity with some env var too | ||
er, perl5's prove via a TAP_HARNESS liek env var | 18:47 | ||
eveo | lizmat: sounds like this bug is still unfixed by the Proc refactor as was hoped. rt.perl.org/Ticket/Display.html?id...et-history | 18:48 | |
Geth | roast: 31e2f175a4 | (Zoffix Znet)++ | S29-os/system.t Test run propagates :cwd and :env Rakudo fix: github.com/rakudo/rakudo/commit/e1aa16cdb3 |
18:49 | |
ugexe | github.com/rakudo/rakudo/blob/nom/...ry.pm#L258 | 18:52 | |
$err is not really used in a way that would ever do anything | 18:53 | ||
eveo | ugexe: irclog.perlgeek.de/perl6-dev/2017-...i_14725874 | ||
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 | ||
eveo | yey... upgrade-perl6 worked flawlessly this time :D | 18:58 | |
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 | ||
yes! the run time numbers are low again :D | |||
Geth | rakudo/nom: f7d183b91f | (Zoffix Znet)++ | src/core/CompUnit/PrecompilationRepository.pm Fix STDERR handling when $RMD is not set The Proc::Async refactor[^1] accidentally made STDERR .note its output to $*ERR, instead of capturing it and then testing. The $err is already tested where .err.slurp-rest(:close) was being tested before. Fix by changing the code to capture STDERR to $err var. [1] github.com/rakudo/rakudo/commit/3a...27d3174d84 |
||
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 | ||
AlexDaniel | timotimo: because the bisection itself does not need to test the endpoint | 19:09 | |
(if one of the starting points was marked as “bad” already, we don't need to test it again to get our result) | 19:10 | ||
jnthn | jnthn-- # bugs | 19:11 | |
AlexDaniel | timotimo: but I created this: github.com/perl6/whateverable/issues/160 | ||
jnthn | eveo++ # fixes and, importantly, the tests that one woulda wished were there in the first place... | 19:12 | |
eveo | jnthn++ Proc refactor :) | ||
AlexDaniel | timotimo: and also this, but you'll have to elaborate more :) github.com/perl6/whateverable/issues/161 | 19:14 | |
eveo | jnthn: what should this be? github.com/rakudo/rakudo/compare/b...c52a4a0R61 | ||
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 | ||
s/no/now/ | |||
jnthn | oh my, why didn't we call it quit there too | 19:16 | |
I think .fail | |||
eveo | k, I'll change | 19:17 | |
jnthn | yes: github.com/rakudo/rakudo/blob/nom/...el.pm#L245 | ||
ugexe | rt.perl.org/Public/Bug/Display.html?id=127682 appears to be resolved now | 19:23 | |
eh, proc::async uses :$cwd and :%ENV? | 19:28 | ||
jnthn | Yeah, I spotted that inconsistency | ||
It was done to match with %*ENV | 19:29 | ||
Then Proc picked %env | |||
We should probably make %env work on Proc::Async too | |||
ugexe | then i added :CWD to Proc, and that got renamed to :cwd for consistency heh | ||
jnthn | :%env that is | ||
heh | |||
Yeah | |||
fail | |||
There's also some :$enc vs :$encoding too I think | 19:30 | ||
Though we can probably alias those everywhere also | |||
Gotta go for a bit; bbl | |||
eveo | IO::Handle.read requires a size; .readchars takes a positional, defaulting to $*DEFAULT-READ-ELEMS, and .Supply takes a *named* args size | ||
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 Fix regression with pipes of failed Procs The Proc refactor[^1] accidentally used .quit on a Channel, but the method is called .fail Fixes crashes when sinking or trying to read off pipes of failed Procs. [1] github.com/rakudo/rakudo/compare/b......8d6a911 |
||
jnthn | And then since you're not asking for anything, just getting stuff as it comes, a size doesn't make much sense | ||
jnthn | I'm fine with .read defaulting to $*DEFAULT-READ-ELEMS like readchars | 19:33 | |
OK, really afk :) | |||
Geth | roast: 56c5a98b68 | (Zoffix Znet)++ | S29-os/system.t Test failed Proc sinking and pipe handling Rakudo fix: github.com/rakudo/rakudo/commit/1a2ee934cb |
||
rakudo/nom: b7150ae1ad | (Zoffix Znet)++ | src/core/IO/Handle.pm Give IO::Handle.read default size To make consistent with .readchars. Per irclog.perlgeek.de/perl6-dev/2017-...i_14728193 |
19:40 | ||
roast: 4c64fbac15 | (Zoffix Znet)++ | S16-filehandles/io.t Test IO:Handle.read has a default size Rakudo impl: github.com/rakudo/rakudo/commit/b7150ae1ad Per irclog.perlgeek.de/perl6-dev/2017-...i_14728193 |
19:41 | ||
rakudo/nom: aa9516be23 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm Make IO::CatHandle.read consistent with IO::Handle.read Add same default as in github.com/rakudo/rakudo/commit/b7150ae1ad |
19:50 | ||
roast: 1d4232f0c2 | (Zoffix Znet)++ | S32-io/io-cathandle.t Test IO::CatHandle.read has a default size Rakudo impl: github.com/rakudo/rakudo/commit/aa9516be23 |
|||
eveo & | 19:51 | ||
timotimo | AlexDaniel: left you a little piece of explanation on the coverable issue | 20:05 | |
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Fix various issues with Map (<=) Map | 20:10 | |
travis-ci.org/rakudo/rakudo/builds/242389821 github.com/rakudo/rakudo/compare/a...563a764462 | |||
buggable | [travis build above] ✓ All failures are due to timeout (0), missing build log (2), GitHub connectivity (0), or failed make test (0). | ||
AlexDaniel | timotimo: nice | 21:08 | |
lizmat | good night, #perl6-dev! | 21:45 | |
timotimo | nite liz | 21:46 | |
Geth | roast: 686dddb63f | (Samantha McVey)++ | S15-nfg/GraphemeBreakTest.t Update the GraphemeBreakTest.t untodoing now passing tests Also fix an issue involving not detecting normalization. |
23:34 | |
samcv | so yeah the 6.c-errata GCB tests were wrong. also i didn' write the code that creates the tests | 23:37 | |
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 | ||
hm | |||
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]? | ||
Geth | roast/6.c-errata: d40e03f035 | (Samantha McVey)++ | S15-nfg/grapheme-break.t Fix three wrong tests in S15-nfg/grapheme-break.t |
||
samcv | anyway. i'm pushing the fixes to the tests themselves but haven't changed the generator script or anything else | 23:40 | |
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:41 | ||
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 | |
japhb: what's the full output? | |||
samcv | sounds good | ||
eveo | I see Inline::Python ded on toaster. But it's cause the lib or whatever isn't installed toast.perl6.party/module?module=In...4-g56e71d5 | 23:52 |