Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
00:00 reportable6 left, pamplemousse joined 00:01 reportable6 joined 00:45 pamplemousse left 01:19 Ven`` joined 01:24 Ven`` left 01:39 pamplemousse joined 01:44 pamplemousse_ joined 01:49 pamplemousse left
vrurg It's alive! (c)Frankenstein 01:55
02:14 pamplemousse_ left 06:00 reportable6 left
AlexDaniel kawaii: twice per commit would be great! 06:01
but yeah, if we can do it at least once a week, that's awesome 06:02
06:02 reportable6 joined, ChanServ sets mode: +v reportable6
Geth problem-solving: AlexDaniel assigned to jnthn Issue "Perl" in the name "Perl 6" is confusing and irritating github.com/perl6/problem-solving/issues/81
FCO++ created pull request #82: Add my name to the list
06:03
lizmat and so it begins 06:16
06:17 lizmat left 06:44 AlexDaniel left 07:03 AlexDaniel joined 07:50 AlexDaniel left 08:42 AlexDaniel joined 08:55 lizmat joined
kawaii I anticipate only the greatest of flame wars from that GH ticket 09:16
09:19 Geth left, Geth joined
Geth problem-solving: kawaii++ created pull request #83:
Adding kawaii to the reviewers list
09:19
kawaii cc: AlexDaniel ^
09:22 lizmat left 09:25 [TuxCM] joined
AlexDaniel kawaii: pretty sure there we will be none and people will behave properly, this time :) 09:26
if you're referring to the “perl 6” name ticket 09:27
kawaii AlexDaniel: less fun but more productive probably :)
AlexDaniel yes, it will be *much* less fun for those who like to scream :) 09:28
Geth problem-solving: 6a52fafa65 | (Fernando Correa de Oliveira)++ (committed using GitHub Web editor) | README.md
Add my name to the list
problem-solving: 1b4a81e0c3 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | README.md
Merge pull request #82 from FCO/patch-1

Add my name to the list Welcome!
AlexDaniel that must be a mistake :) 09:29
Geth problem-solving/revert-82-patch-1: 10b7c14384 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | README.md
Revert "Add my name to the list"
09:30
09:30 Ven`` joined
Ven`` .tell sena_kun github.com/Altai-man/cro-ldap/blob...t.pm6#L259 09:32
09:33 Ven`` left
Geth problem-solving: 4c72730d38 | (Aleks-Daniel Jakimenko-Aleksejev)++ | README.md
Revert "Merge pull request #82 from FCO/patch-1"

This reverts commit 1b4a81e0c31f3bb458347b3feab834bbca8d5ad5, reversing changes made to 164f37f841186a4b678ad2fbc524ea42b4cdae5b.
09:37
problem-solving/merge-mishap: 7af1dfc3f9 | (Fernando Correa de Oliveira)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | README.md
Add my name to the list
09:40
problem-solving: AlexDaniel++ created pull request #84:
Add FCO to the list
09:44
rakudo: 916243122b | (Stefan Seifert)++ | src/core/Encoding/Decoder/Builtin.pm6
Skip consume-all-chars in BYTE_SUPPLY_DECODER after exceptions

If an exception was thrown during decoding of some bytes, the decoder will be in an invalid state. Calling consume-all-chars in the QUIT handler would only throw more exceptions that may show up in inappropriate places. So just don't attempt it at all.
Fixes t/spec/S32-io/IO-Socket-Async.t sometimes failing in a test following one about an invalid byte sequence.
09:47
09:58 Ven`` joined 10:01 Ven`` left
AlexDaniel good news, github allows to change the minimum amount of reviewers to anything less than 100 10:07
:)
even though the dropdown options are only 1 … 6 10:08
10:12 Ven`` joined, Ven`` left 10:21 AlexDaniel left 10:24 AlexDaniel joined
kawaii ah nice, you can spam everyone at once! 10:30
AlexDaniel yes! 10:31
kawaii: there was this one time… we had a squashathon…
kawaii: so I created a repo and github automatically subscribed everyone to it. Not a big deal, just some emails to 300+ people. No problem 10:32
kawaii: and then I populated the repo with tickets
kawaii ah... oh... no
AlexDaniel it was this: github.com/perl6/ecosystem-unbitrot/issues 10:33
I don't if github actually sent a ticket for every single issue, I'd expect them to have a limit of some sort
but there were complaints :)
don't know* 10:34
kawaii Yes, if you're subscribed to a repo, you get an email for all of the new tickets and replies to them :)
10:34 AlexDaniel is now known as `|AlexDaniel 10:35 `|AlexDaniel is now known as AlexDaniel
AlexDaniel kawaii: on the plus side, it was a great squashathon. A lot of contrtibutors :) 10:35
kawaii So what you're saying is.... it's a good tactic for getting people active and making PRs? ;)
Kaiepi shit i forgot to actually finish what i said i'd proofreed after waiting for my pullreq to get merged 10:38
10:45 Ven`` joined 10:51 Ven`` left 10:54 Ven`` joined 10:58 AlexDaniel left 11:04 Ven`` left
[TuxCM] Rakudo version 2019.07.1-126-g90ffa349c - MoarVM version 2019.07.1-72-g352ae27e4
csv-ip5xs0.672 - 0.679
csv-ip5xs-205.137 - 5.360
csv-parser21.508 - 21.798
csv-test-xs-200.429 - 0.439
test7.154 - 7.205
test-t1.679 - 1.720
test-t --race0.771 - 0.771
test-t-2028.734 - 29.331
test-t-20 --race9.062 - 9.183
11:06
ugexe great, another round of bike shedding 11:10
11:10 ugexe left 11:16 Ven`` joined 11:24 lizmat joined 11:29 Ven`` left 11:34 AlexDaniel joined 12:00 reportable6 left, reportable6 joined, ChanServ sets mode: +v reportable6
Kaiepi bisectable6, enum Foo of Int where <a b c>; 12:03
bisectable6 Kaiepi, Bisecting by output (old=2015.12 new=9162431) because on both starting points the exit code is 1
Kaiepi wait i could've sworn that worked 12:04
bisectable6 Kaiepi, bisect log: gist.github.com/c3c31108decf98285e...0ac21f994e
Kaiepi, (2017-11-28) github.com/rakudo/rakudo/commit/75...aadd311412
Kaiepi oh oops
m: enum Foo of Int <a b c>
camelia 5===SORRY!5=== Error while compiling <tmp>
No such method 'set_of' for invocant of type 'Perl6::Metamodel::EnumHOW'. Did you mean 'set_rw'?
at <tmp>:1
Kaiepi bisectable6, enum Foo of Int <a b c>
bisectable6 Kaiepi, Bisecting by output (old=2015.12 new=9162431) because on both starting points the exit code is 1
Kaiepi, bisect log: gist.github.com/80989f3cb85f6a1065...466f8a330b 12:05
Kaiepi, (2016-09-27) github.com/rakudo/rakudo/commit/22...0f14b9c05c
Kaiepi guess not 12:06
ohh this is what i was thinking of 12:08
m: my Int enum Foo <a b c>; say a.value.WHAT
camelia (Int)
12:08 lizmat left 13:02 AlexDaniel left 13:10 lucasb joined 13:19 AlexDaniel joined 13:20 Ven`` joined 13:23 AlexDaniel left 13:36 Ven`` left 13:40 Ven`` joined 13:41 Ven`` left 13:51 Ven`` joined 13:52 AlexDaniel joined
Geth ¦ problem-solving: AlexDaniel self-assigned Update Travis configuration so that it does not compile Rakudo every single time. github.com/perl6/problem-solving/issues/85 13:56
¦ problem-solving: AlexDaniel assigned to jnthn Issue Core class version syntax github.com/perl6/problem-solving/issues/80
13:58 pamplemousse joined 13:59 Ven`` left 14:07 AlexDaniel left 14:08 lizmat joined 14:55 lizmat left 15:54 lizmat joined 15:57 lizmat left
Kaiepi is t/spec/S32-io/io-path-extension.t a known flapper? 17:27
17:29 chloekek joined
Kaiepi can't find anything in rakudo's issues about it so i'm guessing not 17:30
17:52 pamplemousse left 18:00 reportable6 left, pamplemousse joined 18:04 reportable6 joined, ChanServ sets mode: +v reportable6 18:10 MasterDuke joined 18:15 pamplemousse left
MasterDuke has anybody experimented with building rakudo, but not concatenating all the files into one? is it required? or just done for performance reasons? 18:20
18:25 BeastieBot left
vrurg MasterDuke: Performance is one thing. Another thing: it simplifies symbol resolution. 18:27
vrurg was thinking that rakudo needs a linking-like process for dynamic symbol resolution. 18:28
But it's not currently possible without total revamp of the metamodel. 18:29
MasterDuke if performance was the only consideration, not doing it may be the dogfood needed to get someone to parallelize compilation 18:30
vrurg MasterDuke: I was thinking the same way. But I'm afraid it's not possible yet. Or would require unreasonable amount of work to be done. 18:36
MasterDuke anyone else getting a consistent error in t/spec/S32-io/socket-recv-vs-read.t? 18:44
at github.com/perl6/roast/blob/master...read.t#L27
`No such method 'recv' for invocant of type 'Any'` 18:45
vrurg Another io-related ticket just half an hour ago: github.com/rakudo/rakudo/issues/3115 – doesn't seem related, but a strange coincidence then. 18:48
MasterDuke: confirm, same problem. 18:49
18:51 BeastieBot joined
MasterDuke i'm running t/spec/S32-io/io-path-extension.t in a loop under gdb with spectests running in the background, but no segv yet 18:51
but i think i did get a segv in t/spec/S07-hyperrace/basics.rakudo.moar in my background spectest. going to try and catch that one soon if t/spec/S32-io/io-path-extension.t isn't cooperating 18:52
timotimo docs.perl6.org/type/atomicint#Operators - any specific reason the operators don't immediately point out their ascii counterparts
vrurg I must admit, SEGVs are visiting my rather often lately. 18:53
MasterDuke i actually haven't seen many recently. i was mostly seeing them while profiling and a bunch of those have been addressed 18:54
18:55 BeastieBot left, BeastieBot joined 19:00 BeastieBot left 19:01 BeastieBot joined
MasterDuke haven't been able to repro the t/spec/S07-hyperrace/basics.rakudo.moar one so far either 19:09
19:10 pamplemousse joined
MasterDuke huh. decided to see what happens if i unskip the fudged test in that file. it fails if run with .race, but not a crash 19:15
m: use Test; is-deeply (^100).map({ sprintf '%1$s %2$s', 5, 42 }).List, ‘5 42’ xx 100 19:16
camelia ok 1 -
MasterDuke m: use Test; is-deeply (^100).race(batch=>1).map({ sprintf '%1$s %2$s', 5, 42 }).List, ‘5 42’ xx 100 19:17
camelia A worker in a parallel iteration (hyper or race) initiated here:
in sub _is_deeply at /home/camelia/rakudo-m-inst-1/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 665
in sub is-deeply at /home/camelia/rakudo-m-in…
MasterDuke `Died at: Your printf-style directives specify 0 arguments, but 2 arguments were supplied in block at t/spec/S07-hyperrace/basics.t line 187` 19:18
m: use Test; is-deeply (^100).race(batch=>1).map({ sprintf q|%1$s %2$s|, 5, 42 }).List, ‘5 42’ xx 100 19:20
camelia A worker in a parallel iteration (hyper or race) initiated here:
in sub _is_deeply at /home/camelia/rakudo-m-inst-1/share/perl6/core/sources/2D4A7CA10695CD2B374573413D261A660E282E2A (Test) line 665
in sub is-deeply at /home/camelia/rakudo-m-in…
MasterDuke now that doesn't fail for me locally... 19:21
it does in the test file, but not when run from the command line... 19:22
19:32 BeastieBot left 19:33 BeastieBot joined 19:44 BeastieBot left 19:45 BeastieBot joined
Kaiepi how do i run only the tests in a specific directory in roast? 19:47
vrurg Kaiepi: manually one-by-one. 19:52
Kaiepi damn, i was hoping one of the fudge scripts would automate it
vrurg not that I found anything related. As far as I was patient enough to read the code, fudging works with the whole tree. 19:53
I just do `make spectest`, break it when with the first test run (i.e. fudge is over by then) and then manually execute ./perl6-m -Ilib t/spec/S... 19:54
19:58 BeastieBot left, BeastieBot joined 20:06 BeastieBot left 20:07 BeastieBot joined 20:11 BeastieBot left, BeastieBot joined
dogbert17 the t/spec/S32-io/socket-recv-vs-read.t problem is interesting. It works on my Linux Mint but fails on my RPi 4 20:23
MasterDuke dogbert17: maybe you can repro the two other problems, i haven't had any luck 20:25
20:26 BeastieBot left
dogbert17 what two problems, the S07-hyperrace/basics.rakudo.moar and ? 20:27
MasterDuke t/spec/S32-io/io-path-extension.t
dogbert17 aha, does it fail consistently for you or not at all?
MasterDuke for me, not at all 20:28
dogbert17 I could give it a try at least
MasterDuke S07-hyperrace/basics.rakudo.moar failed once or twice in a background spectest i was running just to load the system, but i couldn't repro when just running it
ah, `use Test; is-deeply (^1000000).race(batch=>100).map({ sprintf q|%1$s %2$s|, 5, 42 }).List, ‘5 42’ xx 1000000` reliably fails for me on the command line. i needed to up the numbers 20:30
dogbert17 those are big numbers :) 20:31
20:37 pamplemousse left
MasterDuke is there any way to protect code with a lock in nqp? 20:51
timotimo look in the nqp test suite 20:52
it should test locks
MasterDuke oh, and there's even a src/core/NQPLock.nqp
i think sprintf isn't thread-safe because it compiles/evals the format string every time 20:53
20:53 Kaiepi left 20:54 Kaiepi joined
timotimo oh 20:54
MasterDuke does that make sense? 20:55
timotimo possible 20:57
20:58 chloekek left
MasterDuke heh, `MoarVM panic: Tried to garbage-collect a locked mutex`, guess i did something wrong... 21:06
timotimo unlock stuff before it goes out of scope 21:08
MasterDuke gist.github.com/MasterDuke17/87f63...61c2c5c941 21:11
timotimo that makes it safe? 21:14
MasterDuke that causes the panic
timotimo or is that the version that explodes? 21:15
why does DIRECTIVE go into the DIRECTIVES_COUNT key?
MasterDuke i wanted to print it out
timotimo ah
that lock isn't going to do much
it's never shared across threads 21:16
you're always creating a new lock for every sprintf call
MasterDuke heh, yeah, just noticed that and moved the Lock.new outside the sub
ooooo, hasn't crashed yet
timotimo only one thread is allowed to do sprintf at a time? that's kind of not great 21:19
MasterDuke before, `use Test; is-deeply (^1000000).race(batch=>100).map({ sprintf q|%1$s %2$s|, 5, 42 }).List, ‘5 42’ xx 1000000` crashed instantly. after it succeeded 21:20
and yeah, but so are crashes that don't make any sense
timotimo yeah
is $actions like shared between invocations? does it have any state at all? 21:21
MasterDuke i don't think so, but i don't really know this code 21:23
timotimo i want that stuff in the linkify userscript that lets me go from a diff file on gist to the target file on github
because god damn that is annoying
MasterDuke have an idea? 21:24
timotimo having a hard time concentrating 21:27
the cross_thread_wriet_log could be a thing 21:28
MasterDuke how would it help? don't we already know that compiling isn't thread safe? 21:30
timotimo compiling? 21:32
MasterDuke or eval. whatever sprintf does
timotimo it seems to be doing grammar parsing and action stuff?
21:35 [TuxCM] left
MasterDuke let me gist the output... 21:35
21:36 lizmat joined
timotimo it'll probably be a lot of false-positives still 21:36
MasterDuke gist.github.com/MasterDuke17/58f8a...223d29bfd3 21:39
there's sprintf-related stuff there
timotimo: btw, i don't have your linkifying script on this machine, how do i install it again? 21:40
timotimo maybe rakudo's initialize-sprintf-handler should be properly locked
gist.github.com/timo/7cfe71a667bbd...0431da45a4 21:41
here's the script
install greasemonkey or tampermonkey
in the "dashboard" you'll find "tools" to get a script from an url
MasterDuke thanks
timotimo that initialize thingie doesn't do terribly much though. hmm. 21:43
i don't see anything suspicious there, though 21:46
dogbert17 MasterDuke: have been running t/spec/S32-io/io-path-extension.t for like an hour, no crashes 22:07
MasterDuke dogbert17: github.com/rakudo/rakudo/issues/31...-519699545 22:08
dogbert17 that's odd 22:11
MasterDuke maybe it's bsd specific 22:12
dogbert17 it's not obvious why Nine's fix should have made anything worse, I would have guessed the opposite 22:13
MasterDuke yeah 22:14
dogbert17 MasterDuke: have you had any problems with the heap profiler?
MasterDuke i haven't used it in a long time
dogbert17 gah, I need something that breaks so I can test timotimo's fix 22:15
I only had one example and it seems to work now
Geth rakudo: d7829b7751 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp
Revert "Optimizer: Direct assignment between native vars don't need refs"

It causes problems with assigning to rw arguments. Need a way to find out if the declaration of the Var is scoped lexicalref or not.
Unfortunately, finding the Var in the Block's first Stmts is sometimes a bit of work.
This reverts commit 80bf3d003c1c464ac8663e86d9f8d93423e0a51e.
22:17
timotimo i don't know of any fixes i might have made?
dogbert17 we discussed it yesterday, moving MVM_profile_heap_take_snapshot and MVM_profile_dump_instrumented_data up a bit in finish_gc 22:18
timotimo oh, that 22:19
dogbert17 before github.com/MoarVM/MoarVM/blob/mast...ate.c#L184 seems good, putting it after line 194 fails (I tested) 22:20
Geth ¦ rakudo: vrurg self-assigned [WIP] 'no precompilation' is broken inside EVAL github.com/rakudo/rakudo/issues/3116 22:23
22:26 lizmat_ joined 22:30 lizmat left 22:33 epony left 23:47 lucasb left