Geth roast: 8fa281425d | (Nick Logan)++ (committed using GitHub Web editor) | S17-supply/wait.t
Update wait.t

  rt.perl.org/Ticket/Display.html?id=129247
Fixed in rakudo at: github.com/rakudo/rakudo/commit/32b72cd
00:57
roast: 4671117c28 | (Samantha McVey)++ | S02-literals/quoting.t
Fix quoting.t so it can be ran from in roast directory

Previously it assumed it was being run in rakudo's t/spec folder. Make sure to `use` the packages directory so it can be run from inside roast's directory.
03:16
roast: 8a351395cd | (Nick Logan)++ (committed using GitHub Web editor) | S32-io/mkdir_rmdir.t
Unfudge and cleanup mkdir/rmdir tests

  rt.perl.org/Ticket/Display.html?id=124788
  rt.perl.org/Ticket/Display.html?id=124789
  rt.perl.org/Ticket/Display.html?id=124790
03:52
[Coke] samcv: tried to simplify the malformed utf 8 error I'm seeing with docs & os x.: github.com/perl6/doc/issues/1414 04:15
samcv weird 04:16
[Coke] I can't remove much more of that sample file. 04:17
I suspect the size is a factor, and that there is some non-ascii in it.
samcv so this results in the failure? github.com/perl6/doc/issues/1414#i...-315263329 04:18
[Coke] yes. if I run that script with the linked gist file, it dies here with malformed utf8 04:20
zzz 04:25
samcv hmm 05:12
night
[Tux] This is Rakudo version 2017.06-231-g8d5f3324a built on MoarVM version 2017.06-75-g8aa657d6 06:19
csv-ip5xs 2.471
test 12.202
test-t 4.108 - 4.108
csv-parser 12.238
Geth roast: a6bbc73cff | (Samantha McVey)++ | S15-nfg/concatenation.t
Add an additional concat test and change tests to is-deeply

This case wasn't tested for but failed during MoarVM development which is why it is being added.
07:13
samcv woo. full spectest pass on my new concat changes :) 07:14
llfourn samcv++ 08:20
samcv it's exciting :)
soon we won't need to renormalize the full length of both strings being concatenated together! and only normalize the two codepoints on the boundary
llfourn = faster concatination? 08:21
samcv for initially it's only going to work when the codepoints either combine or don't. and not work if they need to be reordered. though eventually we can probably do that as well
but that's much less common
yes :)
as well as \r with \n will be much faster
and not need to renormalize the full length of both strings
so if you concatenate two strings a and b. what happens is it creates a new string made up of two strands. the two strands will be a and b 08:22
if a and b are made up of strands then it makes a new string made up of the strands of both a and b
so before if either of the codepoints failed NFG_QC which can include a fair number of them, then it would automatically renormalize everything. so i've made that trigger about 1/3 as much or maybe more than that 08:23
probably more
only triggering if it sees two regional indicators being concatted, or if they have canonical combining class that's not 0 (end of a or start of b) 08:24
my branch, what it does now. if it determines that the two codepoints will join together, it will make a strand made up of the combination of last_a and first_b. so if it's 'texthere\r' ~ '\nstuffhere' then it will create instead of 2 strands it will make 3. with 'texthere' + '\r\n' + 'stuff here' 08:25
well or more strands depending on how many strands are in a or b
instead of starting the normalizer at the beginning of string a and going all the way to the end of string b 08:26
:D
llfourn samcv: you had me at "I made it faster" :D 08:29
I think I can only partially apreciate the details there but I'm sure others here will do better. 08:30
samcv well i wanted to explain it anyway heh 08:31
llfourn so does that mean it's a speedup only when the concatinated strings end/begin in certain characters? 08:33
samcv yeah. if they would end up combining 08:34
before if thye were going to combine it'd have to normalize and process the full length of strings a and b. so if you had very long strings that would be very slow
well. also the previous change already in moarvm reduces when it renormalizes everything by a huge amount. so it gets called much less 08:35
because before it was being done if there was *a chance* it had to renormalize
but now it only does it if it actually does
and then the change not yet in moarvm and only in my branch will make it so in cases when it does have to combine it won't have to trace the full lengts of both strings, it will just combine those two characters and have it be a strand 08:36
llfourn I did a atest a while ago which showed that my $a = ''; for ^10000 { $a ~= $_ }; 08:37
samcv so it will be just as fast as concatenating two normal strings are plus a little overhead for adding the other strand
llfourn seemed to be OnĀ²
is that still the case?
samcv well. it will be faster
i'm sure it's faster now
m: my $a = ''; for ^10000 { $a ~= $_ }; say now - INIT now
camelia 0.03314010
samcv llfourn, now it will only have to do extra work when the string contains more than the max limit of strands 08:38
llfourn nice. I will take a look to see how it's changed. 08:39
samcv atm it's actually a little slower for my special branch but that's because it doesn't yet have a fast path for when you combine two characters 08:40
so it has the extra overhead even when combining two charecters though i'm curious if master moarvm is any faster 08:41
before i merge it in i'm probably going to specialcase when string a is one codepoint and string b is one codepoint 08:42
well not completely the case here but
i just only got it full spectest passing like 30 mins ago :P
so haven't had time to optimize anything
llfourn hmmm well I just did a test on current HEAD and it looks like 'for 0..280_000 { $str ~= $_ }' is now finishing in 12s vs 10s in early 2016 08:44
jnthn Since it's release day tomorrow, if you're not entirely sure in it, might be worth merging just after release. :)
yoleaux 13 Jul 2017 22:08Z <Zoffix> jnthn: "if .getc is busted near end of input (which I seem to recall seeing an RT about)". Yeah, there's a ticket for it: rt.perl.org/Ticket/Display.html?id...et-history
02:16Z <MasterDuke> jnthn: clang complains about src/6model/reprs/VMArray.c:307 `if (n < 0)`, that 'comparison of unsigned expression < 0 is always false'. n is an MVMuint64, can the check be tossed?
llfourn (I'll check again after your work has been merged)
samcv jnthn, yeah i'm not merging for at least several days heh
jnthn :) 08:45
samcv though jnthn i think i'm going to make one change just to be extra careful with the new concat changes i've already put in
jnthn samcv: Some are already in master? 08:47
But yeah, do as you feel helps us ship a safe release :)
samcv well yeah that i made this last week
jnthn Goes without saying none of my spesh changes are going into tomorrow's either :)
samcv jnthn, i added these tests github.com/perl6/roast/commit/8863...028e765a4d to ensure that we couldn't get incorrect normalized things on concat 09:09
but i just want to be extra sure. just in case. since we checked it before. may be able to remove later but better extra safe. and doesn't really slow it down noticibly
lizmat . 09:11
dogbert17 any suggestions as to where to put a test for RT #130883 10:24
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
Zoffix Here's another place where I seen the "Malformed UTF8" error and looks like there's golf available: github.com/perl6/doc/issues/1414#i...-315263329 12:01
jnthn I just wget the raw fail.out and ran the program and it seems fine 12:13
Ran it quite a lot of times and seems fine
Geth rakudo/nom: 80bbfcdd47 | (Jonathan Worthington)++ | src/core/IO/Handle.pm
Use same slow-path for getc and readchars.

This will allow fixing the common problem they have near the end of the file in one place, as well as giving less code to maintain.
12:32
nqp: dd137d70ba | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
Bump MOAR_REVISION.
13:07
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...6-g4b87b02
283be204bc | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...6-g4b87b02
5e00f9b42f | (Jonathan Worthington)++ | 3 files
jnthn With that and a Rakudo patch to use it, RT #131383 and RT #131365 can be fixed 13:08
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131383
Link: rt.perl.org/rt3/Public/Bug/Display...?id=131365
tbrowder is there a recommended way to automate squashing commits on a user's branch for a PR? to me the ideal way would include a single commit message from a file which would read like a changelog for the PR. i ask because i see all kinds of methods suggested and wonder if you might have a standard. 13:33
Geth roast: d006543e12 | (Jonathan Worthington)++ | S16-io/readchars.t
Add tests for IO::Handle.readchars.

Apparently we didn't have any (only indirect testing by CatHnadle). Includes a test for RT #131383.
13:38
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131383
Geth rakudo/nom: f6279c344f | (Jonathan Worthington)++ | tools/build/NQP_REVISION
Bump to latest NQP/MoarVM.

Brings new decodertakecharseof op which will be used to fix issues with getc/readchars near the end of the file. Also fixes for a SEGV in `gc_mark` of call captures, which could impact particularly code using destructuring, and some concatenation improvements.
13:41
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....8-g5e00f9b
49f555a2fb | (Jonathan Worthington)++ | 3 files
rakudo/nom: 3075f012ad | (Jonathan Worthington)++ | t/spectest.data
Run new S16-io/readchars.t.
[Coke] jnthn: (fail.out) yah, it's absolutely reliable failure here. Please let me know if I can provide more debug output, happy to use a patched moarvm/nqp/rakudo, etc. 13:46
I'm sure it's OS X related. :|
jnthn [Coke]: I'm wondering if somehow the process of gisting it has corrected the datra
Oh, but the problem is that the cat of it goes wrong, not that the data is bad? 13:47
[Coke] I doubt it: Zoffix reported on the ticket that it always JW for him as well
jnthn hm, ok
[Coke] the cat is required. Just straight .lines was fine.
jnthn OSX :S
If only they made it easy to get an OSX image running in virtualbox 13:48
lizmat
.oO( good thing they renamed it to macOS )
jnthn: if necessary, I can open up access to a macOS machine here again
jnthn lizmat: That may be the best bet. Though not today... :) 13:49
lizmat okidoki
Zoffix "JW"?
jnthn Just Worked? 13:50
Zoffix Ah
Geth roast: 60a9e39b89 | (Jonathan Worthington)++ | S16-io/getc.t
Test to cover RT #131365.
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131365
jnthn Alrighty, two RTs down
Geth roast: a90ae06c0e | (Elizabeth Mattijsen)++ | S03-operators/set_symmetric_difference.t
Add tests for [(^)] with absentee keys and Mixies
13:53
rakudo/nom: 0c02f93e32 | (Elizabeth Mattijsen)++ | src/core/set_symmetric_difference.pm
Handle [(^)] with absentee keys and Mixies correctly
13:54
Zoffix fwiw roast's Test::Util has make-temp-file github.com/perl6/roast/blob/master...#L519-L525 14:06
You can give it content to use and it'll automgically get delted
jnthn I just copied getc.t for readchars.t :)
Zoffix ah
jnthn But nice to know
uh, I hope I did at least :) 14:07
d'oh, no
m: sub ($ is rw) {}(42) 14:08
camelia Internal error: inconsistent bind result
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
Geth roast: f423c8d78e | (Jonathan Worthington)++ | S16-io/readchars.t
Use $tmpfile, not hardcoded name.

Result of copy-paste from a local test file.
14:13
jnthn m: use Test; throws-like { sub ($ is rw) {}(42) }, X::Parameter::RW 14:16
camelia 1..2
ok 1 - code dies
not ok 2 - right exception type (X::Parameter::RW)

# Failed test 'right exception type (X::Parameter::RW)'
# at /home/camelia/rakudo-m-inst-2/share/perl6/precomp/36D40C27910FB996FCF6DA8F89057F360B66C8Cā€¦
Geth rakudo/nom: 88acdbb745 | (Jonathan Worthington)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
Fix anonymous `is rw` param error reporting.
14:22
roast: 14e5cab4b7 | (Jonathan Worthington)++ | S06-traits/is-rw.t
Test for RT #131673.
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131673
jnthn m: so try await start 42 14:27
camelia WARNINGS for <tmp>:
Useless use of "so " in expression "so try await start 42" in sink context (line 1)
jnthn m: try await start 42
camelia ( no output )
jnthn Zoffix: About rt.perl.org/Ticket/Display.html?id=131417, why is it incorrect?
Zoffix jnthn: not sure. Rejected it. 14:29
jnthn Well, that was the easiest one for me so far today :P 14:30
Zoffix :)
jnthn sees if he can get valgrind to whine about github.com/MoarVM/MoarVM/issues/611 14:31
Geth roast: 5855abee9b | (Elizabeth Mattijsen)++ | S03-operators/set_intersection.t
Add quite a few [(&)] tests
roast: 0a97c4c12c | (Elizabeth Mattijsen)++ | S03-operators/set_symmetric_difference.t
Add a forgotten comment line
jnthn hah, yes 14:32
but I didn't do a debug build...d'oh
[Coke] jnthn: verified, I curled the raw file back down from github, same error here. 14:38
jnthn: also: I cannot duplicate the issue with Proc::Async 14:41
so it's something run specific, with that specific input file ( size is important, unicode is important), on OS X. 14:42
async code was: my $out := Proc::Async.new('cat', 'fail.out');my $result=""; $out.stdout.tap(-> $buf { $result ~= $buf});await $out.start;Nil for $result.lines; 14:44
er, also .lines is required.
oh, I can get an --ll-exception, anyway.
(added to ticket) 14:46
github.com/perl6/doc/issues/1414#i...-315378376 14:47
Geth rakudo/nom: c0eeebde63 | (Elizabeth Mattijsen)++ | 2 files
Simplify [(&)] handling

  - because all the candidates are in place
  - and we now have tests for them
  - this could prove to be a performance gain, but didn't check
14:50
Zoffix m: say time 14:57
camelia 1500044227
Zoffix ZofBot: happy belated 1,500,000,000 time!
jnthn Complain all the things! 14:58
cschwenz is ZofBot a Markov text generator? 15:03
Zoffix No, he just huffs a lot of glue. 15:04
cschwenz :-P
jnthn I'd expect it to sound smarter if it was a Markov one :P 15:05
cschwenz but sounding smarter is completely dependent on its source text. :-D 15:06
Geth roast: 3503a07009 | (Elizabeth Mattijsen)++ | 8 files
Remove testing of set operators with prefix R

We don't need to test the functionality of the R metaop that many times
15:09
lizmat that's about 6K tests less in roast
although I don't think you will notice much in manner of roast being faster 15:10
timotimo yeah, cuz it's really fast 15:18
Geth rakudo/nom: e2ec7bdff8 | (Jonathan Worthington)++ | src/core/CallFrame.pm
Avoid various VM errors in CallFrame.

Nil and a Failure are better than a VM-level exception that will be relatively meaningless to the typical language user.
15:56
roast: fc35eaee6f | (Jonathan Worthington)++ | S06-advanced/callframe.t
Test callframe won't SEGV or explode with VM error

This test case inspired by github.com/MoarVM/MoarVM/issues/562
15:58
lizmat jnthn: any reason why the second isn't an ifnull as well ? 16:00
ah, I see... 16:01
duh
jnthn :)
Was going to ask how you planned to express it with ifnull :)
lizmat hehe
ugexe so there are 2 fudged roast test that expect X::IO::Mkdir for $dir-that-exists.mkdir and $dir-that-doesnt-exist.child("dir2").mkdir - but this is not the behavior we went with 16:02
these both succeed and return the IO::Path of the directory
RT #124791 and RT #124792 - github.com/perl6/roast/blob/8a3513...mdir.t#L38 16:03
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124791
Link: rt.perl.org/rt3/Public/Bug/Display...?id=124792
jnthn I'm guessing we have other espectsets that want The Other Thing?
Geth roast: 78b0066609 | (Elizabeth Mattijsen)++ | S03-operators/set_difference.t
Add quite a few [(-)] tests

So that we can safely refactor the infix:<(-)>(**@p) candidate after this month's release. At least we have thorough testing now.
ugexe jnthn: probably... i think that entire test file can probably be deleted except for that last segfault test 16:04
Zoffix: ^ ?
maybe mkdir isn't tested anywhere else.. well directly 16:06
Zoffix m: dd "/".IO.mkdir 16:11
camelia IO::Path.new("/", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))
[Coke] lizmat: can you verify that my doc issue fails on your mac?
Zoffix how is that last subtest even passing :/
ugexe ...good question 16:12
Zoffix That file isn't in t/spectest.data
ugexe heh 16:13
Zoffix No idea about dying on mkdir for existing dir. We should die for existing *file* (and we don't). We also create all the parent directories if they don't exist, which means if we die on mkdir'ing an existing *dir*, this would be fatal (assumign dirs exist): "foo/bar".IO.mkdir but this wouldn't "foo/bar/ber".IO.mkdir which's kinda weird. 16:16
m: with "/tmp/dasdasdasdsadas".IO { .spurt: "tis a file"; dd .f; dd .mkdir }
camelia Bool::True
IO::Path.new("/tmp/dasdasdasdsadas", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))
ugexe i still dont see how that test gives an X::IO::Mkdir but I get an IO::Path if I do perl6 -e 'say "/".IO.mkdir' 16:19
m: my $result; try { $result = "/".IO.mkdir; CATCH { default { $result = $_; } }; } for ^5; say $result.perl 16:21
camelia IO::Path.new("/", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))
Geth roast: 23beacf725 | (Jonathan Worthington)++ | S19-command-line/arguments.t
Test to cover RT #130760.
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760
ugexe ah on OSX it throws 16:22
Im running the test itself on osx, but did the one liner attempts on linux
osx doesnt throw on $cwd/existing-folder though 16:24
Zoffix yeah, there's a ticket: rt.perl.org/Ticket/Display.html?id...et-history 16:26
jnthn Alright, think that's enough for today
NeuralAnomaly: status
NeuralAnomaly jnthn, [āœ˜] Next release is today. Since last release, there are 26 new still-open tickets (5 unreviewed and 0 blockers) and 49 unreviewed commits. See perl6.fail/release/stats for details
jnthn o.O
Alright, guess I'll be doing the MoarVM release tonight or tomorrow then :) 16:27
ugexe oh wow
on linux $existing-dir.mkdir returns an IO::Path. on osx it returns True 16:28
oops old version :) 16:29
jnthn afk for now 16:30
ugexe i do still get an exception on osx for "/".IO.mkdir though
Zoffix "Zoffix ā”‚ yeah, there's a ticket: rt.perl.org/Ticket/Display.html?id...et-history " 16:32
It's the reason we had REPL history bug a while back.
ugexe ah. any idea if it acts the same on jvm? 16:33
Zoffix No idea.
Geth roast: 071cf11fea | (Elizabeth Mattijsen)++ | S03-operators/set_multiply.t
Add quite a few [(.)] tests

So that we can safely refactor the infix:<(.)>(**@p) candidate after this month's release. At least we have thorough testing now.
16:36
timotimo whoa, huh, today 16:41
lizmat dinner& 16:53
Zoffix reminds that timezones stretch for 26hr, so "today" is a rather broad term 16:55
"Line Islands, Kiribati: The current time and date right now: 6:56:23 AM Saturday, July 15, 2017 " 16:56
[Coke] hey, it's today somewhere right? *swigs giant glass of iced tea* 16:57
dogbert17 Zoffix: any suggestion about where to put a test for RT #130883? 17:10
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
Zoffix I'd say just do grep -FR '%?RESOURCES' ... but holy crap, there ain't a single test for it? :S 17:12
timotimo time to sneak in a super risky optimization 17:13
Zoffix super risky? Perhaps it should wait until after release? 17:16
I don't want my last release to have any point releases :)
timotimo i don't actually have any optimization to offer ;( 17:17
Geth roast: 47341f178e | (Elizabeth Mattijsen)++ | 5 files
Fix copy-pasto in comments
17:20
roast: 64af59c9ff | (Elizabeth Mattijsen)++ | S03-operators/set_addition.t
Add quite a few [(+)] tests

So that we can safely refactor the infix:<(+)>(**@p) candidate after this month's release. At least we have thorough testing now.
lizmat really dinner& 17:21
dogbert17 Zoffix: somewhere in S10 & S11 perhaps 17:38
ugexe %?RESOURCES should go in s22. the PERL6LIB in s10 or s11 probably 17:39
Zoffix wow... jnthn++ ... clicked "Refresh" on my email and screen filled with RT ticket resolutions :) 17:51
timotimo <3 17:52
bugs just melt under his fingers like butter under a summer's sun
Geth roast: dogbert17++ created pull request #282:
Add test for RT #130883. ugexe++
18:59
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
ugexe dogbert17: fyi you might want to use a name different from NativeCall.pm so if it doesn't get cleaned up its not confusing 19:03
dogbert17 ugexe: good ideia 19:04
*idea
hmm, if I use another name, e.g. Test.pm6, won't I get a compilation error then 19:06
Geth roast: c0ce63a03a | (Jan-Olof Hendig)++ | S11-modules/perl6lib.t
Add test for RT #130883. ugexe++
19:28
roast: 19a3341c9a | dogbert17++ (committed using GitHub Web editor) | S11-modules/perl6lib.t
Update perl6lib.t

Don't use NativeCall.pm6 as it might be confusing
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
roast: 10cf641e28 | dogbert17++ (committed using GitHub Web editor) | S11-modules/perl6lib.t
Merge pull request #282 from dogbert17/test-rt-130883

Add test for RT #130883. ugexe++
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
Zoffix AlexDaniel: what's your RT account email? I'm gonna give you release manager perms on perl6.fail . You'll need to setup a CLI password on RT (right panel): rt.perl.org/User/Prefs.html 19:42
Geth rakudo: dogbert17++ created pull request #1114:
Add new file to spectest.data
19:47
Zoffix ZOFFLOP: t/spec/S32-io/open.t 20:15
not really seeing much improvement to spectest run. First run was 153 secs :/
Zoffix runs again
m: say 153/111 20:16
camelia 1.378378
Zoffix open.t flops again. Something's seriously wrong with it 20:19
Files=1261, Tests=161353, 151 wallclock secs (24.44 usr 4.16 sys + 2998.90 cusr 218.36 csys = 3245.86 CPU)
ZOFVM: Files=1261, Tests=161353, 151 wallclock secs (24.44 usr 4.16 sys + 2998.90 cusr 218.36 csys = 3245.86 CPU)
And roast run is 37% slower than usual :/
Geth nqp: 61307bbed2 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
Bump MoarVM

MoarVM bump brought commits:
  github.com/MoarVM/MoarVM/compare/2...1-g146c8fc
146c8fc Merge pull request #614 from lucasbuchala/typos1 1430b5a Decoder typos eea7fd9 Fix ctxcode op to not leak a NULL. 198c72b Don't make string pointing into middle of buffer. e5f22fa Copy correct length in get_all_in_buffer.
Zoffix Oh wait 20:20
Ā¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...1-g146c8fc
rakudo/nom: 8bd7216526 | (Zoffix Znet)++ | tools/build/NQP_REVISION
Bump NQP

NQP bump brought commits: github.com/perl6/nqp/compare/2017....9-g61307bb 61307bb Bump MoarVM
MoarVM bump brought commits:
  github.com/MoarVM/MoarVM/compare/2...1-g146c8fc
... (6 more lines)
Zoffix I think it's the thing like last time where it didn't build new moarvm while I'm bumping
Ā¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....9-g61307bb
Zoffix nukes everything and builds again
timotimo there was a rather severe performance problem recently
Zoffix Yeah and I thought jnthn++ fixed it 20:21
timotimo yup
but maybe you somehow ended up without that commit
Zoffix prolly
dogbert17 bisect: my $a = 42; say $a =:= $a || $a.WHAT =:= $a.WHAT 20:27
bisectable6 dogbert17, Bisecting by output (old=2015.12 new=8bd7216) because on both starting points the exit code is 0
dogbert17, bisect log: gist.github.com/f113fbe424655bd701...1aaf496a46
dogbert17, (2017-01-31) github.com/rakudo/rakudo/commit/f8...e4bac50dca
samcv has changelog been finalized yes or no 20:29
timotimo unlikely
samcv ok let me take a look at it
ok i just woke u. i'll grab some tea and then probably write up a few changelog entries to help out Zoffix and make sure they make it in the changelog 20:31
timotimo u so woke 20:32
samcv hardly
woke up like 5 min ago
Zoffix nope, not it 20:34
Fresh clone and build. Files=1248, Tests=161267, 150 wallclock secs (24.64 usr 4.08 sys + 3045.93 cusr 221.33 csys = 3295.98 CPU) 20:35
And open.t flop
timotimo dang
Zoffix .tell jnthn FWIW, I bumped MoarVM then fresh clone and built everything and still getting 37% slower than usual roast runs. 20:36
yoleaux Zoffix: I'll pass your message to jnthn.
samcv 37% slower? how many test jobs? 20:37
ugexe `perl6 --ll-exception -e 'qwerty'` <- this started blowing up sometime after 2017.06
the --ll-exception bit is key though 20:38
Zoffix samcv: whatever usual jobs I use. 30 I think
samcv hmm i hadn't seen that when running tests yesterday at least
but i only use 9 jobs
er
yeah 9 20:39
Zoffix .tell jnthn roast runs == stresstest (not spectest; not sure if that's similarly slower)
yoleaux Zoffix: I'll pass your message to jnthn.
Zoffix open.t seems to refuse to fail on its own
samcv oh Zoffix i added more roast tests? 20:40
but it shouldn't be that much slower
nfc-*.t will take about twice as long per test
Zoffix how long is that? 20:41
samcv but still shouldn't make all tests run take 30% longer
let me see 20:42
Zoffix m: say 153-111
camelia 42
Zoffix It got slower by ~42 secs
samcv wow took me 1:44 to run just those tests. that's slow. 20:44
there's only 9 tests
nine nfc-1.t to nfc-9.t 20:45
let me time before 20:46
Geth roast: 250116b88f | (Zoffix Znet)++ | S32-io/open.t
Fix unhandled Failure in DESTROY spammage

use proper test routine to test for failures
20:47
Zoffix wow these tests are pretty slow 20:48
samcv yeah.
somehow i tried to make them faster and i think i ended up with them slower 20:49
but i was planning on making them faster, so just ignore roast being slower than normal :|
well i added more tests *then* they were slow then tried to make them faster which i think actually made them even slower. but they were important to add due to some of the concat changes i made to be extra careful 20:50
Geth rakudo/nom: b3f679bbc8 | (Zoffix Znet)++ | t/spectest.data
Mark slow nfc tests as slow
20:51
Zoffix ha yeah it's the ttests 20:53
.tell jnthn false alarm. Turns out it was the nfc tests
yoleaux Zoffix: I'll pass your message to jnthn.
Zoffix nfc-1.t took 10s to run a month ago now runs in 52s :) 20:54
Zoffix starts a HEAD + 2017.06 toast run 20:55
Those slow markers did jack all. Oh well, 150 is the new 111 :) 21:00
samcv heh
lizmat Zoffix: doesn't slow only work on non-stress test files ? 21:02
Zoffix based on brief gander at harness5 code, no, looks to run all the time 21:06
But I'm guessing it's one test file takes 150s to run
Geth rakudo/nom: d3ebc60957 | (Zoffix Znet)++ | t/spectest.data
Revert "Mark slow nfc tests as slow"

This reverts commit b3f679bbc8e3167f0bf6b35f707348e244ec0ba2. cause it didn't do anything useful
21:07
Zoffix flopping open test is ''.open with "-" as path can open closed $*IN/$*OUT'' 21:08
Geth rakudo/nom: e9f891b8e1 | (Samantha McVey)++ | t/spectest.data
Add S15-nfg/concat-stable.t to spectest.data
21:09
samcv question. should `exit 'foo'` fail converting to a number or should it fail binding. or should it just return 1 21:23
m: exit 'foo'
camelia This type cannot unbox to a native integer: P6opaque, Failure
in block <unit> at <tmp> line 1
Geth rakudo/nom: 0603cd917b | (Jan-Olof Hendig)++ | t/spectest.data
Add new file to spectest.data

So far it only contains a test for RT #130883
21:30
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130883
Geth rakudo/nom: f0f8bdb338 | lizmat++ (committed using GitHub Web editor) | t/spectest.data
Merge pull request #1114 from dogbert17/add-new-spectest-file

Add new file to spectest.data
Zoffix would have it take an Int(Cool) 21:31
lizmat was just testing that 21:32
hmmm... maybe Int(Any) would be better 21:34
Zoffix ZOFFLOP: t/spec/S11-modules/require.t
narrowed down open.t failure to ok 72 - can use unopened handle with path '-'.IO 21:36
Seems to always fail when `make stresstest`ing, but never when by itself, or by even using the makestresstest command with just that one test file :/ 21:37
Geth roast: 4fd599390c | (Elizabeth Mattijsen)++ | 2 files
Remove superfluous and incomplete [(+)] tests

  - superfluous because now tested in set_addition.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
21:50
ugexe :path('-'.IO) the .IO pointless there yeah? 21:51
AlexDaniel Zoffix: it's [email@hidden.address] 21:52
Geth roast: 332c6f618b | (Elizabeth Mattijsen)++ | 2 files
Remove superfluous and incomplete [(.)] tests

  - superfluous because now tested in set_multiply.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
21:54
AlexDaniel wā€¦ whatā€¦ did it just trim my password to 39 charactersā€¦
hm, it didn'tā€¦ 21:55
ok, CLI password set :) 21:56
ugexe github.com/rakudo/rakudo/commit/1a...2246c4c26c # this broke --ll-exception for `perl6 --ll-exception -e 'x'`
Zoffix AlexDaniel: ok, you should be able to login on perl6.fail with that login and your CLI password and get the manager interface that lets you mark tickets and review commits i.imgur.com/mHK2iRW.png 21:57
Geth roast: 97c593b793 | (Elizabeth Mattijsen)++ | 3 files
Remove superfluous and incomplete [(^)] tests

  - superfluous because now tested in set_symmetric_difference.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
21:58
ugexe m: THROW-NIL(256)
camelia chars requires a concrete string, but got null
AlexDaniel Zoffix: looks like it worked
ugexe because there is no message in the exception
lizmat could that be the result of the patch making backtraces lazy? 21:59
Zoffix ugexe: not really. `:path` is supposed to be IO::Path or IO::Special. 22:00
ugexe the commit says its to only create Exception messages when gisting 22:01
THROW/THROW-NIL look like they are for control flow. but warn is also control flow.
Geth roast: 00c3e4c5db | (Elizabeth Mattijsen)++ | S03-operators/set.t
Remove superfluous and incomplete [(&)] tests

  - superfluous because now tested in set_intersection.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
22:03
Zoffix k, the open failure gives `Reading from filehandle failed: Bad file descriptor` 22:04
in the err output of the is_run test
Geth roast: 8969571205 | (Elizabeth Mattijsen)++ | S03-operators/set.t
Remove superfluous and incomplete [(|)] tests

  - superfluous because now tested in set_union.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
22:05
Zoffix Oh, finally! found a way to repro it outside the make spectest :) 22:07
Zoffix digs in
Geth rakudo/nom: caa9ef8138 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm
Let exit take anything that can be coerced to an Int
22:10
rakudo/nom: 3aa31aa5ce | (Elizabeth Mattijsen)++ | t/spectest.data
Remove S03-operators/set.t

The final 2 tests were moved to S02-types/set.t. All other tests have been moved to S03-operators/set_*.t
roast: e4dec916d8 | (Elizabeth Mattijsen)++ | 2 files
This is the end, my friend

  - final 2 tests moved to S02-types/set.t
22:11
ugexe m: my $*ERR := class :: { method print(|) { }; }.new; warn(666); # this broke between .05 and .06
camelia Cannot resolve caller say(<anon|60722096>: Str); none of these signatures match:
(Mu $: *%_)
lizmat sigh :-( 22:12
ugexe I tried changing the $err.say in Perl6/Optimizer to $err.print but that wasn't it i guess
lizmat could be print but it would need an extra "\n" at the end then ? 22:16
jnthn I'm not sure it's reasonable to expcet you can just replace $*ERR with something that only handles print; say is a perfectly fine thing to call on a handle. 22:18
So I'd argue it was just getting lucky before
timotimo hmm, when we derive from an io handle like that and just re-implement write-internal or such, that won't help because it's a private method 22:19
jnthn It'll be probably a change in print_control in Exception.pm that'll have done it though
timotimo: write-interanl ain't a private, it's actually there to be overridden
Like IO::Pipe does 22:20
Zoffix It needs a better name thio
jnthn We can bikeshed it if we have to
timotimo ooooh
that's the perfect way to be wrong about something 22:21
jnthn But I like that it's "the thing that actually does a write"
Zoffix jnthn: way ahead of you :) github.com/perl6/6.d-prep/blob/mas...f-internal
Yeah, but "-internal" suggests it's something people aren't supposed to touch, like Rakudo::Internal
jnthn SOURCE doesn't mean anything to me 22:22
Source what? Source code?
Zoffix source of data :)
jnthn If we're going the uppercase route, jsut do READ, WRITE, and EOF :)
Zoffix jnthn: then it creates ambiguity with .read, .write, and .eof anywhere where you're not writing/reading text (e.g. presentation or talking to a coworker) 22:23
timotimo override-this-for-read, override-this-for-write, override-this-for-eof
read-impl, write-impl, eof-impl
Zoffix .__read__ .__write__ .__eof__ :)
jnthn Zoffix: True. -SOURCE is worse than -internal though :P
But the uppercase does convey the "it's called for you" 22:24
Zoffix +1 on -impl, but I'd prefer them to be uppercased to differentiate from all the normal methods consumers of the object would normally use
jnthn: I'm not attached to the -SOURCE. It can be anything else :)
jnthn impl ain't bad except it's an abbrev
timotimo and "implementation" is looooong
long impl is long
Zoffix i12n :) 22:25
jnthn :P
It'd be kinda nice if we could pull the various methods that are implemented in terms of these 3 into a role
Geth roast: 03c0d2ebac | (Elizabeth Mattijsen)++ | S03-operators/set_precedes.t
Move all (<+) and (>+) tests into a separate file

Tests are copied verbatim as there will be no further development of the (<+) and (>+) operators.
jnthn And if IO::Socket could then do this role also
Since we've some dupe between that and IO::Handle 22:26
Not sure if that's entirely possible but should probably be
Zoffix Seems like something's busted with Proc/Proc::Async's $*IN plumbing
jnthn Then the role declares READ-IMPL as a requirement
Zoffix: The one that just plumbs descriptors together? 22:27
jnthn added a bunch of tests for the Proc::Async case of that while implementing it
Geth rakudo/nom: 51cc2c8885 | (Elizabeth Mattijsen)++ | t/spectest.data
Make sure we run the relocated (<+) and (>+) tests
ugexe i guess I expected :path to be str since IO::Path.path is a string 22:28
Zoffix Well, unsure. Basically, I golfed the failed open test to $*IN = IO::Handle.new: :path('-'.IO); $*IN.open; $*IN.slurp(:close).say; And when it's run inside `is_run` (that uses Proc/Proc::Async) it dies with "Reading from filehandle failed: Bad file descriptor", but when I just do that code outside of is_run then it's fine
ugexe m: say IO::Handle.new(:path("")).open
camelia IO::Handle is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method new at src/RESTRICTED.setting line 32
in block <unit> at <tmp> line 1
ugexe `No such method 'd' for invocant of type 'Str'` 22:29
Zoffix Damn. Lost the failure again. Back to ungolfing -_-
Str -> IO::Path -> IO::Handle 22:30
IO::Handle.new: path => IO::Path.new: path => Str
Geth roast: 281cb1111e | (Elizabeth Mattijsen)++ | 2 files
Remove tests relocated to set_precedes.t
22:32
Zoffix Reminder that 6.c-errata tests currently use the same t/spectest.data, so if you delete a file in .data you're also deleting a bunch of 6.c-errata tests 22:33
In the past we handled deletion with a dummy file ( S15-nfg/mass-chars.t ) kept in master 22:35
jnthn Time to rest. I'll do the MoarVM release when I get up tomorrow.
Zoffix And in the future all the versions will have their own t/spectest.data
ugexe maybe it should be typed as IO::Path, otherwise you have to deal with "".IO explosions after the fact
Zoffix IO::Special isn't IO::Path tho
ugexe ah dang
Zoffix they're both IO tho IIRC, so that's one option 22:36
"The role provides no methods, but exists so that IO() coercers, which coerce to IO::Path, correctly type-check the resultant value. The role is done by IO::Path and IO::Special." 22:37
Yeah, actually, IO constraint is a perfect fit
Geth roast: 596b278f84 | (Elizabeth Mattijsen)++ | S03-operators/mix.t
Remove superfluous and incomplete [(<)] tests

  - superfluous because now tested in set_proper_subset.t
  - flaky because only tested with 'is', rather than with 'is-deeply'
22:38
rakudo/nom: a432ac333d | (Elizabeth Mattijsen)++ | t/spectest.data
This is the end, my friend.

All tests of importance have been moved to S03-operators/set_*.t
22:45
roast: 70dd11c551 | (Elizabeth Mattijsen)++ | 2 files
Remove final bogus tests for bags and mixes

The referenced ticket RT #122810 was from a time when you could actually try to build a bag from a lazy Iterable. So whatever we were testing before, it wasn't getting tested now, as it only generated Failures. Since the test was really only a "lives_ok" test, and it kept living for the wrong reason, I think it is safe to remove the test.
I have no idea how to actually test for a regression of #RT 122810. If a test can be devised, it should live in S02-types/(bag|mix).t .
22:46
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122810
lizmat Zoffix: I think this concludes my hacking on rakudo / roast before the release 22:50
Zoffix cool
lizmat will focus on documenting set operators tomorrow
Zoffix I think I'm gonna call it a day too. And will resume hunting this open.t bug tomorrow :/
timotimo Zoffix: could it be the depends section of tardigrade is kinda wrong? i see it uses HTTP::Server::Tiny but that's only in the test-depends section
Zoffix timotimo: fixed. Thanks 22:52
lizmat good night, #perl6-dev!
Zoffix night
timotimo nite lizmat 22:58
Zoffix: from the readme or the sample app i have a hard time figuring out if i want to use tardigrade for my trivial web app 22:59
Zoffix timotimo: you don't. It's un unreleased, pre-alpha-wear
Where'd you even hear of it? :)
timotimo oh, ok 23:00
you talked about it on channel :D
Zoffix This is getting weirder and weierder. This code has "Reading from filehandle failed: Bad file descriptor" error: gist.github.com/zoffixznet/1f3acbc...ef018dd05b
But if I de-dent the entire `is_run` to be at the same indent as the rest of the code, then it dissapears :|
And it only fails when I run `make stresstest` and not even the command make stresstest runs 23:01
timotimo when you dedent, the code is shorter 23:02
that must be it!
Zoffix What about make stresstest vs. just using the command? gist.github.com/zoffixznet/0e6c85e...07da2b1ee2
It's about the last line of the code given to is_run apparently :/ if I move the closing bracket to start of line or end of previous line, no error :| 23:03
Actually no: if it's at start of line, no error, but other cases == error :| 23:04
timotimo say what? that's *weird*. can you diff the output of --target=ast or parse or optimize?
Zoffix Not sure how. I can't repro it from anything but `make spectest` 23:05
I trimmed my t/spectest.data to just be one file with that code
geekosaur is confused by that code; how does it know the first one has to be readable and the second writable? and/or is that only expected to work if not redirected?
Zoffix First one what?
There's missing .open calls
timotimo hm 23:06
can you try running it in a situation where your in and out aren't a TTY?
Zoffix but even if I add them, the issue is still there
timotimo: how to do that?
geekosaur I mean lines 9 and 10 which don't tell IO::Handle.new the modes needed
Zoffix geekosaur: gist.github.com/zoffixznet/b84cb09...62c99a30f6 23:07
The modes are given via .open, not .new. The original tests are missing .open, but adding them doesn't fix the issue
timotimo hm, maybe it's enough to echo "" | the script | cat
geekosaur and if it's inferring it from '-'.IO then the behavior will differ per handle if either stdin or stdout is redirected, *or* IO::Special is not considering that possibility
timotimo though that will keep stderr bound to your tty 23:08
so you'd want to redirect that, too
geekosaur oh, ok
timotimo, not clear stderr should affect either $*IN/$*OUT or '-'.IO
Zoffix oh, ./perl6 t/spec/S32-io/open.t does have the issue 23:09
timotimo well, if you throw out stderr, too, then there's absolutely no tty whatsoever
geekosaur aside from controlling tty on unixlikes
but I still am not sure that should matter; what are you considering here?
Zoffix no error; change `$*IN.slurp(:close);` to `$ = $*IN.slurp(:close);` error :| 23:13
just can't pinpoint it :/
timotimo in what way does it fail btw? 23:14
Zoffix "Reading from filehandle failed: Bad file descriptor" 23:15
timotimo oh, you already said that
can you get an strace of it? maybe we can see how the file descriptor gets treated before the error
geekosaur s: IO::Handle, 'close'
SourceBaby geekosaur, Sauce is at github.com/rakudo/rakudo/blob/3aa3...le.pm#L200
geekosaur er, that was not what I wanted
Zoffix "Reading from filehandle failed: Bad file descriptor\n at SETTING::src/core/IO/Handle.pm:221 (./CORE.setting.moarvm:read-internal)\n from SETTING::src/core/IO/Handle.pm:659 (./CORE.setting.moarvm:slurp-all-chars" 23:16
geekosaur but (naturally) that's the first time I've not errors on the first attempt to use that bot :p
timotimo \o/
Zoffix Changing `$w.put: 'meow w';` to `$w.put: 'meow w';` make it not fail 23:18
geekosaur also would be helpful: not being half asleep (despite only waking up 2 hours ago) 23:19
right, local notwork too messed up to update local git. figures :/
Zoffix Now I managed to get rid of the `$ = ` before slurp and still make it fail, by having a specific number of `#` after the line. 23:20
Something's busted with strings somewhere?
geekosaur . . .
Zoffix Need to pick out Test::Util::is_run's guts and dig through them a bit 23:21
samcv Zoffix, i updated MoarVM changelog so if you are making the announce you might want to pull from some of the stuff i added there. i grouped all the unicode things
i'm gonna take a short nap
Zoffix fucking hell... The ONE TIME when I actually need INSERT do delete the chars as I type, it refuses to work. 23:22
Yet I'd accidentally hit it and erase text by mistake a billion times before :(
samcv +
oops 23:23
Zoffix FWIW this is the code: gist.github.com/zoffixznet/36aa9af...d39ba8afc6 23:24
And I run it with: echo "x" | ./perl6 t/spec/S32-io/open.t
And in oputput I get "# got err: "Reading from filehandle failed: Bad file descriptor\n at SETTING::src/core/IO/Handle.pm:221 23:25
Geth rakudo/io-handle-path-coerce: fec909569f | (Nick Logan)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
Coerce IO::Handle :path to IO
23:31
rakudo: ugexe++ created pull request #1115:
Coerce IO::Handle :path to IO
ugexe hmm 1a4d949 hides the exception message of *all* exceptions during --ll-exception 23:33
Zoffix wonder why we have the `= Nil` for handle's path 23:37
ugexe m: foo(IO () :$x) { say 1 }; foo() 23:38
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3foo(IO7ā5 () :$x) { say 1 }; foo()
expecting any of:
infix
infix stopper
Zoffix
.oO( shouldn't $.path be required )
ugexe m: sub foo(IO () :$x) { say 1 }; foo()
camelia 5===SORRY!5=== Error while compiling <tmp>
Can only use the : invocant marker in the signature for a method
at <tmp>:1
------> 3sub foo(IO () :$x7ā5) { say 1 }; foo()
expecting any of:
constraint
ugexe m: sub foo(IO() :$x) { say 1 }; foo()
camelia No such method 'IO' for invocant of type 'Any'
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
ugexe m: sub foo(IO() :$x = Nil) { say 1 }; foo()
camelia 1
Zoffix Oh, you added it now
Right. Too tired to read the diff :)
m: class Foo { has $.a is required; submethod TWEAK (:$!a) {} }.new 23:40
camelia The attribute '$!a' is required, but you did not provide a value for it.
in block <unit> at <tmp> line 1
Zoffix m: class Foo { has $.a is required; submethod TWEAK (IO() :$!a) {} }.new
camelia The attribute '$!a' is required, but you did not provide a value for it.
in block <unit> at <tmp> line 1
23:41
Zoffix Ah, now I know why
'cause of IO::Pipe
Geth rakudo/nom: fec909569f | (Nick Logan)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
Coerce IO::Handle :path to IO
rakudo/nom: 23ad2c3880 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Handle.pm
Merge pull request #1115 from rakudo/io-handle-path-coerce

Coerce IO::Handle :path to IO
Zoffix buggable: toast 23:44
buggable Zoffix, Between 2017.06-241-gb3f679b and 2017.06: 13 (1.56%) modules got burnt; 14 (1.68%) got unsucced; 203 (24.37%) out of 833 modules appear unusable. See toast.perl6.party/ for details.
Zoffix Excluding false Succs, there are two burns: 23:48
toast.perl6.party/module?module=DB...1-gb3f679b
toast.perl6.party/module?module=SO...1-gb3f679b
ugexe soap::client is the lwp::simple bug
Zoffix Yeah, which itself got installed fine, strangely
Zoffix calls it a day 23:49
ugexe yea, cause its chunked encoder is likely broke 23:50
so if it works or not is based on if you get lucky chunk-size wise 23:51