Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by AlexDaniel on 12 June 2018.
Geth roast: da04da9124 | (Zoffix Znet)++ | S32-hash/map.t
[v6.d REVIEW] Don't spec .map error text content

Orig: github.com/perl6/roast/commit/ced510140
00:02
roast: 3869a2fa99 | (Zoffix Znet)++ | S32-list/grep.t
[v6.d REVIEW] Don't spec exact .grep error text

Orig: github.com/perl6/roast/commit/d1a874df5
00:05
roast: e4f05e1c9b | (Zoffix Znet)++ | S03-operators/ternary.t
[v6.d REVIEW] Test op attr in ??!! fiddly error instead of text

Orig: github.com/perl6/roast/commit/7ae8030be
00:10
roast: 270e0a66ac | (Zoffix Znet)++ | S02-types/WHICH.t
[v6.d REVIEW] Don't spec exact .perl of ObjAt

Since it'll likely go away and also we don't care about exact
  .perl, only that .EVALing it produces an `eqv` object.
Orig: github.com/perl6/roast/commit/8c899ef54
00:14
00:19 buggable left, buggable joined, ChanServ sets mode: +v buggable 00:44 fake_space_whale joined 01:17 stmuk joined 01:19 stmuk_ left
Geth roast: 8b56e4c257 | (Zoffix Znet)++ | S32-io/io-path-subclasses.t
[v6.d REVIEW] Add missed IO::Path::QNX to `-foo`.absolute tests

Orig: github.com/perl6/roast/commit/7428736ee
01:20
roast: 5b53f9560f | (Zoffix Znet)++ | integration/weird-errors.t
[v6.d REVIEW] Clarify race-y SEGV tests

That we're only watching for lack of SEGVs, not for lack of race conditions that *are* there.
Orig: github.com/perl6/roast/commit/02d698835
01:27
roast: 5ca4c51b69 | (Zoffix Znet)++ | S09-typed-arrays/arrays.t
[v6.d REVIEW] Reword `of` .perl pollution test…

  …to avoid speccing exact content of .perl
Orig: github.com/perl6/roast/commit/feb0022c7
01:31
roast: e0bd70b7ca | (Zoffix Znet)++ | S03-operators/spaceship.t
[v6.d REVIEW] Move <=> throwage test into EVAL

Otherwise constant folding will blow up the test file, once R#1992 github.com/rakudo/rakudo/issues/1992 is fixed
Orig: github.com/perl6/roast/commit/bb4d3ebff
01:36
synopsebot R#1992 [open]: github.com/rakudo/rakudo/issues/1992 [perf] Examine codebase for subs that can be `is pure`d
rakudo: c2db40b781 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] Move grammar error text test out of roast

Orig: github.com/perl6/roast/commit/d633c0411
01:40
roast: 346f0431f8 | (Zoffix Znet)++ | S05-grammar/example.t
[v6.d REVIEW] Move grammar error text test out of roast

Orig: github.com/perl6/roast/commit/d633c0411 Moved to: github.com/rakudo/rakudo/commit/c2db40b781
01:41
roast: 50ad9af5b4 | (Zoffix Znet)++ | S10-packages/use-with-class.t
[v6.d REVIEW] Improve priv is rw attr package use test

  - Use `is_run` helper instead of hand-rolling anything
  - Explain what `Perl6/World` is and why we want its absence
Orig: github.com/perl6/roast/commit/0c7d68f76
01:50
rakudo: f8f4ae3183 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] Move rakudo-specific error test from roast

Orig: github.com/perl6/roast/commit/e1704aa62
01:55
roast: cc8db7cdfb | (Zoffix Znet)++ | S06-signature/definite-return.t
[v6.d REVIEW] Move overly-vague error text test to impl

Orig: github.com/perl6/roast/commit/e1704aa62 Moved to: github.com/rakudo/rakudo/commit/f8f4ae3183
02:12 fake_space_whale left
Geth roast: 8e3ab47079 | (Zoffix Znet)++ | 2 files
Introduce specification APPENDICES

These are advisory tests implementations optionally may choose to follow. Provides the space for tests that are more broad than implementation-specific tests, yet might not be something we mandate all implementations must follow (e.g. overflow tests)
02:14
roast: 518280aaa8 | (Zoffix Znet)++ | 2 files
[v6.d REVIEW] Move Int power overflow tests to APPENDICES

Orig: github.com/perl6/roast/commit/c7a560688
rakudo: ecbf44fb59 | (Zoffix Znet)++ | t/spectest.data
Add APPENDICES/A01-limits/overflow.t to list of test files
02:46
roast: 3b1a7def99 | (Zoffix Znet)++ | 2 files
[v6.d REVIEW] Move overflow throwage tests to APPENDICES

Orig: github.com/perl6/roast/commit/7143a330e
  + more tests from the same file, likely all are proptests
02:54
roast: 6402f0294c | (Zoffix Znet)++ | packages/RT112626/Class2.pm6
[v6.d REVIEW] Fix typo in test class name

Orig: github.com/perl6/roast/commit/ebfe979b6
02:56
synopsebot RT#112626 [resolved]: rt.perl.org/Ticket/Display.html?id=112626 [PRECOMP] Precompiled modules and roles lead to rakudo not recognizing type name 02:57
03:23 stmuk_ joined 03:25 stmuk left
Geth roast/range-iterator-improvements: ab6ade455b | (Zoffix Znet)++ | S07-iterators/range-iterator.t
[v6.d REVIEW] Rewrite range iterator tests using helper sub

  - Simplify code by using the iterator helper sub, which tests
   all the values as well as all the optimization methods, if
   they are implemented. It also tests types of the pulled values
  - Remove fudges for optional optimization methods. In some of the
   cases they're not even implementable due to precision of Num
... (6 more lines)
04:44
6.d-prep: 0af773b563 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md
TODO: Sort out meaning of `.bool-only`/`.count-only` after receiving IterationEnd

R#2075 github.com/rakudo/rakudo/issues/2075
04:58
synopsebot R#2075 [open]: github.com/rakudo/rakudo/issues/2075 [6.d review] Meaning of `.bool-only`/`.count-only` after receiving IterationEnd ?
Geth roast: a60039d639 | (Zoffix Znet)++ | S03-metaops/hyper.t
[v6.d REVIEW] Don't spec exact Hash.gist in non-.gist test

Orig: github.com/perl6/roast/commit/8b2446dc9
05:05
nqp: 09d75a9514 | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown
Add some return types to doc signatures
05:08
nqp/truffle: 3256e5c0ed | (Daniel Green)++ | 16 files
[truffle] Implement a bunch of file related ops

nqp::<chdir chmod copy cwd fileexecutable fileislink filereadable filewritable link mkdir rename rmdir symlink unlink>
roast: 9d922ec602 | (Zoffix Znet)++ | S03-smartmatch/array-array.t
[v6.d REVIEW] Clarify spec of ~~ on list with HyperWhatevers

  - We treat Iterable LHS as if it were a list and match up its elements
  - We do not do the same thing with non-Iterable LHS
Orig: github.com/perl6/roast/commit/fdaf1a12a
05:12
rakudo: 0a32c62129 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] Move wrong-arg .classify/categorize tests from roast

These are coverage tests for candidates that throw better-than-usual errors but don't actually do any useful work.
Seems a bad idea to actually spec this behaviour, as we might want these to do Useful Things™ in the future instead.
Orig: github.com/perl6/roast/commit/0f4199b1c
05:29
roast: 39dc8b4bd3 | (Zoffix Znet)++ | S29-any/deg-trans.t
[v6.d REVIEW] Move wrong-arg .classify/categorize tests from roast

These are coverage tests for candidates that throw better-than-usual errors but don't actually do any useful work.
Seems a bad idea to actually spec this behaviour, as we might want these to do Useful Things™ in the future instead.
Orig: github.com/perl6/roast/commit/0f4199b1c Moved to: github.com/rakudo/rakudo/commit/0a32c62129
05:30
roast: 5658270f0a | (Zoffix Znet)++ | S02-lists/tree.t
[v6.d REVIEW] Use clearer test description

  `...` is an op, so it's confusing to use it here
Orig: github.com/perl6/roast/commit/a176e0865
05:39
roast: 7d49a8d7d7 | (Zoffix Znet)++ | S29-any/deg-trans.t
[v6.d REVIEW] Remove useless Any:U.*pend/*shift/push/pop tests

I think 2016-Zoffix thought the Any:U candidates from Rakduo's core will get called and those will call the custom methods in these custom classes, but that's a brainfart.
Orig: github.com/perl6/roast/commit/e42733254
05:47
roast: 3223cf60e9 | (Zoffix Znet)++ | S02-types/autovivification.t
[v6.d REVIEW] Remove useless slips

They're not needed in this context.
Orig: github.com/perl6/roast/commit/510b44a6d
05:48
roast: 306104a1df | (Zoffix Znet)++ | S05-match/perl.t
[v6.d REVIEW] Revert "$/.list returns all items even with optional captures in the middle"

This reverts commit 581b553b74873941f9629d7202adf4a79f843fc4.
IMO it should not be a Mu in that hole. Filed as R#2076 github.com/rakudo/rakudo/issues/2076
05:58
synopsebot R#2076 [open]: github.com/rakudo/rakudo/issues/2076 A hole in $/.list is a Mu, but a hole in @a.List is a Nil
roast: 7e5f05b9e1 | (Zoffix Znet)++ | S32-str/comb.t
[v6.d REVIEW] More thorough test for .comb crash

Don't just test if it lives. Test it also gives right result.
Orig: github.com/perl6/roast/commit/92e0197c3
06:07
06:09 lizmat left 07:00 lizmat joined 08:48 robertle joined 09:01 lizmat left 09:04 ufobat_ joined
[Tux] www.mail-archive.com/python-commit...05628.html 09:24
AlexDaniel heh if we're posting this link every day we can as well put it into /topic xD 09:45
10:11 lizmat joined
lizmat Files=1242, Tests=76394, 378 wallclock secs (15.95 usr 6.03 sys + 2654.78 cusr 257.15 csys = 2933.91 CPU) 10:11
^^ most definitely something changed for the worse since yesterday
[Tux] Rakudo version 2018.06-184-g0a32c6212 - MoarVM version 2018.06-223-ga50a0b15b
csv-ip5xs1.293 - 1.308
csv-ip5xs-208.322 - 8.749
csv-parser26.122 - 27.132
csv-test-xs-200.460 - 0.478
test9.215 - 9.390
test-t2.301 - 2.324
test-t --race1.004 - 1.131
test-t-2041.358 - 44.008
test-t-20 --race14.343 - 18.257
10:17
10:29 MasterDuke left 10:38 ufobat_ left
lizmat won't work on getting hash initializations faster atm 11:08
too many weird things happening in spectest
and with the slowdown, I don't know what I'm measuring against anymore
speedups I've been able to make: 1.2x generally, up to 2.4x as fast for the "my %h = %m" case 11:09
but that was before the last MoarVM bump :-( 11:10
11:37 ExtraCrispy joined 11:41 Ven`` joined 11:59 MasterDuke joined
jnthn lizmat: I've no idea why you're being so dramatic about "the slowdown". The upper test-t number has been about the same for the last 3 days (3.322, 3.319, 3.324). 12:07
yoleaux 02:16Z <Zoffix> jnthn: just an FYI: I created the concept of spec APPENDICES that contain optional tests impls can optionally follow (e.g. overflow exceptions when raising an int to a specific huge power): more info in readme: github.com/perl6/roast/tree/master...appendices
02:20Z <Zoffix> jnthn: I mean raising Int, not int github.com/perl6/roast/blob/master...overflow.t
lizmat jnthn: well, test-t may be a bit slower, but spectest for me went from 326 seconds to 378 12:08
m: say 378 / 326
camelia 1.159509
lizmat 1.16x slower
I find *that* pretty dramatic :-( 12:09
jnthn Yes, probably because the spesh thread is doing more work, for reasons I already explained, and we've *long* known that spectest is pretty much the worst case for that. 12:10
timotimo yeah, spec tests is big parts warmup
lizmat ok, so we have an explanation for that slowdown
timotimo and when you run one spec test per core already, the more spesh you have running the longer it'll take for the other tests to get to run
lizmat I thought we didn't, hence my alarmist tone
Geth roast: 5ca213313d | MasterDuke17++ (committed using GitHub Web editor) | APPENDICES/README.md
Typo fixes
12:11
jnthn It's kinda like Zoffix says to people using Rakudo: if you just pick a random dev commit, don't expect consistency. Sames goes with bumping the MoarVM revision.
lizmat sure, sure... I do understand now, I didn't understand the implication of the spesh thread doing a lot more 12:12
lizmat runs another spectest with TEST_JOBS=7 instead of TEST_JOBS=8 12:13
jnthn I do some of the most disruptive stuff in branches, but it doesn't really work to be off in a long-lived branch and then land a ton of stuff at once, since then we've little idea where breakage slipped in.
lizmat yeah, I agree with that 12:14
jnthn So I'm kind of between a rock and a hard place.
"Do nothing" isn't really an option either, given performance seems to be one of the main complaints. :)
timotimo i like the way you rock
jnthn Anyway, on getting the spesh thread doing less work again, I think folding the new pass back into the existing facts pass would cut it. 12:15
Or at least help quite a bit.
lizmat jnthn: I understand now what the "problem" is 12:16
I was just making sure a perceived problem would not fall through the cracks
MasterDuke this is where i think a robust suite of performance tests would be helpful 12:17
lizmat I think things were made worse by the TEST_JOBS=8 overscheduling with the extra busy spesh thread
MasterDuke maybe we should reduce what the default number it picks is also 12:18
lizmat m: class A is IterationBuffer { }; use nqp; my $l := nqp::create(A); say nqp::elems(A) # jnthn: anything to be done about that ?
camelia This type (A) does not support elems
in block <unit> at <tmp> line 1
jnthn MasterDuke: Yes, though note that most benchmarks run a single process, and the spectest slowdown shows up when one runs a bunch of Perl 6 processes at the same time.
MasterDuke: So unless we had a benchmark for that case... :-) 12:19
lizmat jnthn: I guess adding a is repr('VMArray') will do it
jnthn lizmat: You'd need to put `is repr('VMArray')` onto the class decl
lizmat hehe
jnthn I'm not sure whether it makes sense to look at whether that trait is "inherited"; representation and type are orthogonal. 12:20
MasterDuke jnthn: yeah, i was thinking it would be good to run it (the benchmark suite, which could include a spectest) on 1,2,4,8,16 core machines
jnthn MasterDuke: That could certainly be interesting.
lizmat jnthn: yeah, probably... not to worry :-)
MasterDuke i've suggested setting up such a suite and integrating it into the toolchain would be a good grant proposal, but i'm not sure i have the knowledge, skills, or time to do it myself. anyone is welcome to my idea 12:23
jnthn Yeah, I'd +1 such a grant proposal 12:25
MasterDuke and github.com/japhb/perl6-bench would likely be a good starting place
jnthn Indeed
haha...things on the box I had set up to do the daily runs of that are so out of date it still had panda installed but not zef :P 12:28
timotimo find_best_dispatchee spends 4031us in spesh_facts_discover, of which 3552us is deopt usage creation 12:31
from a random piece of code i ran, that's the longest it ever took 12:32
jnthn Aside from trying to speed it up, another option would be to - for large bodies of code - fall back to a much less precise analysis. 12:33
timotimo to be fair, that is a huge piece of code. do big PHIs make the algorithm sweat? 12:34
the frame is 8638 bytes big before optimization
Predecessors: 4, 5, 7, 8, 9, 10, 17, 19, 20, 22, 23, 26, 27, 31, 32, 78, 89, 90, 91, 97, 102, 103, 104, 113, 133, 134, 137, 142, 147, 148, 149, 150, 153, 156, 158, 160, 161, 162, 163, 164, 168, 169, 173, 177, 178, 180, 184, 185, 187, 192, 195, 196, 197, 198, 200, 201, 202, 204, 205, 206, 211, 213, 214, 219, 220, 221, 222, 224, 225, 228, 230, 234, 236, 237, 243, 244, 249, 250, 252, 258, 259, 262, 269,
270, 271, 272, 273, 274, 276, 277, 278, 279, 280, 286, 287, 288, 289, 290, 291, 294, 295, 300, 301, 302, 303, 304
this should give you an idea of the size of PHI nodes it encounters :P 12:35
jnthn Goodness :) 12:36
timotimo that's frame handlers for you i guess?
jnthn Though I already made it a lot cheaper in the light of a lot of preds :)
timotimo right, you put some caching in 12:37
i remember that
jnthn Yeah. I wonder how long the unreads list gets.
timotimo given how slowly i read books and how many recommendations i get, very long. oh, that's not what you meant :D 12:38
jnthn :P 12:41
timotimo tell me where i have to look and i'll log or maybe graph it
jnthn github.com/MoarVM/MoarVM/blob/mast...ages.c#L72 12:42
timotimo almost 2k in this frame 12:45
jnthn Wow. 12:46
MasterDuke huh, a --profile of install-core-dist.pl shows 97% of the exclusive time in acquire (SETTING::src/core/Semaphore.pm6:5)
timotimo 2, 3, 4x 116, 214, 15x 116, 9x 214, 312, ...
like a hundred times 214, 1078, 1960 a couple times 12:47
i take and output the length at the end of the process_bb_for_deopt_usage function 12:48
only 10x 1960, 4x (in total) 1078, 11x 1568 12:50
jnthn Wonder if there's a different design that'd save having to iterate that list once per BB 12:51
MasterDuke: fwiw, I've fixed the most immediate issues that meant the www.moarvm.org/measurements/perl6-bench/ runs didn't do anything meaningful. Not sure if it'll manage to get through the whole lot of the work yet. 12:53
MasterDuke awesome
jnthn It takes a long time. :) So will leave it and see how it fails.
If it fails :)
MasterDuke interesting. a perf record of install-core-dist.pl looks a bit different now 12:55
gist.github.com/MasterDuke17/e5b20...bc57a4e83a MVM_sc_find_object_idx is now only 4th most expensive at 4% 12:56
process_bb_for_deopt_usage and VM_spesh_usages_remove_unused_deopt are 1st and 2nd with 11% and 10% 12:58
heh, it's 3s faster with MVM_SPESH_DISABLE=1 13:01
timotimo ouch :) 13:03
i wonder if spesh is keeping the other threads from running GC?
MasterDuke 3 gcs, 0 full gcs 13:05
0.2% time spent in gc 13:06
those are for the regular run, not the spesh disable one 13:07
maybe the fact that all the time is spent in acquiring a semaphore that's the problem? 13:08
timotimo: how do i turn on telemeh logging?
timotimo did you enable telemeh in Configure.pl? 13:09
MasterDuke yeah
timotimo moar --help should display the right env var 13:10
i think it's MVM_TELEMETRY_LOG=foo.txt ?
MasterDuke just looked, yeah
hm, how does the log work? 13:11
are the values timestamps or elapsed time? 13:12
timotimo the big numbers are "time" 13:13
MasterDuke looks like there's a *_interval_start and then *_interval_stop for "Semaphore.acquire" 13:14
timotimo right, should have matching numbers, too
MasterDuke so just subtract the first from the second?
timotimo and divide by the number near the start that tells you how many ticks in a second or so
it might say something like "calibration" or so 13:16
maybe more interesting to compare the total gc time vs the time it takes for the spesh thread to react to the gc request 13:20
MasterDuke 2.023, 12.531, 1.517, 2.519, 3.526, 3.525, 1.519, 1.518, 1.524, 3.029, 1.517, 1.530 # these are the times 13:35
timotimo for what exactly?
MasterDuke for the semaphore acquire
13:35 Ven`` left
MasterDuke (2nd - 1st) / calibration 13:35
how would i calculate the other thing you suggested 13:36
(but you can see one 12s wait for a semaphore, that can't be good) 13:37
timotimo it can be good 13:38
if there's nothing to do, for example
13:40 Ven`` joined
timotimo you can cross-reference with the spesh log to see if it was just waiting for a log to be sent 13:40
MasterDuke how to do the cross-reference? by time? 13:42
timotimo if you see something that looks like 12 seconds, i guess
MasterDuke 61712us, 1us, 1506880us 13:43
timotimo that's the "waiting for logs" outputs? 13:44
MasterDuke yeah
timotimo hm. not sur if that matches up
MasterDuke fwiw, i had to re-run 13:45
the new run didn't have a 12s sem, but there were a couple 5s
and a 6s 13:46
timotimo mhm
MasterDuke btw, what's all that binary output in the spesh log?
timotimo binary output?
i'm not aware of any, except maybe if a "lits(" is in front of it? 13:47
MasterDuke a lot of "^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@" 13:49
according to vim and less. slows them (or maybe my terminal) considerably
i had to pass --text to grep, otherwise it thought it was a binary file
timotimo that's null bytes, isn't it? 13:50
they're not supposed to be there :) 13:51
MasterDuke yep. 'CERTAIN RESULTS 3 =========' then a whole lot of null bytes 13:53
timotimo i wonder if something went wrong trying to print it to the file 13:54
13:54 ufobat_ joined
timotimo like, maybe fprint got back an error and we didn't check it (we have no checks for fprintf anywhere :P) 13:54
MasterDuke 24mb of null bytes 13:55
timotimo wtf 13:56
MasterDuke happens even with MVM_SPESH_LOG by itself, not just when MVM_TELEMETRY_LOG is on also 13:58
timotimo i wonder if strace looks suspicious at all 13:59
MasterDuke anything in particular to look for?
timotimo hm 14:00
MasterDuke can you repro it?
timotimo let's see
what command was it? 14:01
MasterDuke MVM_SPESH_LOG=s.log ./perl6-m tools/build/install-core-dist.pl /home/dan/Source/perl6/install/share/perl6
just the last line from a make install in rakudo 14:02
timotimo No writeable path found, /home/time/perl6/install/share/perl6 not writeable
huh
MasterDuke nearly the last line
that's whatever your --prefix is i think
timotimo yeah 14:03
MasterDuke oh, you did change it
oh! this is new. `free(): corrupted unsorted chunks`
timotimo super weird. valgrind will probably take far too long?
MasterDuke i'll start it 14:04
gotta afk in a little while anyway
timotimo mhh
that's some really strange behaviour
MasterDuke for sure 14:06
14:06 [TuxCM] left
MasterDuke huh, i see a couple of those `free(): corrupted unsorted chunks` in gdb, but it didn't break 14:09
timotimo is it running subprocesses per chance? 14:13
does it do precomp like that?
because if so, that'd explain the trouble
MasterDuke looks like yeah
timotimo multiple processes would be trying to write to the same spesh log file at the same time
MasterDuke valgrind didn't say anything
timotimo you can put a %d into the spesh log and telemetry log filenames 14:14
that'll get the pid
MasterDuke wow, 13 spesh logs ], ranging from 3mb to 120mb 14:16
timotimo 13 processes means we'll have 13 warm-ups 14:17
MasterDuke but even the 120mb one didn't have any null bytes 14:18
timotimo yeah
makes sense
we only got the null bytes from multi-threading interference
(is my working hypothesis) 14:19
MasterDuke anyway, afk for a while now 14:20
14:21 [TuxCM] joined 14:31 fake_space_whale joined
Geth rakudo: 07b4100ce0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/install-dist.pl
Make install-dist.pl executable

Noticed it in lintian warnings. I'd say it is especially important given that it has .pl extension.
14:45
rakudo: 9d8b6600cd | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files
Make all tools executable
14:47
rakudo: c5c4ea3888 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files
Make files in tools/build executable

Only the ones that have a shebang.
14:50
14:57 reportable6 left, reportable6 joined, ChanServ sets mode: +v reportable6
lizmat modules.perl6.org/dist/Tuple:cpan:ELIZABETH # comments / pull requests welcome 15:02
Geth rakudo: 59a6f7d25f | (Aleks-Daniel Jakimenko-Aleksejev)++ | 4 files
create-moar-runner.pl → create-moar-runner.p6

Please revert if tools outside of this repo depend on the script.
15:08
rakudo: 248ee79cfb | (Aleks-Daniel Jakimenko-Aleksejev)++ | 4 files
install-core-dist.pl -> install-core-dist.p6

Please revert if tools outside of this repo depend on the script.
15:12
lizmat AlexDaniel: make: *** No rule to make target `tools/build/create-moar-runner.pl', needed by `perl6-m'. Stop. 15:39
guess I need to do a Configure after these last changes ? 15:40
AlexDaniel yes
lizmat confirmed a configure solved the issue 15:43
afk for a bit&
16:30 AlexDaniel left 16:33 AlexDaniel joined 16:36 Ven`` left 16:38 Ven`` joined
Geth roast: e5e61d9497 | (Zoffix Znet)++ | S32-array/create.t
[v6.d REVIEW] Remove pointless `item` coercer

Orig: github.com/perl6/roast/commit/dbb376e50
17:04
roast: 8db9fe8c68 | (Zoffix Znet)++ | S12-introspection/attributes.t
[v6.d REVIEW] Simplify Attribute.gist test

Orig: github.com/perl6/roast/commit/1458b47cf
17:07
roast: d62bdac450 | (Zoffix Znet)++ | S02-types/baghash.t
[v6.d REVIEW] Loosen BagHash.BagHash test

We only need an `eqv` baghash, not the exact same object.
Orig: github.com/perl6/roast/commit/d8d8e7f32
17:17
17:18 travis-ci joined
travis-ci Rakudo build passed. Aleks-Daniel Jakimenko-Aleksejev 'install-core-dist.pl -> install-core-dist.p6 17:18
travis-ci.org/rakudo/rakudo/builds/404148904 github.com/rakudo/rakudo/compare/5...8ee79cfb3f
17:18 travis-ci left
Geth roast: 71aefdf8fb | (Zoffix Znet)++ | S32-list/classify-list.t
[v6.d REVIEW] Use regular hashes instead of anon state vars

Orig: github.com/perl6/roast/commit/816b913d9
17:37
17:48 fake_space_whale left
MasterDuke timotimo: MVM_TELEMETRY_LOG puts the pid in automatically, appended to whatever name you give 17:59
it seems like MVM_SPESH_LOG should do the same 18:00
18:00 Ven`` left 18:24 brrt joined 18:28 Ven`` joined
Geth roast: b7b4625e4c | (Zoffix Znet)++ | S32-list/categorize-list.t
[v6.d REVIEW] Use regular hashes instead of anon state vars

Orig: github.com/perl6/roast/commit/29366a201
18:37
roast: 57e5a7d463 | (Zoffix Znet)++ | S06-signature/types.t
[v6.d REVIEW] Fix up .of tests

Test using =:= op instaed of === and then we can also test Mu type propertly, instead of using its .^name
Orig: github.com/perl6/roast/commit/cb31fae88
18:40
b2gills Zoffix: `%()` is the same as `$/.hash` you want to use `%(   )` 18:41
Geth roast: 7b568420dc | (Zoffix Znet)++ | S02-types/bool.t
[v6.d REVIEW] Fix up/expand booly op cover tests

  - Test proper values instead of stringifications
  - Also test infix:<and> with 1 false arg
Orig: github.com/perl6/roast/commit/aec5f6ee5
18:43
AlexDaniel b2gills: github.com/perl6/doc/issues/2113 :) 18:46
18:51 Ven`` left
Geth 6.d-prep: f91d35aaf9 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md
Note 6.d spec already uses demagical meanings of $/ magicals
18:51
AlexDaniel Zoffix++ # v6.d work 18:52
18:52 Ven`` joined
Geth roast: 4da102c275 | (Zoffix Znet)++ | 2 files
[v6.d REVIEW] Don't spec stringification of Blob.WHICH

Orig: github.com/perl6/roast/commit/e4a190daf
18:59
releasable6 Next release in ≈5 days and ≈23 hours. 10 blockers. Please log your changes in the ChangeLog 19:00
19:01 cognominal left 19:27 cognominal joined, cognominal left, cognominal joined
MasterDuke jnthn: www.moarvm.org/measurements/perl6-...07-15.html does have graphs. however, they say nqp and rakudo are using the nom branch. don't know if it's just the text that's wrong or the actual benchmark 19:32
19:49 ufobat_ left 19:51 ufobat_ joined 19:52 brrt left, brrt joined
Geth rakudo: 925c113433 | (Zoffix Znet)++ | 2 files
Make Proc.command return return an immutable List

instead of an Array. Since accidentally modifying it might result in .command returning a different thing that what is being actually executed.
20:07
roast: d66c1a3349 | (Zoffix Znet)++ | 2 files
[v6.d REVIEW] Fix up spec of Proc.command

  - Expect an immutable List rather than a mutable Array
  - Don't expect for .command to return the same types of args
   that were given on initialization, so stringify the IO::Path object
Orig: github.com/perl6/roast/commit/8e1a1cc7d Rakudo fix up: github.com/rakudo/rakudo/commit/925c113433
roast: 1825cb0cb0 | (Zoffix Znet)++ | S29-os/system.t
[v6.d REVIEW] Don't rely on throws-like() sinking

And sink for sure inside the block, but returning a Nil from the code.
20:10 brrt left
Geth rakudo: fadc256311 | (Zoffix Znet)++ | t/05-messages/03-errors.t
[v6.d REVIEW] move Proc::Async.new error test from roast

Don't spec X::Multi::NoMatch behaviour for args that might be in use in the future.
Orig: github.com/perl6/roast/commit/34b31b2fb
20:14
roast: 11545cfac8 | (Zoffix Znet)++ | S17-procasync/basic.t
[v6.d REVIEW] move Proc::Async.new error test from roast

Don't spec X::Multi::NoMatch behaviour for args that might be in use in the future.
Moved to: github.com/rakudo/rakudo/commit/fadc256311 Orig: github.com/perl6/roast/commit/34b31b2fb
20:15
roast: 2ec8f96cb1 | (Zoffix Znet)++ | S04-blocks-and-statements/pointy.t
[v6.d REVIEW] Use better test for Code.file

So that on failure it shows the actual value received
Orig: github.com/perl6/roast/commit/3362fb762
20:21
20:52 brrt joined
Geth roast: bf9171b4b4 | (Zoffix Znet)++ | S32-num/complex.t
[v6.d REVIEW] Loosen abs on complex tests

  - Use is-approx, since we're dealing with floating point math
  - Clarify how you get 5e0 from abs(3+4i)
Orig: github.com/perl6/roast/commit/2e1428a07
21:16
6.d-prep: 6f84798df9 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Updated Zoffix's reached review commit
21:18
rakudo: 1ad34320e0 | (Elizabeth Mattijsen)++ | src/core/traits.pm6
Die on using "is required" on a private attribute
21:20
21:22 brrt left
MasterDuke lizmat: any more thoughts on github.com/rakudo/rakudo/pull/1844 ? 21:28
lizmat MasterDuke: ping received, will look at it tomorrow 21:29
MasterDuke cool, thanks 21:32
21:42 stmuk joined 21:44 stmuk_ left
jnthn MasterDuke: Given it was so out of date I had to install zef in place of panda, I'd not be surprised if it's accurate :) 21:54
MasterDuke: yeah, I found some nom references in the script...changed them to master, we can see if it's any better tomorrow 22:01
22:06 robertle left
jnthn Wonder if that'll get us the history reports too 22:09
22:15 Ven`` left
MasterDuke yeah, i just did s/nom/master/g to get it running on my machine. but i wonder if what's really needed is to add a new compiler (i.e., have a rakudo/nom for historical data and rakudo/master for current) 22:27
don't know how well it handles changing branches
japhb: ^^^ ? 22:28
lizmat calls it a day 22:32
jnthn I think for historical you could specify a tag, not a branch 22:37
github.com/rakudo/rakudo/issues/2069 turns out to be because we would previously catch an nqp::null being returned and then turn it into a Mu as part of the return handling
Which is kinda workaroundy
loop has a bug where it evaluates to nqp::null if it's of the form loop (something; blah; blah) { }, but not in loop { } nor loop (; blah; blah) { } 22:38
I could put the workaround back, but I suspect it's better to try and fix the loop code-gen issue
m: sub foo() { while $++ < 3 { say 'hello' } }; say foo() 22:39
camelia hello
hello
hello
Nil
MasterDuke jnthn: btw, did you catch any of the install-core-dist.pl discussion timotimo and i had earlier today? 13s semaphore wait times, 28mb null bytes in spesh log, 9s waits for logs from the log queue, etc... 22:44
timotimo well, waiting long for logs isn't problematic at all
that just means barely anything was being logged by the executing threads, i.e. everything was speshed or jitted
MasterDuke but a profile shows only 55% jitted 22:45
and given that it's 3s faster with spesh disabled, seems like a good benchmarking tool 22:47
jnthn for hecks sake, the whole sink handling stuff is so convoluted I might just put the null -> Mu mapping back in place :P 23:03
MasterDuke heh 23:04
timotimo ouch.
jnthn ah, think I figured a way 23:07
yeah, got it 23:09
We could put the null mapping back but...really we shouldn't have Perl 6 constructs evaluating an an nqp::null 23:10
timotimo not ok 14 - POST should not see outer $_ 23:11
# Failed test 'POST should not see outer $_'
# at t/spec/S04-phasers/in-loop.rakudo.moar line 167
is this just me?
uh oh, a segfault 23:12
jnthn No, not just you in that one 23:13
MasterDuke 'POST should not see outer $_' is a known fail right now
jnthn Though not seen it segv
timotimo this file isn't the one that segfaulted 23:14
t/spec/S06-currying/positional.t segfaulted in MVM_gc_root_add_instance_roots_to_worklist
while going through the sc_weakhash
jnthn eww 23:16
timotimo in MVM_sc_create this time 23:20
deserialize_sc_deps
is there anything particularly special about the hash(es) inside scs?
23:21 kjp joined
kjp G'day 23:23
timotimo Not enough positional arguments; needed at least 2
in block at t/spec/S17-promise/lock-async-stress.t line 11
i'm not sure what's causing all this. i'll re-run without my patch i guess
kjp I'm getting errors running and installing DBIish with current rakudo HEAD complaining about varoiable definitions in classes: "'is required' only works on a public attribute $.pg_conn, not a private $!pg_conn".
This occurs in all drivers. Is this a deliberate change which requires fixing in DBIish, or a rakudo bug? 23:24
MasterDuke timotimo: that one's been seen before
timotimo looks like a change that needs fixing in DBIish
kjp Okay, I'll raise an issue and/or pull request. 23:25
timotimo MasterDuke: i see multiple test files segv-ing
kjp: cool, thanks
MasterDuke timotimo: yeah, Zoffix (i think) created an issue somewhere for t/spec/S17-promise/lock-async-stress.t
timotimo: github.com/rakudo/rakudo/issues/2071 23:26
Geth rakudo: aff96baefd | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Make all cases of statementlist `loop` eval to Nil

Previously, `loop { }` and `loop (; $++ < 3;) { }` would evaluate to Nil, but `loop (my $i = 0; $i < 3; $i++) { }` would evaluate to an
  `nqp::null` due to the oversight that is corrected in this commit. This
bug was made more visible when recent changes to return handling removed the `nqp::null` mapping into Mu, resulting in the problem observed in issue #2069. Since all other loop cases evaluated to Nil, this created a discontinuity where one particular case of `loop` would instead evaluate to Mu. Therefore, there was already a bug; the recent changes just made it problematic in more cases.
23:29
synopsebot RAKUDO#2069 [open]: github.com/rakudo/rakudo/issues/2069 [regression][⚠ blocker ⚠] `Cannot call method 'sink' on a null object` when using `loop` in sink context
timotimo i get a bunch of segfaults without my patch, and some even overlap, so i assume there's many that don't reliably segfault and it's not my patch that does it 23:37
the cat is refusing to close the Tap she has on my Supply of BellyRubs 23:42
jnthn goes to rest up so he can fix more regressions tomorrow :) 23:44
'night
timotimo gnite jnthn
kjp: how do you feel about adding something to throw errors when these aren't provided? like fou can give a "default value" with "die 'error message'" for those arguments in submethod BUILD 23:46
not sure if this class is ever constructed by end-users, it probably isn't
i wonder what the logic is behind having :$!parent! but not :$!pg_conn for example 23:47
i.e. one of them is marked required, but the other isn't
BBL