00:11 travis-ci joined
travis-ci Rakudo build errored. Daniel Green 'Convert `nqp::istrue` into `nqp::elems` 00:11
travis-ci.org/rakudo/rakudo/builds/665335989 github.com/rakudo/rakudo/compare/5...226876a2d0
00:11 travis-ci left 01:25 Altai-man_ joined 01:27 sena_kun left
releasable6 Next release in ≈6 days and ≈15 hours. 2 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 03:00
03:26 sena_kun joined 03:28 Altai-man_ left 05:15 hungrydonkey joined 05:25 Altai-man_ joined 05:28 sena_kun left 05:31 sena_kun joined 05:32 Altai-man_ left 06:19 hungrydonkey left 07:30 Altai-man_ joined 07:33 sena_kun left 08:01 hungrydonkey joined 09:08 hungrydonkey left 09:31 sena_kun joined 09:33 Altai-man_ left
lizmat tyil: I think that was nine 10:37
tyil lizmat: thanks! 10:38
that helped me to find the right message again
github.com/rakudo/rakudo/blob/mast...ll-dist.p6 this was what I was looking for 10:39
11:30 Altai-man_ joined 11:33 sena_kun left
lizmat inspired by: github.com/rakudo/rakudo/issues/3561 11:37
so why does ++$a not return a left value ?
to prevent ++++$a from working ?
fwiw, a fix would be easy, but there are spectest expecting ++$a returning a right value 11:38
and the static optimizer actually bypasses the infix:<++>(int...) candidate completer 11:39
*completely
MasterDuke what do you mean bypasses? doesn't do anything with it? or removes it? 11:40
lizmat not sure yet: I only know for sure that with --optimize=0, the int candidate does get called 11:42
and by default it doesn't 11:43
Geth rakudo: 9286def3c8 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/SEQUENCE.pm6
Use sub form of take, instead of method form

  - saves one callframe per value produced
12:10
lizmat hmm... that was actually Streamlining Rakudo::SEQUENCE.iterator (7/N)
12:37 hungrydonkey joined
AlexDaniel Altai-man_: how do you generate that list? 12:38
Altai-man_: with links to github repos
Altai-man_ AlexDaniel, to my great shame, b-b-by h-hands... 12:39
AlexDaniel Altai-man_: you can just prepend modules.raku.org/dist/ to most module names and it almost always works 12:40
e.g. modules.raku.org/dist/JSON::Tiny
Altai-man_: in fact we should change Blin to generate github tickets with links 12:41
Altai-man_ Can agree that'd be pretty nice to have.
AlexDaniel it's too bad I learned about macros in emacs many many years ago, it's pretty much the reason why I don't write scripts that generate things in a nice format… 12:42
Altai-man_ Though I am not sure about that 100%. Some of "bisected" are flappers, so need to double check. Some of them are false positives for various reasons, so I am not sure it can be done without a human at all.
AlexDaniel because it tends to be faster to just edit one line and repeat the sequency for everything…
sequence*
Altai-man_ Yesh, emacs macroses are AWESOME.
AlexDaniel Altai-man_: yeah, there are some false results, but so what? I'd usually create a ticket with everything anyway, and just tick the ones that are OK 12:43
Altai-man_ If it can automate creating a text using `overview` log, that's good enough, I think. Then one can create a ticket | do tweaks. 12:44
12:44 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Use sub form of take, instead of method form 12:44
travis-ci.org/rakudo/rakudo/builds/665457361 github.com/rakudo/rakudo/compare/8...86def3c850
12:44 travis-ci left
Altai-man_ s/text/message template/ 12:45
AlexDaniel Altai-man_: why are we getting flappers, btw?
Altai-man_: github.com/Raku/Blin/blob/b495ad03...lin.p6#L23
maybe we should just bump this?
Altai-man_ AlexDaniel, no idea, probably that's not enough. Modules like Concurrency::Queue sometimes "bisected", but on a second run it's fine. 12:46
lizmat restarted the one failing job 12:47
12:48 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Use sub form of take, instead of method form 12:48
travis-ci.org/rakudo/rakudo/builds/665457361 github.com/rakudo/rakudo/compare/8...86def3c850
12:48 travis-ci left 12:50 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Use sub form of take, instead of method form 12:50
travis-ci.org/rakudo/rakudo/builds/665457361 github.com/rakudo/rakudo/compare/8...86def3c850
12:50 travis-ci left
lizmat Travis being very informative: api.travis-ci.org/v3/job/665457366/log.txt 12:51
aka: "An error occurred while generating the build script."
lizmat gives up
tyil . 13:09
MasterDuke jnthn: have you noticed github.com/rakudo/rakudo/issues/3560 ? the slowdown happened after the moar-frame-extras branch merge 13:23
jnthn MasterDuke: Yeah. Well, that branch was always a trade-off, though the magnitude of the change here is more significant than I'd expect just from extra allocations of the extras thing. 13:24
MasterDuke the 4.8m calls to MVM_frame_find_lexical_by_name for &postfix:<++> and &infix:«<» seems like it might be the slowdown, maybe not any extra allocations 13:28
13:31 sena_kun joined
jnthn Yeah, that sounds like it's not managing to turn those into static lookups 13:32
13:33 Altai-man_ left
MasterDuke know any more debugging i could help with off the top of your head? 13:35
jnthn Well, I guess look at the spesh log and see if you can figure out why it's not rewriting what I figure are getlexstatic instructions into constants... 13:36
13:37 lucasb joined
MasterDuke sp_getspeshslot r6(9), sslot(50) # getlexstatic_o of lexical '&postfix:<++>' 13:42
sp_getlex_o r8(10), lex(idx=1,outers=0,$i) # expr bail: Cannot get template for: sp_getlex_o
jnthn Oh...it *has* optimized it then... 13:49
So why all the lookups..
I'm assuming there's a lot more calls to MVM_frame_find_lexical_by_name than before? 13:50
MasterDuke i haven't checked the number of calls before. i can build a rakudo from then and give it a try 14:03
so this code: `class FOO { our proto sub foo($) {*}; multi sub foo(Int $n) { my @a = ^$n; my $b; loop (my $i = 0; $i < $n; $i++) { $b = @a[$i] }; $b }; multi sub foo(Str $s) { foo($s.Int) } }; say FOO::foo(1_000_000)` 14:15
causes 1m calls of MVM_frame_find_lexical_by_name for each of &postcircumfix:<[ ]>, &postfix:<++>, &infix:«<». next most common is $?CLASS with 20.5k 14:16
using rakudo 2017.07-80-g1a74a8c34, there are just 206 calls for &postcircumfix:<[ ]>, &postfix:<++>, &infix:«<» and 16.8k for $?CLASS 14:18
i have a runtime of 1.7s at HEAD and 1s at 2017.07-80-g1a74a8c34 14:20
jnthn: and at 2017.07-84-gc1e41f9fb i get the 1m each for &postcircumfix:<[ ]>, &postfix:<++>, &infix:«<» and it slows to 1.7s 14:37
Geth rakudo: 439b860956 | (Elizabeth Mattijsen)++ | 8 files
Re-instate &GENERATE-ROLE-FROM-VALUE again

This caused unexpected breakage in the MinG module at precompilation, complaining there was no REPR for BOOTContext objects. So the assumption is that the method call somehow added some context into closures being precompiled that were unexpected.
This reverts commit b639221dd7eb3bfa2ff1c5cdf37a4e50628ea98e, but also marked the sub as "implementation-detail", so it won't show up in any introspection by default.
14:38
Kaiepi bisectable6, {foo => 'bar'}.HOW ~~ Metamodel::ClassHOW 14:58
bisectable6 Kaiepi, Bisecting by output (old=2015.12 new=439b860) because on both starting points the exit code is 1
Kaiepi oh huh
bisectable6 Kaiepi, bisect log: gist.github.com/072376cce16ef6b367...2e8d53f901
Kaiepi, (2017-07-08) github.com/rakudo/rakudo/commit/1a...2246c4c26c
Kaiepi m: say Metamodel::Primitives.is_type: {foo => "bar"}.HOW, Mu 15:00
camelia False
15:19 Altai-man_ joined 15:21 sena_kun left 15:23 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Re-instate &GENERATE-ROLE-FROM-VALUE again 15:23
travis-ci.org/rakudo/rakudo/builds/665506121 github.com/rakudo/rakudo/compare/9...9b86095689
15:23 travis-ci left
jjatria tyil: I'll be happy to help with the rakudo star docker image, if what you need is an extra pair of hands 💪 15:26
tyil jjatria: I'm currently working on writing all new scripts for building rakudo star images (home.tyil.nl/git/rakudo-star-2.0/about/) 16:16
jjatria: any feedback and additional testing and a script to create docker images are obviously welcome
jjatria tyil: Oh, cool. I'll take a look at it
tyil seems to work on at least Gentoo, Debian and Ubuntu thus far 16:17
just got home, planning to test out alpine and voidlinux later today if I find some spare time
if it works on all those, my original plan was to do Docker, then (FreeBSD) and contacting hankache to see if he can help out for windows .msi builds 16:18
jjatria So you'd use this as part of the automated build process for the images in the docker registry? 16:20
tyil a command like `rstart build-docker` would fit into the whole process 16:23
if we have support multiple docker base images, `rstar build-docker ubuntu` for instance would build one based on the ubuntu image
jjatria Yeah, that sounds good 16:25
16:25 hungrydonkey left
jjatria I'll try it out locally, see if I can spot any bugs 16:26
tyil sure, thanks!
I wrote most of it last night, so I expect to find some bugs once I go testing on more obscure distros 16:27
jjatria Oh, fresh out of the oven. Perfect for a quarantine Sunday 16:32
AlexDaniel 6c: say <foo bar baz>.roll(*)[^10] 16:33
committable6 AlexDaniel, gist.github.com/edc6d4d0521360bb70...05d9315386
AlexDaniel jjatria: every day is a quarantine Sunday now :P
jjatria AlexDaniel: Maybe I can trade it for a quarantine sundae 16:34
AlexDaniel jjatria: next Sunday is special because of DST 16:42
jjatria: clocks will change but the amount of time you'll stay at home is likely to remain the same :D
dogbert17 tough measures in Germany: "Ansammlungen von mehr als zwei Menschen sollen grundsätzlich verboten werden" - source spiegel.de 16:45
btw, Concurrency::Queue is a flapper. I believe it sometimes manage to trigger a low level bug 16:46
if the nursery size is decreased it tends to SEGV 16:52
dogbert@dogbert-VirtualBox ~/repos/p6-concurrent-queue $ MVM_SPESH_DISABLE=1 perl6 -Ilib t/stress.t 16:54
*** Error in `-Ilib': corrupted double-linked list: 0x00007f92d07b9060 ***
Altai-man_ dogbert17, is it reported (as a ticket, I mean)? 17:00
dogbert17 Altai-man_: no, but I guess it could be :)
Altai-man_ dogbert17, nice volunteered. :) 17:01
dogbert17 will fix
Altai-man_: R#3562 17:17
linkable6 R#3562 [open]: github.com/rakudo/rakudo/issues/3562 The module p6-concurrent-queue has flapping tests
Altai-man_ dogbert17++
17:20 sena_kun joined 17:22 Altai-man_ left
AlexDaniel .tell Altai-man_ btw you can use #whateverable channel to abuse the bots 18:25
tellable6 AlexDaniel, I'll pass your message to Altai-man_
AlexDaniel .tell Altai-man_ you don't seem to do it often but maybe that's because you don't want to spam on main channels :) 18:26
tellable6 AlexDaniel, I'll pass your message to Altai-man_
18:34 cognominal joined 18:38 cognomin_ left
sena_kun AlexDaniel, thanks for a tip! I know this channel, but I am not bisecting a lot, ee, just because. I mean, if I have some doubts about cases I can spend time on, I do, but I don't have too many opportunities to hack lots with my schedule. :/ 18:39
AlexDaniel sena_kun: that's OK, just making sure :) 18:40
sena_kun: perhaps still a good idea to autojoin it
sena_kun AlexDaniel, if only I wouldn't so sad with these constant connection drops on this modem I have... I feel bad for causing it on main channels already. 18:42
AlexDaniel sena_kun: if you use ssh for work and stuff, try mosh 18:43
sena_kun: it'll allow you to drop and switch networks without losing your session
sena_kun: as for IRC, I don't know of any easy solution, but there are solutions :) 18:44
sena_kun: either way I'm pretty sure the bots won't mind you reconnecting :) 18:45
sena_kun fair enough. :) 18:46
MasterDuke jnthn: the current error in Grammar::BNF is from here github.com/Raku/nqp/blob/master/sr...r.nqp#L628 where it's getting an `Array`, "which does not support elems". is there a way to know in NQP when something with an `@` sigil might not be safe to use with `nqp::elems`? 19:00
or will i need to revert a good bunch of my recent changes? 19:01
lizmat MasterDuke: perhaps it needs to be deconted ? 19:03
MasterDuke i'm trying that, but then the question still stands of when do i need to do that? 19:04
also, i would have expected this problem to have shown up during a rakudo build or spectest, but those were all clean 19:05
and nope, adding nqp::decont doesn't change anything 19:07
lizmat MasterDuke: it's my understanding that fates are native integer arrays (nqp::list_i) 19:17
How does an Array get in there ?
afk for a few hours probably& 19:19
MasterDuke haven't figured that out yet
19:19 Altai-man_ joined 19:21 sena_kun left
jnthn MasterDuke: An Array should not be getting there; I think that's something to fix "at the source" rather than work around 20:06
MasterDuke oh ha! glad to hear it 20:07
it might be beyond me though. github.com/tadzik/Grammar-BNF/blob...BNF.pm#L39 is where the error happens if anybody wants to take a look 20:09
timotimo i wonder if the code has optimized away the getlexstatics but is deoptimizing or for some other reason not entering the OSR'd code 20:58
21:02 [Coke]_ is now known as [Coke] 21:04 Kaiepi left 21:05 Kaiepi joined
rba AlexDaniel: Did you write github.com/AlexDaniel/foo-nullbyte-foo/ to challenge the ecosystem update? 21:18
AlexDaniel rba: there are a bunch of Foo modules that challenge tooling
rba: see modules.raku.org/search/?q=Foo
21:19 Kaiepi left
AlexDaniel rba: I don't know what's our policy on that kind of stuff 21:19
rba Generates errors in the server/updatelist.pl. blessed structure could not be converted to JSON.
AlexDaniel: This was just a question. All fine :-) 21:20
AlexDaniel: I'm not aware of a policy...
AlexDaniel rba: it's the first time I hear something not working because of one of these modules :)
21:20 sena_kun joined
AlexDaniel I mean… ../Foo module has a broken link on modules.raku.org itself 21:20
rba AlexDaniel: This is because I sabotaged this part already long time ago, as I had issues...
21:21 Altai-man_ left, Kaiepi joined
AlexDaniel oh, the one with the null byte also gives 400 Bad Request 21:22
pretty cool
MasterDuke timotimo: re the loop code? any way to test?
AlexDaniel it's kinda funny that these modules have tests 21:23
and they pass!
I mean… look! github.com/AlexDaniel/foo-nullbyte.../t/basic.t
ha
rba I have the issue, that autodie adds a blessed autodie::exception to the array to convert to JSON. 21:24
21:49 Xliff joined
Xliff o/ 21:49
nine: After skimming the latest rakudo code regarding precompilation, are you still thinking that avoiding the .precomp lock is possible. 21:50
nine: I'm seeing more of a double down on locking .precomp rather than making it easier to remove it, so just curious.
nine: My original changes are no longer merge-ready due to the latest changes. 21:51
rba AlexDaniel: ecosystem-api.p6c.org/errors.json
AlexDaniel: Just to let you know...
timotimo MasterDuke: well, MVM_dump_bytecode outputs the bytecode that it's currently going through, or at least i hope it does LOL 22:01
and since we saw speshresolve in there, i'd say what we got dumped back then was not the speshed version 22:02
however, i don't know how long into the process you dumped it, so could have been before the spesh's time to shine
MasterDuke i'm pretty sure it was almost the absolute end of the program 22:03
timotimo then we'll have to do a bit more thorough investigation 22:05
like, does it try to enter a spesh candidate, but doesn't find one? does it enter the spesh candidate and deopt immediately? stuff like that
i remember something osr-related where it wouldn't have the same callsite for some reason and keep logging more and more 22:06
do you still have a spesh log around?
MasterDuke a profile shows no deopts or osrs
yep
it's 25mb though 22:07
a more golfed example is 14mb 22:08
anything i should look for? or want me to send it to you?
timotimo give me the times it was waiting for data 22:09
i forgot what it's called, but that's in between the optimizations and updates of stats and such
22:10 Kaiepi left
MasterDuke there are 853 of the 'Was waiting' messages 22:11
22:11 Kaiepi joined
timotimo the latest ones are the most interesting ones 22:11
MasterDuke the very first one is 'Was waiting 77883us for logs on the log queue.'
the very last is 'Was waiting 879us for logs on the log queue.'
22:12 Kaiepi left
MasterDuke longest was 198365us, second longest was that first one 22:12
22:14 Kaiepi joined
Xliff timotimo: Hey there! Long time no type. 22:22
timotimo yo 22:37
MasterDuke timotimo: oh, there does appear to be something odd in the spesh log 22:44
for this code: `class FOO { our proto sub foo($) {*}; multi sub foo(Int $n) { my @a = ^$n; my $b; loop (my $i = 0; $i < $n; $i++) { $b = @a[$i] }; $b }; multi sub foo(Str $s) { foo($s.Int) } }; say FOO::foo(1_000_000)`, there are 1700 instances of `Latest statistics for 'foo'` in the spesh log 22:46
most (maybe all) with 'Total hits: 1'
increasing 'OSR hits:'. starts at 304 and ends up at 987536 22:47
all the same callsite 22:48
22:55 lucasb left
releasable6 Next release in ≈5 days and ≈19 hours. 2 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 23:00
lizmat .tell Xliff URL of your changes? I guess I missed that? :-(
tellable6 lizmat, I'll pass your message to Xliff
Xliff lizmat: Which changes? The no-precomp ones? 23:01
lizmat the ones my work on precomp made unmergable?
Xliff Lizmat: Um. I will have to see if I can diff those off of my version. One second. 23:02
lizmat Xliff: I'm asking because a. I want to understand your thinking behind it and b. whether they would be salvagable 23:03
Xliff lizmat: The thinking behind it: If we could remove the lock on the .precomp dir in favor of file level locking, we could have a parallel compiler that would go through a manifest MUCH faster (up to 4-500% for a given build plan) than we do now. 23:04
However, due to some bug fixes and the doubling down on a .precomp lock ($!update-lock was used sparingly, now it's set right from !lock) 23:06
lizmat ok, well... it's a bit late for me to dive into it now, and tomorrow is RWN day... but I'm definitely interested in diving into that
Xliff I will have to tease the relevant parts out. 23:07
jjatria tyil: I cloned your repo and tried `./bin/rstar install` as it said in the README, but it died with "cp: cannot stat '/home/user/rstar/dist/src/core/moarvm-2020.01.1/."
lizmat Xliff: please only do that if a. you think that makes sense, and b. you have the tuits and the will to do that
Xliff I know how to edit diffs, thanks. 23:08
For this lil project, especially./
lizmat ok... looking forward to the fruits of your labor then, tomorrow :-) 23:09
meanwhile: sleep&
Xliff Good night. I am compiling the gist, now. 23:15
23:19 Altai-man_ joined 23:22 sena_kun left
Xliff lizmat: gist.github.com/Xliff/a26c3cf04322...a2543efbf2 23:23
tyil jjatria: `./bin/rstar fetch`, those extra sources are to be included in tarball releases, which are ment for end-users 23:26
I'll update the readme to be more clear on this 23:27
jjatria tyil: Ah, cool. Thanks! I'll keep looking for things, but tomorrow I guess
AlexDaniel jnthn: colabti.org/irclogger/irclogger_lo...03-22#l222
jnthn AlexDaniel: Thanks, but...hmm, the modules I don't see indexed aren't mentioned in there. 23:29
AlexDaniel e: shell ‘cd sandbox; wget www.gutenberg.org/files/2701/old/moby10b.txt’ 23:47
evalable6 --2020-03-23 00:47:42-- www.gutenberg.…»
AlexDaniel, Full output: gist.github.com/40fbd835969770b645...8f10cd86a2
AlexDaniel 82 MB? 23:48
am I looking at it wrong?
c: HEAD run <perl6 -e>, 「my $cnt=0; $*ARGFILES.words.grep(/whale {++$cnt}/); say $cnt;」, ‘sandbox/moby10b.txt’ 23:50
committable6 AlexDaniel, ¦HEAD(439b860): «1322␤»
AlexDaniel c: HEAD run <perl6 -e>, 「my $cnt=0; $*ARGFILES.words.grep(/whale {++$cnt}/); say $cnt;」, ‘sandbox/moby10b.txt’
committable6 AlexDaniel, ¦HEAD(439b860): «1322␤»
AlexDaniel that's a wrong file isn't it?
6c: run <perl6 -e>, 「my $cnt=0; $*ARGFILES.words.grep(/whale {++$cnt}/); say $cnt;」, ‘sandbox/moby10b.txt’
committable6 AlexDaniel, gist.github.com/5dc090f6efedfd578c...ad066ed1a0 23:51
AlexDaniel e: shell ‘cd sandbox; wget www.gutenberg.org/cache/epub/2489/pg2489.txt’
evalable6 --2020-03-23 00:51:14-- www.gutenberg.o…»
AlexDaniel, Full output: gist.github.com/b75b500fc4420518cc...bf2e9f78c7
AlexDaniel oh
it was the right file?
c: HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD,HEAD run <perl6 -e>, 「my $cnt=0; $*ARGFILES.words.grep(/whale {++$cnt}/); say $cnt;」, ‘sandbox/moby10b.txt’
committable6 AlexDaniel, ¦HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860),HEAD(439b860): «1322␤» 23:52
AlexDaniel oooooooooh right it's not showing the signal
that's why
6c: my $p = run <perl6 -e>, 「my $cnt=0; $*ARGFILES.words.grep(/whale {++$cnt}/); say $cnt;」, ‘sandbox/moby10b.txt’; exit $p.signal if $p.signal ≠ 0; exit $p.exitcode if $p.exitcode ≠ 0 23:53
anyway, I'm pretty sure it was fixed
Context: R#3564
linkable6 R#3564 [open]: github.com/rakudo/rakudo/issues/3564 "Segmentation fault: 11" -- codeblock within a grep regex fails with literal (but not regex) query
committable6 AlexDaniel, gist.github.com/8de227f18653c1333e...a9218dfc62 23:54
AlexDaniel nope. 23:55
timotimo MasterDuke: from what you've said so far that looks very much like the bug i've been describing 23:58
MasterDuke it does sound similar 23:59