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:32 lucasb left
MasterDuke ugh, trying to find exactly where --target=parse is implemented is annoying. 'target' and 'parse' are not uncommon words in the source 00:36
huh, in the case of --target=parse, why does it end up in the else? github.com/perl6/nqp/blame/master/...#L143-L150 an NQPArray is a list according to nqp::islist() 01:07
./nqp -e 'my @a; say(@a.HOW.name(@a)); say(nqp::islist(@a))' NQPArray 1 01:08
oh, it's in the else because $_ is false 01:10
turns out it's actually the hash conditional github.com/perl6/nqp/blame/master/...#L158-L165 and changing it to `if $v.defined` gives `- statementlist: - statement: 0 matches` for `./nqp --target=parse -e ''` 01:19
well, changing the conditionals in both the self.hash() and the self.list() blocks to `if $v.defined` and `if $_.defined` respectively passes all nqp test, rakudo tests, and spectests 01:50
and now `perl6 --target=parse -e ''` gives `- lang-version: - lang-version: - <self-reference> - statementlist: - statement: 0 matches` 01:51
.tell jnthn colabti.org/irclogger/irclogger_lo...9-05-03#l2 (but really starting a couple lines down) has some more info somewhat relevant to <statement> reporting an NQPArray 01:57
yoleaux MasterDuke: I'll pass your message to jnthn.
ugexe nine: that new test is failing on travis, appveyor, and circle-ci 02:11
MasterDuke ugexe: does circle-ci offer BSDs? 02:33
03:11 vrurg left 05:26 robertle left 06:30 [TuxCM] left
nine Aah...of course I forgot to bump NQP and MoarVM. Tests++ 06:59
yoleaux 2 May 2019 22:14Z <lizmat> nine: alas, t/02-rakudo/reproducible-builds.t fails for me on MacOS
releasable6 Next release in ā‰ˆ2 days and ā‰ˆ11 hours. 2 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 07:00
nine Oh, there could be a real issue still there uncovered by the test: I get it to fail locally on the first run after removing lib/.precomp 07:04
Apparently when we precompile a dependency, we end up serializing additional Match objects and all their dependencies. 07:42
07:54 [TuxCM] joined 07:57 pmurias joined
pmurias MasterDuke: re --target=parse it's implemented in github.com/perl6/nqp/blob/master/s...or.nqp#L99 07:58
MasterDuke: if you look inside HLL::Compiler in the dumper method a dump method is called for the last stage 07:59
08:09 travis-ci joined
travis-ci Rakudo build failed. Stefan Seifert 'Bump NQP_REVISON for build reproducibility fixes' 08:09
travis-ci.org/rakudo/rakudo/builds/527631650 github.com/rakudo/rakudo/compare/5...69bc9235ab
08:09 travis-ci left 09:10 lizmat_ is now known as lizmat
lizmat .tell nine test still fails first time after a build of rakudo, not any time after (so far) 09:14
yoleaux lizmat: I'll pass your message to nine.
nine lizmat: even after commit 37b7ef7ce9b6c5afb18f94b2230db625da24c96a? "Work around reproducible-builds.t failing on first run" 09:34
yoleaux 09:14Z <lizmat> nine: test still fails first time after a build of rakudo, not any time after (so far)
lizmat tests an idea 09:35
nine Aha! the Match object or Regex stuff whatever it is seems to be from Rakudo::Internals::JSON::str-escape which makes sense. We use JSON to pass some data to the process doing the actual precompilation. So when we need to precompile a dependency that might just be the first time we deserialize the to-json causing it to get added to the current compiler's SC 09:37
kawaii releasable6: status
releasable6 kawaii, Next release in ā‰ˆ2 days and ā‰ˆ9 hours. 2 blockers. 132 out of 275 commits logged (āš  2 warnings)
kawaii, Details: gist.github.com/6ba2079bc2794d7c62...65a8c7f6b8
lizmat nine: "make test" works ok first time after a rebuild 09:38
nine great!
lizmat I was testing the file by itself after a rebuid
so it impicitely depends on having other tests run before it
nine Odd: nine@sphinx:~/rakudo (master *=)> rm -Rf lib/.precomp/ .precomp/ ; perl6 -Ilib t/02-rakudo/reproducible-builds.t 09:39
ok 1 - Both precompilation runs resulted in the same checksum
Travis is still not happy either 09:40
lizmat afk& 09:42
10:03 travis-ci joined
travis-ci Rakudo build failed. Stefan Seifert 'Work around reproducible-builds.t failing on first run 10:03
travis-ci.org/rakudo/rakudo/builds/527670515 github.com/rakudo/rakudo/compare/5...b7ef7ce9b6
10:03 travis-ci left 11:19 pmurias left 11:27 El_Che joined
El_Che Hi, I use the release tar-balls to create linux packages (rakudo-pkg). Should I better use the github releases of rakudo, moarvm, nqp? Or is there some additional magic on the releases tarballs on rakudo.org and moarvm.org? 11:28
timotimo if you grab the tarball from the "releases" section of github, it will be missing git submodules, and thus not work 11:38
El_Che timotimo: ok, thank you 11:39
timotimo i know that it's a problem for moarvm; i'm not entirely sure if rakudo has submodules in it
lizmat it doesn't afaik 11:40
unless you consider "nqp", and "MoarVM" under that submodules ?
timotimo nah, i'd say that's different 11:44
that's part of the --gen-nqp convenience stuff
11:45 pmurias joined
El_Che ok, I'll just wait untill the normal release process is restored (new Ubuntu and Fedora distro releases last weeks) 11:54
11:59 Xliff joined
Xliff jnthn: I have it down to one commit. The problem was introduced in either -270 or -271. I will have an answer for you, shortly. 12:00
As far as -260, there was an issue where a role composition issue was apparently not detected. 12:01
12:02 El_Che left
Xliff Then, subsequent to -260, I am now get the following error message: Method 'remove_action' must be resolved by class GTK::Compat::SimpleActionGroup because it exists in multiple roles 12:02
Subsequent to THAT, any attempts to compile that method run into what appears to be an infinite loop. 12:03
timotimo ah dang, el_che is gone already 12:08
Xliff Bisected: Error is here a973dae670973ae9fbce51941014c07f8471e660 12:12
Updating bug
12:15 MasterDuke left
Xliff Bug updated. 12:18
12:25 Kaypie left, Kaypie joined
ugexe lizmat: what invocation did you use to run the test by itself? 13:14
lizmat perl6 t/spec/....t 13:15
ugexe Ah yes
make test almost certainly uses -Ilib
which changes the repo id
lizmat which would imply that after a build and a make test 13:16
running the script like that should still fail the first time ?
lizmat rebuilds 13:17
ugexe i donā€™t immediately see why, but it wouldnā€™t surprise me if having some files exist from a previous run were involved
13:20 Kaypie left
lizmat running with "perl6" after make test, succeeds the first time 13:21
lizmat rebuilds again
13:21 Kaiepi joined, vrurg joined
Xliff nine: Further tests have tracked the role duplication issue to 5dcc687e239d6ecc4f4ca16c77cee370a83b8d46 13:23
I believe I can now glare at you... 8-p 13:24
=)
lizmat argh, ran wrong test
Xliff Ooh! I can now start glaring at lizmat, too! :D 13:27
(Method::Also seems to be a necessary ingredient, here github.com/rakudo/rakudo/issues/2873)
nine Nah, it's all my fault 13:29
lizmat ugexe nine: confirmed that after rebuild and make test, first run of perl6 t/02-rakudo/reproducible-builds.t is ok 13:30
nine lizmat: thanks! 13:31
lizmat without "make test", first run of perl6 t/02-rakudo/reproducible-builds.t fails
nine what about perl6 -Ilib t/02-rakudo/reproducible-builds.t?
lizmat fails first time (also after "make test"), succeeds second time 13:33
ergo: make test doesn't run with -Ilib, I would say
rba .tell El_Che at the moment you can download the build fromĀ perlgeek.de/static/p6/Ā orĀ files.p6c.dev/ 13:39
yoleaux rba: I'll pass your message to El_Che.
13:54 Xliff left 13:55 lucasb joined
nine Fix is in the works, but I'll only be able to continue tomorrow 14:09
kawaii releasable6: status 14:12
releasable6 kawaii, Next release in ā‰ˆ2 days and ā‰ˆ4 hours. 2 blockers. 132 out of 275 commits logged (āš  2 warnings)
kawaii, Details: gist.github.com/aeca7b151ef82ada1b...0fd9d4a75d
kawaii jnthn: as you have more experience in this matter than myself currently, did I interpret your previous messages correctly with regards to the two issues labelled 'blockers' and that we should be fine to proceed with a release this Sunday? 14:14
14:30 pmurias left 14:32 pmurias joined
jnthn kawaii: Will try and take a look in an hour or so 14:38
kawaii jnthn: okay great, HEAD seems to build and function fine (albeit with old nqp) so hopefully we can get it done 15:01
15:04 discord62 joined, discord62 left, discord62 joined 15:05 discord6 left, discord62 is now known as discord6
ugexe lizmat: without looking i'd expect `make test` to use -Ilib, otherwise tests would not pass before a `make install` 15:25
yep. t/harness5 sets PERL6LIB=lib. t/harness6 gets invoked with -Ilib 15:26
15:32 pmurias left 15:47 [TuxCM] left 16:04 gfldex joined
jnthn kawaii: The readline one isn't marked up as a regression, so while it'd be nice to address, I don't think it's a real blocker in that it's made things worse. 16:09
kawaii: The other one is a bit more curious 16:10
Hm, when I try it I get a totally different error 16:14
bah, the ticket's original post had the wrong URL in it compared ot the Travis test that's linked later 16:20
github.com/gfldex/perl6-hard-tests...9af94ce151 16:21
but I can't reproduce that at, well, something very close to HEAD, if not HEAD 16:22
Stuck it in a loop to do it 100 times and no luck either
Also ran the script as a whole 100 times and didn't reproduce it 16:23
16:26 epony left
jnthn kawaii: Left a comment on the WWW one; I've tried for a while to repro it and cannot though. 16:27
16:32 Geth left 16:33 Geth joined
kawaii jnthn: in that case I will unmark it as a blocker 16:33
gfldex jnthn: what is your uname -a? 16:37
jnthn gfldex: Linux jnthn-praha 4.15.0-47-generic #50~16.04.1-Ubuntu SMP Fri Mar 15 16:06:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 16:41
Time to make dinner o/ 16:43
16:47 robertle joined 17:24 [TuxCM] joined 17:28 patrickb joined
AlexDaniel kawaii: when was the last run of Blin? 17:39
kawaii AlexDaniel: about a week ago now, so I'll set it running again tomorrow
AlexDaniel can you even run it nowadays? I recall zef was a bit unhappy because of the server issues
kawaii with aim to release on Sunday
17:59 epony joined 20:07 vrurg left 20:08 ufobat__ joined 20:11 ufobat_ left 21:39 unicodable6 left, benchable6 left, undersightable6 left, committable6 left, notable6 left, nativecallable6 left 21:43 a3f left, tyil[m] left 22:08 committable6 joined, undersightable6 joined, notable6 joined, benchable6 joined, ChanServ sets mode: +v committable6, ChanServ sets mode: +v undersightable6, ChanServ sets mode: +v notable6, ChanServ sets mode: +v benchable6 22:09 a3f joined, a3f left, a3f joined, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, unicodable6 joined, ChanServ sets mode: +v unicodable6 22:12 tyil[m] joined 22:13 vrurg joined 22:17 yoleaux left 22:18 yoleaux joined 22:42 patrickb left
ugexe Is there any reason not to have TAP::Harness in core again? 22:57
jnthn Is there a strong case for having it in core? 22:58
I guess by "in core" you mean "in the Rakudo repo, alongside Test and NativeCall"? 22:59
ugexe right
the only real reasons I have are 1) its like the other half of Test 2) dog fooding (for zef to use its features) / why would anyone otherwise use the perl6 TAP::Harness / prove6 when they can just use the common prove? 23:02
jnthn Generally, though, I'd prefer we keep what's bundled with the compiler itself quite minimal. NativeCall is there because it's coupled so closely to guts and we want to be able to version it exactly to match the Rakudo version. Same for Telemetry. Test is there largely because we use it for `make test`, which is only sort of a good reason.
I'm also not that fond of modules that we bundle in Rakudo living a separate life in the ecosystem, even if it's technically possible. 23:03
ugexe yeah i guess my main gripe is having t/harness5 and t/harness6 type splits
jnthn I don't think we can live without having harness5 availble as an option. Or at least, *I* can't. 23:04
ugexe i was operating under the premise they are equivalent to not notice a difference for end users 23:05
but now im guessing harness6 must be slower?
timotimo it's slower, but it can run things in parallel on windows, isn't that a thing? 23:06
yoleaux 18:30Z <jmerelo> timotimo: the documentation is not being updated. Can you please set up a cron job or something to re-build it from time to time?
ugexe i would think harness5/prove would be able to do things in parallel on windows too
jnthn No, that's not the problem. The problem is that when I do some deep guts change, I can easily end up with a Perl 6 that's decidedly broken. The spectests - at least once I'm unbroken enough to use Test.pm6 - can help explain what is going on. 23:07
But a test harness is a relatively complex program; if the changes break *that* then I'd be out of look for running the spectests.
I'm not arguing for harness5 as a default, but sometimes the escape hatch is important. 23:08
I accept I have a minority use case here; most folks don't decide to go breaking and putting back together some of the things I do.
Of course, an unbusted Perl 6 install to run the harness is an option too, I guess... 23:09
timotimo aye
i had that for a time
~/build/stable_perl6/install/bin/perl6 23:10
ugexe i usually go raw dog prove
jnthn Yeah, but fudge?
ugexe prove --formatter TAP::Formatter::JUnitREGRU --ignore-exit -r -j4 -e \'$INSTALL_DIR/bin/perl6\' - < test-list.txt
ok ok, have to run perl fudgeall rakudo.moar **/*.t > test-list-spaces.txt && perl -p -e \'s/\\s+/\\n/g\' test-list-spaces.txt > test-list.txt too 23:11
jnthn I guess that could go in a Makefile target, plus define a STABLE_PERL6 or some such envvar and it's alright 23:14
Oh wait, it's not needed, 'cus it uses prove :) 23:15
jnthn should apparently already be sleeping
timotimo Your JavaScript runtime does not support some features used by the coffee command. Please use Node 6 or later. 23:41
^- does that mean htmlify.pm6 isn't doing any progress?
because it's not using much cpu time
it doesn't have a subprocess in any case 23:45
so that's probably a problem
i'm trying "make html-no-highlight" for now and go to bed 23:47