AlexDaniel buggable: tags 05:26
buggable AlexDaniel, Total: 1647; 6.D: 1; 9999: 10; @LARRY: 24; ANNOYING: 7; BOOTSTRAP: 5; BUG: 602; BUILD: 12; CONC: 48; DOCS: 1; EXOTICTEST: 1; GLR: 3; IO: 23; JVM: 53; LTA: 177; MATH: 4; META: 1; MOAR: 1; NATIVECALL: 22; NYI: 55; OO: 13; OPTIMIZER: 8; OSX: 2; PARSER: 5; PERF: 28; POD: 19; PRECOMP: 15; REGEX: 48; REGRESSION: 37; REPL: 6; RFC: 63; RT: 1;
AlexDaniel, SECURITY: 1; SEGV: 25; SINK: 1; SITE: 1; SPESH: 1; STAR: 7; TESTCOMMITTED: 10; TESTNEEDED: 46; TODO: 13; UNI: 26; UNTAGGED: 416; WEIRD: 2; WINDOWS: 3; See fail.rakudo.party/ for details
AlexDaniel buggable: tag EXOTICTEST
buggable AlexDaniel, There is 1 ticket tagged with EXOTICTEST; See fail.rakudo.party/t/EXOTICTEST for details
AlexDaniel buggable: tag PARSER 05:27
buggable AlexDaniel, There are 5 tickets tagged with PARSER; See fail.rakudo.party/t/PARSER for details
samcv about to update for emoji v5 05:42
after i make sure to automate being backward compatible with old emoji names
Geth roast: 2578606b60 | (Samantha McVey)++ | S32-io/open.t
Make S32-io/open.t work in a folder other than t/spec
05:59
roast: b54c7d3fbe | (Samantha McVey)++ | S02-literals/quoting-unicode.t
Remove ornate parenthesis from quoting-unicode.t

These should never have been added as they are not considered brackets by Unicode. There are no modules in the ecosystem which use it and saving this for Perl 6.d would not be viable or needed.
06:01
nine I'm signing off now. Will be back from vacation in Thailand on October 17th. Remember to have fun while I'm gone :) 06:14
samcv have fun! 06:30
moritz nine: have a nice vacation! 07:00
and yes, Thailand sounds like more fun than central Europe right now :-)
AlexDaniel marks a ticket as [6.d] because it says that it's a thing that has to be decided “before Christmas” 07:12
(RT #126283)
synopsebot RT#126283 [new]: rt.perl.org/Ticket/Display.html?id=126283 [6.d][@LARRY] invocants default to :D ?
|Tux| This is Rakudo version 2017.09-183-g4ca1fc3c1 built on MoarVM version 2017.09.1-62-g89ca8eb0 07:29
csv-ip5xs 1.198 - 1.205
test 9.613 - 9.657
test-t 3.258 - 3.298
csv-parser 12.715 - 12.716
lizmat ok, now that we've determined that we need to keep Mu.BUILDALL around in its current shape, because classes created by mixing in a role at runtime with "but" 09:00
cannot have an auto-generated BUILDALL, because we do not have a compiler object ready at runtime
how do we go about this then? 09:01
my original plan was to eradicate the BUILDALLPLAN attribute completely 09:02
but it is clear now that we at least need that around for those classes created at runtime
jnthn Ah, I hadn't expected we'd eliminate that :) 09:30
Geth rakudo/nom: 92f239b557 | (Elizabeth Mattijsen)++ | src/core/Exception.pm
Attributes set from nqp land wind up unhllized

  - circumvent the issue by making the attributes natives
  - fixes failures in S32-str/sprintf.t that occurred since BUILDALL refactor
10:58
rakudo/nom: 7fa707db73 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ClassHOW.nqp
We shouldn't let BUILDALL installation fail silently

We want to be able to remove the actual BUILDALLPLAN from memory once the method is installed.
11:25
timotimo huh, why?
also, is the check for BUILDPLAN but complain about BUILDALL a typo? 11:26
lizmat which check?
timotimo if nqp::existskey($obj.HOW.method_table($obj),'BUILDPLAN') {
nqp::say($obj.HOW.name($obj) ~ ' already has a BUILDALL');
lizmat hmmm... 11:27
no, typo
timotimo OK, that at least prevents the crash when you have a BUILDALL method in your class 11:28
but it will now output to stdout at compile time when you do that
m: say "what version?"
camelia Cannot allocate memory
lizmat perhaps I should make it a nqp::die()
que? 11:29
m: 42
camelia WARNINGS for <tmp>:
Useless use of constant integer 42 in sink context (line 1)
timotimo i want the commit after that :P
c: 7fa707db73 say "hi"
lizmat m: say "que?"
committable6 timotimo, ¦7fa707d: «Cannot find this revision (did you mean “4f9fa6b”?)»
camelia que?
lizmat m: say "what version?"
camelia what version?
timotimo anyway, run this locally:
lizmat ok, transient issue
timotimo m: class Foo { has $.bar; submethod BUILDALL(|) { } } 11:30
camelia ( no output )
lizmat ah, I should check the submethod table
timotimo what if someone puts in a method BUILDALL instead? 11:31
m: class Foo { has $.bar; method BUILDALL(|) { } }
lizmat argh, I should probably check both
camelia ( no output )
lizmat yeah
timotimo i wonder under what other circumstances add_method can fail
lizmat m: class A { method a() {}; submethod a() {} } 11:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Package 'A' already has a submethod 'a' (did you mean to declare a multi-method?)
at <tmp>:1
lizmat error message LTA
ilmari class A { submethod a() {}; method a() {} } # ditto 11:34
m: class A { submethod a() {}; method a() {} } # ditto
camelia 5===SORRY!5=== Error while compiling <tmp>
Package 'A' already has a method 'a' (did you mean to declare a multi-method?)
at <tmp>:1
timotimo hm. 11:35
ilmari it's using the type of the new method, not the existing one 11:36
timotimo if you have a submethod a and a method a, instances of that class would get your submethod and any class that derives from yours gets the method
lizmat yeah, looking at fixing that 11:37
Geth rakudo/nom: d76af6aa45 | (Elizabeth Mattijsen)++ | src/core/Exception.pm
Make the use-case a native str

If we get one passed from NQP land, e.g. with "BEGIN die", we can handle it.
This is another ad-hoc fix for an apparent change in behaviour between autogenerated BUILDALL and Mu.BUILDALL.
12:01
rakudo/nom: e513b857c0 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ClassHOW.nqp
Should check both (sub)method tables for BUILDALL

  - because a class could have a custom method BUILDALL
  - also fix typo in name, spotted by timotimo++
12:16
lizmat m: grammar A { token a { }; rule a { } } # ilmari similar but different 12:48
camelia 5===SORRY!5=== Error while compiling <tmp>
Package 'A' already has a regex 'a' (did you mean to declare a multi-method?)
at <tmp>:1
lizmat jnthn timotimo Zoffix: how about ^^^ giving this as the error: 13:14
Package 'A' already has a regex-like 'a' (did you mean to declare a multi regex?) 13:15
hmmm...
timotimo m: grammar A { method a { }; rule a {} }
camelia 5===SORRY!5=== Error while compiling <tmp>
Package 'A' already has a regex 'a' (did you mean to declare a multi-method?)
at <tmp>:1
lizmat the problem is that token rule regex are all Regex en 13:16
and I didn't find a way to find out what they are exactly other than looking at the $!source
Zoffix has no opinion
lizmat afk for a bit& 13:17
timotimo m: grammar A { proto token test { }; multi regex test:sym<foo> { }; multi method test:sym<bar> { } } 13:19
camelia 5===SORRY!5===
Null regex not allowed
at <tmp>:1
------> 3grammar A { proto token test { 7⏏5}; multi regex test:sym<foo> { }; multi
Proto regex body must be {*} (or <*> or <...>, which are deprecated)
at <tmp>:1
------> 3grammar A…
timotimo m: grammar A { proto token test { }; multi regex test:sym<foo> { foo }; multi method test:sym<bar> { } }
camelia 5===SORRY!5===
Null regex not allowed
at <tmp>:1
------> 3grammar A { proto token test { 7⏏5}; multi regex test:sym<foo> { foo }; mu
Proto regex body must be {*} (or <*> or <...>, which are deprecated)
at <tmp>:1
------> 3grammar A…
timotimo m: grammar A { proto token test {*}; multi regex test:sym<foo> { foo }; multi method test:sym<bar> { } }
camelia ( no output )
timotimo interesting, i would have expected it to complain about the method not having an nfa or something 13:20
m: grammar A { proto token test {*}; multi regex test:sym<foo> { foo }; multi method test:sym<bar> { say "hello, i'm the method" } }; A.parse("bar")
camelia No such method 'TOP' for invocant of type 'A'
in block <unit> at <tmp> line 1
timotimo m: grammar A { rule TOP { test }; proto token test {*}; multi regex test:sym<foo> { foo }; multi method test:sym<bar> { say "hello, i'm the method" } }; A.parse("bar")
camelia ( no output )
timotimo m: grammar A { rule TOP { <test> }; proto token test {*}; multi regex test:sym<foo> { foo }; multi method test:sym<bar> { say "hello, i'm the method" } }; A.parse("bar")
camelia hello, i'm the method
P6opaque: no such attribute '$!pos' in type Match when trying to get a value
in regex test at <tmp> line 1
in regex TOP at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo huh, it Just Works, i assume it just treats it as if it didn't have a declarative prefix
that's pretty cool
Zoffix ZOFFLOP: t/spec/S17-promise/nonblocking-await.t (flopped twice) 13:26
Second time via t/fudgeandrun, so I caught the full failure outpuit: gist.github.com/zoffixznet/150e79c...ba5c718e3a 13:27
Geth rakudo/nom: 4906a1de8a | (Zoffix Znet)++ | src/core/IO/Path.pm
Fix &chdir failing to respect :CWD attribute

The method simply uses Str() coercion, but .Str on IO::Paths ignores their :CWD attribute, which causes &chdir into such IO::Paths to chdir into the wrong dir.
13:28
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make the use-case a native str 13:29
travis-ci.org/rakudo/rakudo/builds/282218756 github.com/rakudo/rakudo/compare/7...6af6aa4560
buggable [travis build above] ☠ All failures are due to: failed make test (1 failure). Across all jobs, only t/04-nativecall/12-sizeof.t test file failed.
Geth roast: 07e934d274 | (Zoffix Znet)++ | 2 files
Test &chdir/&*chdir to IO::Path respect :CWD

Rakudo fix for &chdir: github.com/rakudo/rakudo/commit/4906a1de8a
  &*chdir was not affected by the bug; test just covers it
jnthn lizmat: But sticking multi on the regex won't help, so suggesting it won't help 14:31
lizmat: Probably better not to say anything
(anything about multi, that is)
On Rakudo HEAD I'm still seeing the missing static coderef thingy fwiw 14:33
use Cro::HTTP::Client is enough to trigger it 14:38
Of course, that has a long dep chain
But seems it's something in that file itself 14:44
aha 14:45
Turns out that the changes have broken OO::Monitors
Or at least, precompilation of anything that uses that module
:/
lizmat jnthn: if we're talking "static coderef", what should I be looking for ? 14:49
jnthn A static coderef is something in the codes list of a serialization context 14:50
In this case apparently one is missing 14:51
It's odd though because those things all get fixed up at the end of compilation, ordinarily 14:52
We always call self.add_root_code_ref($stub, $code_past), which makes it odd how it'd ever be managing to go wrong 14:53
lizmat well, the error also mentions a closure, no ? 14:54
jnthn Right
It traces closures back to what they were originally a clone of 14:55
And expects to find that in the root set of code objects
lizmat is testing this fix: gist.github.com/lizmat/9c7c9697be9...50bdf91cda
jnthn: could that be it ? ^^^
jnthn Hmmm
It'd be...a bit odd...if it is, but possible I guess 14:56
lizmat closing over $BUILDALLPLAN
jnthn Yeah, but what closes over it?
lizmat well, BUILDPLAN returns its @!BUILDALLPLAN
hmmm... 14:57
jnthn ohhh 14:58
monitor adds its own BUILDALL
lizmat aahh
jnthn 'cus it wants to do the lock setup
lizmat isn't TWEAK better for that ?>
jnthn But it's added before the call to compose
No, 'cus the user may have one of those too
lizmat are you on rakudo HEAD ? 14:59
jnthn It looks like we shouldn't even try to create a BUILDALL if there already is one, though
Yes
lizmat because the check for an existing BUILDALL was faulty
and I fixed that earlier this afternoon
jnthn Yeah, I already have e513b857c0 15:00
jnthn make install's again just in case
Yeah, still broke
lizmat FWIW, any class can have its own BUILDALL
it's documented
jnthn Sure
It handles that mine
*fine
Just .wraps the existing one
lizmat sometimes I think we'e exposing too many knobs
jnthn Hmm 15:02
I expected perl6-m --target=mbc --output=foo.moarvm -e 'use OO::Monitors; monitor Foo { }' to blow up but it doesn't 15:03
lizmat jnthn: does your BUILDALL take an array as well ? 15:04
jnthn wat
It's fine if the monitor is at lexical/at the top level of the file, but not if it's in a nested package? o.O 15:05
lizmat ah, yes, that may be an issue that I worked around with in the setting
jnthn goodness
$ perl6-m --target=mbc --output=foo.moarvm -e 'use OO::Monitors; class A { my monitor Foo { } }'
lizmat 31a03a41f0e3a609a9248
jnthn That blows
Remove class A and it doesn't 15:06
I don't get that commit message 15:07
It claims that we try to .new something that refers to the outer class, but Holder doesn't even mention Lock::Async anywhere in its body 15:08
dogbert17 lizmat: the htmlify problem a couple of days ago also involved OO::Monitors
lizmat jnthn: lemme try to revert that one 15:09
jnthn dogbert17: Is it still a problem, or? 15:10
lizmat jnthn: seems setting compiles fine now with that one reverted 15:11
jnthn Hm, ok
lizmat so false alarm, sorry for the noise
it was needed at the time to get the setting to build
dogbert17 nope, it disappeared when lizmat did something with $\ or somesuch 15:12
lizmat yeah, the hack to get $/ into the generated BUILDALL method
jnthn Hm, I wonder if it only has monitors at the top-level scope
Geth rakudo/nom: f80a84617b | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ClassHOW.nqp
Only fetch BUILDALLPLAN if we need it
15:13
dogbert17 jnthn: this commit fixed htmlify: github.com/rakudo/rakudo/commit/49...ee3b3dadcc
jnthn yeah, its ones aren't nested: github.com/perl6/doc/blob/master/htmlify.p6#L42 15:14
What's really odd is that afaict, since it's adding a BUILDALL sub, and only then calling .compose in Perl6::Metamodel:ClassHOW, none of the compiler services code should be even running or doing anything 15:17
So effectively, nothing should have changed 15:18
lizmat well, it was way over my head when I started, and I still have a "wizard's apprentice" feeling about what I did :-) 15:19
jnthn bisectable6: help 15:20
bisectable6 jnthn, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable
jnthn m: say CORE::<&run>
camelia sub run (*@args where { ... }, :$in = "-", :$out = "-", :$err = "-", Bool :$bin, Bool :$chomp = Bool::True, Bool :$merge, Str :$enc, Str:D :$nl = "\n", :$cwd = { ... }, :$env) { #`(Sub|39221472) ... }
jnthn oh but I guess I can't use OO::Monitors on bisectable :( 15:21
lizmat youtu.be/Rrm8usaH0sM?list=PLxTRyfC...&t=109 # :-) 15:22
Zoffix you can
jnthn Oh, cool
Zoffix buggable: eco OO::Monitors
buggable Zoffix, OO::Monitors 'Objects with mutual exclusion and condition variables': github.com/jnthn/oo-monitors
Zoffix c: HEAD use lib <data/all-modules/jnthn/oo-monitors/lib>; use OO::Monitors;
committable6 Zoffix, ¦HEAD(f80a846): «»
jnthn bisectable6: CORE::<&run>('./perl6-m', '--target=mbc', '--output=foo.moarvm', '-e', 'use lib <data/all-modules/jnthn/oo-monitors/lib>; use OO::Monitors; class A { monitor Foo { } }') 15:23
bisectable6 jnthn, Bisecting by output (old=2015.12 new=f80a846) because on both starting points the exit code is 1
jnthn, bisect log: gist.github.com/47b841ca5916c91a40...b5099b2723
jnthn, (2016-09-17) github.com/rakudo/rakudo/commit/c4...608041eb9b
Zoffix oh, but &run is restricted :} 15:24
Or is it
jnthn bisectable6: CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'use lib <data/all-modules/jnthn/oo-monitors/lib>; use OO::Monitors; class A { monitor Foo { } }')
bisectable6 jnthn, Bisecting by output (old=2015.12 new=f80a846) because on both starting points the exit code is 1
Zoffix m: say CORE::<&run>('ls')
camelia Inline-Perl5
Perlito
bin
dalek-queue
evalbot
evalbot.log
hs_err_pid10366.log
hs_err_pid10555.log
hs_err_pid1132.log
hs_err_pid12340.log
hs_err_pid13296.log
hs_err_pid1587.log
hs_err_pid17303.log
hs_err_pid18415.log
hs_err_pid1…
bisectable6 jnthn, bisect log: gist.github.com/3ccd92d6186249d6c1...fed2fd14ee
jnthn, (2016-09-17) github.com/rakudo/rakudo/commit/c4...608041eb9b
jnthn Zoffix: Not if you know how to cheat :)
Zoffix :D
jnthn oh darn
'use lib may not be precompiled'
bisectable6: CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'use data::all-modules::jnthn::oo-monitors::lib::OO::Monitors; class A { monitor Foo { } }') 15:25
bisectable6 jnthn, Bisecting by output (old=2015.12 new=f80a846) because on both starting points the exit code is 1
jnthn, bisect log: gist.github.com/a2edd152115becdca4...86d3c0dce4
jnthn, (2015-12-25) github.com/rakudo/rakudo/commit/07...dc61f84053
jnthn, The result looks a bit unrealistic, doesn't it? Most probably the output is different on every commit (e.g. 「bisect: say rand」)
jnthn oh, of course, . isn't in the search paht either 15:26
bisectable6: CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = 'data/all-modules/jnthn/oo-monitors/lib'; use OO::Monitors; class A { monitor Foo { } }') 15:27
bisectable6 jnthn, Bisecting by output (old=2015.12 new=f80a846) because on both starting points the exit code is 1
jnthn :(
bisectable6 jnthn, bisect log: gist.github.com/3ae15e0a91efa17853...6509764201
jnthn, (2017-08-31) github.com/rakudo/rakudo/commit/ed...6efd70a4b2
jnthn Running out of ways to cheat this :/
bisectable6: CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
bisectable6 jnthn, Bisecting by output (old=2015.12 new=f80a846) because on both starting points the exit code is 1 15:28
jnthn messed up quotes...
bisectable6 jnthn, bisect log: gist.github.com/d50df7d301d28c4820...0e1dab8131
jnthn, (2015-12-25) github.com/rakudo/rakudo/commit/07...dc61f84053
jnthn, The result looks a bit unrealistic, doesn't it? Most probably the output is different on every commit (e.g. 「bisect: say rand」)
jnthn ah, closer
bisectable6: 2017.09 HEAD CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }') 15:29
bisectable6 jnthn, On both starting points (old=2015.12 new=f80a846) the exit code is 1 and the output is identical as well
jnthn, gist.github.com/14d808081b1aac96e5...f7d40650bd
Zoffix bisectable6: old=2017.09,new=HEAD CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
bisectable6 Zoffix, Bisecting by output (old=2017.09 new=f80a846) because on both starting points the exit code is 1
Zoffix, bisect log: gist.github.com/01c6be1fa2c160694a...bec58abfcc
Zoffix, (2017-09-18) github.com/rakudo/rakudo/commit/5a...d4b897ae90
Zoffix c: 5a19dffa075e,5a19dffa075e~1 CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }') 15:30
timotimo oh, does bisectable run as a systemd service with read-only filesystem?
committable6 Zoffix, gist.github.com/0954adac5d3469b9cd...2fe744cd36
jnthn Yeah, looks like it :(
Zoffix Unable to write bytecode to 'foo.moarvm'
jnthn dammit
MasterDuke yeah, that's a relatively new change
i think there still are some writable locations
timotimo disable it if the user's host is @jnthn.net :)
jnthn :P
timotimo oh, it's no longer that, though
your linode is showing, jnthn
jnthn Didn't try to hide it ;) 15:31
timotimo jnthn is also not registered with services :)
Zoffix bisectable6: old=2017.09,new=HEAD CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=/tmp/foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
bisectable6 Zoffix, Bisecting by exit code (old=2017.09 new=f80a846). Old exit code: 0
Zoffix, bisect log: gist.github.com/6facd594ef3a570829...478f50dda9
Zoffix, (2017-09-28) github.com/rakudo/rakudo/commit/eb...2993455dec
jnthn oh, nice :)
Oh, except it found the other commit (adding $/ to CompilerServices) 15:32
MasterDuke oh right, they should have private /tmp's now
timotimo aye, we'd have to throw out the $/ so we can find the *real* culprit
jnthn Well, guess I can run it with c here and manually find it 15:33
Zoffix bisect: old=eb9c3d4dd7791ad1,new=HEAD CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=/tmp/foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
bisectable6 Zoffix, Bisecting by output (old=eb9c3d4 new=f80a846) because on both starting points the exit code is 1
Zoffix, bisect log: gist.github.com/88e8434feb8aebacfd...195540715b 15:34
Zoffix, (2017-09-28) github.com/rakudo/rakudo/commit/14...3b82d10ae9
Zoffix c: 145e3156ca4377845db96,145e3156ca4377845db96~1 CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=/tmp/foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
committable6 Zoffix, gist.github.com/980a3d447b5157ed9b...541f961431
jnthn c: 31a03a41f0e3a CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
committable6 jnthn, gist.github.com/f5396336b7bb72b593...b92af61072
jnthn c: 31a03a41f0e3a CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=/tmp/foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }') 15:35
committable6 jnthn, gist.github.com/88a8eed99393bf3d8f...ce5ad679eb
jnthn c: d3c481854ec346 CORE::<&run>($*EXECUTABLE, '--target=mbc', '--output=/tmp/foo.moarvm', '-e', 'BEGIN %*ENV<PERL6LIB> = "data/all-modules/jnthn/oo-monitors/lib"; use OO::Monitors; class A { monitor Foo { } }')
committable6 jnthn, gist.github.com/98088e7f9ab5274c70...3c691fb8d9
jnthn Darn, so it happened while the $/ thing was in the way of the real error 15:36
lizmat but narrows it down quite a bit 15:37
I'd say 5cd9197fe3707d513671af6f or 6824e19282e19a0953fc or 7363f898f67ee7d8117ff9 15:38
jnthn None of the changes look obviously to blame, reading the diffs 15:40
lizmat well, all of the other commits have nothing to do with BUILDALL 15:42
between $/ being added and removed
timotimo it doesn't have to be buildall
lizmat well, chances are it *is* buildall 15:43
I mean, how often have we autogenerated methods before ?
that need to be precompilable
timotimo well, yeah
lizmat anyways I still cannot revert 5cd9197fe3707d513 15:44
===SORRY!===
Cannot perform this operation on an uninstantiated definite type
on make install
timotimo ===SORRY!=== Error while compiling /home/timo/.zef/store/DBIish.git/aad9a964651e16cd8c87a75d411580007d5894de/lib/DBDish/Pg/Native.pm6 (DBDish::Pg::Native) 15:48
Can't use unknown trait 'is native' in a sub+{callable[uint32]} declaration.
how did i break this? wow 15:49
lizmat or did I ?
:-( 15:50
timotimo that would surprise me
if "make test" still passes; that has nativecall stuff, doesn't it?
jnthn Trying various commits with the $/ removal patch (not quite a cherry-pick of it, since that doesn't quite apply, but close enough) 15:51
jnthn notices his time for fixing something else has all vanished trying to hunt this down :( 15:55
timotimo :\ 15:56
it looks like DBIish just didn't put "use NativeCall" into their files?
how'd they get away with that
lizmat perhaps we should put a dummy "is native" trait in core setting, telling you to load it ? 15:57
brb 15:58
jnthn So far as I can tell all the way back to a89add0bf8bd9e8b164b48f24908f4603d4c0b87 is busted
That doesn't leave many commits
lizmat brb 16:00
timotimo bisectable6: sub foo is native { }
bisectable6 timotimo, On both starting points (old=2015.12 new=f80a846) the exit code is 1 and the output is identical as well
timotimo, gist.github.com/920102b9cb4739942c...9eae822101
jnthn huh, that gets me right to the commit that added the $/ stuff 16:01
timotimo well, what the heck is even going on 16:05
ugexe timotimo: maybe related? github.com/rakudo/rakudo/commit/80...d0668893bc 16:06
timotimo that would surprise me 16:08
ugexe it moves the is native trait into an EXPORT sub, and also doesn't export with the tags :DEFAULT or :traits fwiw 16:09
timotimo oh, huh
my PR to dbiish got merged already 16:10
ugexe ah i see, looking at your PR the export was somehow leaking in before. 16:14
timotimo one of the Native mods already had "use NativeCall" in it 16:17
lizmat afk for ~2 hours, and then P6W work
jnthn Think I've found the problem 16:19
Yeah, seems so 16:20
stresstest
Geth rakudo/nom: fcbd8adbe5 | (Jonathan Worthington)++ | src/Perl6/World.nqp
Make only one CompilerServices instance per World

We have to clean it up at the end of compilation; failing to do so can break precompilation.
16:25
timotimo ohdang 16:26
jnthn And now I need to go and make dinner
timotimo gutes gelingen!
jnthn o/
timotimo not sure why the travis for dbiish still fails so violently 16:37
The command "eval git fetch origin +refs/pull/103/merge: " failed. Retrying, 2 of 3. 16:38
this i can understand somewhat
but somehow in lots of test files it gets "too many positionals passed"
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Only fetch BUILDALLPLAN if we need it' 17:14
travis-ci.org/rakudo/rakudo/builds/282291893 github.com/rakudo/rakudo/compare/4...0a84617b4a
AlexDaniel “oh, does bisectable run as a systemd service with read-only filesystem?” 17:44
both /tmp and ./sandbox should be writable 17:45
e: spurt ‘/tmp/foo’, 42; say slurp ‘/tmp/foo’
evalable6 42
AlexDaniel e: spurt ‘sandbox/blah’, 42; say slurp ‘sandbox/blah’
evalable6 42
AlexDaniel e: spurt ‘blah’, 42; say slurp ‘blah’
evalable6 (exit code 1) Failed to open file /home/bisectable/git/whateverable/blah: Read-only file system
in block <unit> at /tmp/Le0siP1vPA line 1
AlexDaniel I'm working on making it start in ./sandbox by default, just not there yet 17:46
“oh, but &run is restricted :}”
not anymore
m: say run(:out, ‘ls’, ‘sandbox’).out.slurp; 17:47
camelia run is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in sub run at src/RESTRICTED.setting line 14
in block <unit> at <tmp> line 1
AlexDaniel e: say run(:out, ‘ls’, ‘sandbox’).out.slurp;
evalable6 answer
blah
AlexDaniel note that if you do rm -rf or whatever, you'll probably wipe out all precomp files and some other stuff… don't do that please :) 17:48
Zoffix m: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK Camelia_\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6-dev\nPRIVMSG #perl6-dev :No body run rm -fr!!!\n"); react {whenever .Supply {}}}}) 18:18
c: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK Camelia_\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6-dev\nPRIVMSG #perl6-dev :No body run rm -fr!!!\n"); react {whenever .Supply {}}}})
committable6 Zoffix, ¦await: «Cannot find this revision (did you mean “Sofia”?)»
Camelia_ No body run rm -fr!!!
Zoffix c: HEAD await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK Camelia_\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6-dev\nPRIVMSG #perl6-dev :No body run rm -fr!!!\n"); react {whenever .Supply {}}}})
camelia (timeout)
committable6 Zoffix, ¦HEAD(fcbd8ad): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
Zoffix c: HEAD await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK Camelia_\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6-dev\nPRIVMSG #perl6-dev :No body run rm -fr!!!\n"); react {whenever .Supply {}}}})
Camelia_ No body run rm -fr!!!
committable6 Zoffix, ¦HEAD(fcbd8ad): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
Zoffix This was a good 30 seconds of fun :)
jnthn hah :) 18:38
bartolin FWIW, commit 7fa707db73 fixed the build on jvm (error was 'Serialization Error: could not locate static code ref for closure' during stage jast (introduced with 9837687d93) 18:39
lizmat++ :-)
lizmat jnthn: re fcbd8adbe586e21c8bc wow! 18:51
jnthn: but I don't get the "we have to clean it up part" of the comment on the commit :-(
jnthn grep 18:55
for $!compiler-services 18:56
And the reason we have to null that thing out is because the wrapper can end up getting closed over 18:58
and if it tries to serialize $*W or so things will go pretty bad
lizmat $!compiler_services :-) ok 18:59
jnthn ah, _ :) 19:00
But yeah, we only kept track of one of them 19:01
I wonder if the $/ thing went rotten 'cus we needed to null that field out also
lizmat will try that tomorrow 19:02
meanwhile, I was wondering, now that we know that Mu.BUILDALL will need to stay around in its current form
would it make sense to create a generic 'method BUILDALL(@,%) {Any:D: self }' 19:03
that would be used by all classes with an empty BUILDALLPLAN ?
jnthn Why aren't we generating an empty BUILDALL for an empty BUILDPLAN?
Oh, that's what you're suggesting, except caching it? 19:04
lizmat well, seemed kinda wasteful to be generating methods that are identical otherwise
jnthn But that'd get a tad odd in that the invocant type in the sig will be inconsistent
lizmat well, Any:D: works :-)
jnthn If anyone went introspecting
It does
Maybe we'll get awy[Da with it 19:05
wat
*away
lizmat apart from getting away with it, do you think it makes sense ?
jnthn But yeah, do it one way or the other...it'll be a heck of a lot cheaper than actually looking up the build plan and seeing it's empty
lizmat right
timotimo except not ":D", right?
lizmat no, :D 19:06
jnthn I've largely learned not to cheat on "users will never notice" because they always darn well do :P
lizmat well, there's the thing: all these methods would share the same body (I think)
timotimo i don't get it :)
jnthn That is true
lizmat or are things getting copied when you do add_method ?
jnthn No, that doesn't copy 19:07
timotimo: BUILDALL is for initializing an instance that was already created by .CREATE
So it'd never be called on a type object
timotimo oooh 19:08
i see it now, oops. bless is the one that calls nqp::create
jnthn walk, then code review :) & 19:11
AlexDaniel lizmat: fwiw irclog.perlgeek.de/moarvm/2017-09-29#i_15236012 irclog.perlgeek.de/moarvm/2017-09-29#i_15236999 irclog.perlgeek.de/moarvm/2017-09-29#i_15237114 – maybe that's old, but for occasional readers this stuff is awesome 20:03
lizmat AlexDaniel: did I miss timotimo's explanation on what that svg depicts ? 20:08
AlexDaniel lizmat: I have not seen any explanation :(
timotimo: ping? :)
timotimo whan svg did i show? 20:09
AlexDaniel t.h8.lv/nqp_loop_graph.svg
timotimo ah, that's a piece of spesh log output turned into a graph using graphviz
it still has some issues 20:10
lizmat buggable: speed 50 20:13
buggable lizmat, ▇▇▆▆▅▅▆▆▅▆▅▅▆▅▅█▅▆▄▅▅▅▅▅▇▇▅▇▅▃█↑↑█▃▂▁▁▂▁▂▁▂▂▄▇▃▄▂▃ dates: 2017-09-16–2017-10-02; range: 3.183s–4.010s; speed: 7% faster
lizmat buggable: speed 5
buggable lizmat, ▇▁▃▁▂ dates: 2017-10-01–2017-10-02; range: 3.258s–3.527s; speed: 7% faster
lizmat buggable: speed 7
buggable lizmat, ▁▄▇▂▃▂▂ dates: 2017-10-01–2017-10-02; range: 3.234s–3.527s; speed: 2% slower 20:14
lizmat Zoffix: could you elaborate about the work you've done on supporting multiple roast versions ? 21:28
gfldex lizmat: I think Zoffix called it a night already. 21:34
lizmat could you elaborate ? 21:35
Zoffix Yeah, I can
lizmat Whee! :-) 21:36
Zoffix lizmat: "called it a night" <-- I said I was gone, but I still checked the chat to get my Weekly fix :) "roast versions" <-- Rakudo has a file with a list of roast files it runs. We used to use a single file for all language versions, which sucked because: (a) new files get added to roast master and roast runner complains they're missing when running older language versions; (b) files in master get 21:38
restructured, but deleted files still have to live as dummy files, so they same files in another language version get run. So now we made a separate list of files rakudo runs for each language version that solves those problems. Roast runner just looks at VERSION file in roast to figure out which version of the file list to load (the file list is now in t/spectest.data and t/spectest.data.6.c; with future
release to add t/spectest.data.6.d file)
lizmat Zoffix++ 21:39
Zoffix \o/
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/10/02/...e-granted/ 22:30
and with that I wish #perl6-dev a good night! 22:33
jnthn lizmat++ # weekly 23:25
timotimo how was your food, jnthn? :) 23:26
AlexDaniel releasable6: next 23:27
releasable6 AlexDaniel, Next release in 18 days and ≈19 hours. No blockers. Changelog for this release was not started yet
AlexDaniel, Details: gist.github.com/b97ee2a58f311a5d21...72e242833d
jnthn timotimo: Healthy and fairly spicy :) 23:32
(Aloo gobi with raita :))
timotimo i knew one of these words 23:35
jnthn Potato and cauliflower curry, served with yogurt/mint/cucumber
timotimo i just read up on it :) 23:36
sounds good, except i'm not trained to enjoy spicy food
AlexDaniel timotimo: it's the training process that is enjoyable! 23:42
timotimo just uploaded json fast to cpan 23:52
Zoffix hopes buggable will work and announce it 23:54
timotimo me, too 23:55
the ecosystem and what zef internally uses are the only places perl6 dists will appear? 23:56
buggable New CPAN upload: JSON-Fast-0.9.5.tar.gz by TIMOTIMO www.cpan.org/authors/id/T/TI/TIMOT...9.5.tar.gz
timotimo neat 23:57
in other news, json::fast is only 4x as fast as json::tiny
not sure if i made json::fast slower or if json::tiny just naturally caught up, for example from the cursor-match-unification?
jnthn The race is on :) 23:58
jnthn wanders off to bed o/
Zoffix \o/ 23:59