MasterDuke | isn't there some reason that usually happens? fwiw, it used to just be a single method, signature of `(var, int $i, int $m, int $monkey, int $s, int $a, $context)` | 01:00 | |
and it's now `proto (|), (Iterable:D \var, ...), (Mu:D \var, ...), (Mu:U \var, ...)` | 01:02 | ||
ugexe | fwiw Net::HTTP broke sometime recently, complaining of using a `last` outside of a loop construct. as a workaround i redid the loop to not use `last`, but I also couldn't golf it | 01:41 | |
raw.githubusercontent.com/ugexe/Pe...ransport.t was one of the failing tests | 01:59 | ||
AlexDaniel- | c: HEAD gist.githubusercontent.com/AlexDan...b8/test.p6 | 02:00 | |
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, ¦HEAD(a72214c): «1..4===SORRY!===last without loop construct «exit code = 1»» | |||
AlexDaniel- | here | ||
c: 2017.07 gist.githubusercontent.com/AlexDan...b8/test.p6 | |||
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, gist.github.com/73e11623eb911ed075...c7afed24db | 02:01 | ||
AlexDaniel- | bisect: old=2017.07 gist.githubusercontent.com/AlexDan...b8/test.p6 | ||
bisectable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, Bisecting by exit code (old=2017.07 new=a72214c). Old exit code: 0 | |||
AlexDaniel- | *heavy breathing* | ||
bisectable6 | AlexDaniel-, bisect log: gist.github.com/5e61264647a48c145c...d93178087d | ||
AlexDaniel-, (2017-10-07) github.com/rakudo/rakudo/commit/b5...7c3d408371 | |||
AlexDaniel- | Geth: ver github.com/rakudo/rakudo/commit/b5...7c3d408371 | 02:02 | |
Geth | AlexDaniel-, version bump brought in these changes: github.com/perl6/nqp/compare/2017....0-ga6a1aa0 | ||
AlexDaniel- | Geth: ver github.com/perl6/nqp/commit/a6a1aa...eee98b028a | ||
Geth | AlexDaniel-, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...3-ga4fef0b | ||
AlexDaniel- | ugexe: pretty sure it's a JIT issue looking at this bump | ||
but could be anything, I can't bisect into moar with a bot yet | |||
let's double-check though | 02:03 | ||
c: b59804bc^,b59804bc gist.githubusercontent.com/AlexDan...b8/test.p6 | |||
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, gist.github.com/d58263ac81c276d0a3...266220ed2e | |||
AlexDaniel- | yeah, that is it | ||
ugexe: rakudobug plz | |||
AlexDaniel- & | 02:04 | ||
MasterDuke | .ask jnthn i've got a question about multis and find_best_dispatchee here irclog.perlgeek.de/perl6-dev/2017-..._15286003, with some relevant info here irclog.perlgeek.de/perl6-dev/2017-...i_15286163 | 02:09 | |
yoleaux | MasterDuke: I'll pass your message to jnthn. | ||
MasterDuke | .ask timotimo i've got a question about multis and find_best_dispatchee here irclog.perlgeek.de/perl6-dev/2017-..._15286003, with some relevant info here irclog.perlgeek.de/perl6-dev/2017-...i_15286163 | ||
yoleaux | MasterDuke: I'll pass your message to timotimo. | ||
MasterDuke | .ask lizmat i've got a question about multis and find_best_dispatchee here irclog.perlgeek.de/perl6-dev/2017-..._15286003, with some relevant info here irclog.perlgeek.de/perl6-dev/2017-...i_15286163 | 02:10 | |
yoleaux | MasterDuke: I'll pass your message to lizmat. | ||
travis-ci | Rakudo build failed. Zoffix Znet 'Bump NQP' | 04:38 | |
travis-ci.org/rakudo/rakudo/builds/286282249 github.com/rakudo/rakudo/compare/e...2214c4f160 | |||
buggable | [travis build above] ✓ All failures are due to: GitHub connectivity (1 failure). | ||
[Tux] | This is Rakudo version 2017.09-372-ga72214c4f built on MoarVM version 2017.09.1-591-gf2deedfc | 06:04 | |
csv-ip5xs 1.214 - 1.377 | |||
test 9.800 - 10.478 | |||
test-t 3.215 - 3.428 | |||
csv-parser 0.887 - 0.964 | |||
Geth | nqp: 45cb3ee248 | pmurias++ | src/core/testing.nqp [jvm] Workaround a try/CATCH bug in dies-ok |
09:22 | |
nqp: 0ccdf2e535 | pmurias++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6bigintInstance.java [jvm] Throw an exception when unboxing a too big bignum to an int |
|||
travis-ci | NQP build failed. pmurias '[jvm] Throw an exception when unboxing a too big bignum to an int' | 09:35 | |
travis-ci.org/perl6/nqp/builds/286427600 github.com/perl6/nqp/compare/26abb...cdf2e535e7 | |||
buggable | New CPAN upload: Config-1.2.2.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...2.2.tar.gz | 10:06 | |
timotimo | ===> Testing: cro:ver<0.7> | 11:20 | |
WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was: | |||
No such symbol 'Cro::Tools::LinkTemplate::HTTPS' | |||
interesting | |||
Zoffix | awhile back some user had similar issue in #perl6. It was a `require` setup (I think with a `try`) from which the unhandled Failure was popping up and I couldn't see where it'd be coming from (IIRC the module was loading properly or the failure from require was being handled) | 11:59 | |
jnthn | Yeah, it's RT'd | 12:00 | |
I'm sure we're disarming any Failure return gives us back | |||
So I think it's some Rakudo bug. Not to mention that I'm sure that symbol does exist. | |||
timotimo | it could very well be we're accidentally cloning (or something?) the failure inside the module loader? | 12:01 | |
jnthn | Dunno | ||
Geth | nqp/master: 4 commits pushed by pmurias++
|
12:31 | |
Zoffix | ZOFVM: Files=1277, Tests=152650, 178 wallclock secs (21.69 usr 3.68 sys + 3415.87 cusr 217.02 csys = 3658.26 CPU) | 12:37 | |
Geth | rakudo/nom: fbae69e2be | (Zoffix Znet)++ | src/core/traits.pm Make `is default` on routines work earlier in setting Sometimes it's needed but the `does` op it's using is defined late in the setting. Mix in the marker role directly using .^mixin instead. |
12:38 | |
Zoffix | timotimo: ^ that should make it work for you, if you still need it. | ||
timotimo | that's simple enough. thanks! | 12:39 | |
Zoffix is failing to find any tests for this feature :( | 12:40 | ||
ah, S12-methods/default-trait.t | 12:41 | ||
travis-ci | NQP build failed. pmurias 'Add extra multidim tests' | 12:45 | |
travis-ci.org/perl6/nqp/builds/286493611 github.com/perl6/nqp/compare/0ccdf...d18b86e58a | |||
samcv | Zoffix, how would you feel about IO::Path.parent(2) or some number for how many parent directories to go up? | 13:03 | |
do you like that idea? | 13:04 | ||
Geth | rakudo/nom: 714c188d4a | (Timo Paulssen)++ | src/core/native_array.pm generalize constraint for append otherwise it'll only be called when an int64 array is passed. This makes it splice 32bit, 16bit and 8bit for basically free. |
13:06 | |
timotimo | spec tests were clean | ||
Zoffix | samcv: is it different from IO::Path.add('../../') ? | 13:08 | |
samcv | well. that's really a unixism | 13:09 | |
Zoffix | Why? | ||
samcv | well it's not as clean | ||
you want the parent to 2 levels not just 1. what if you want the 5th parent | |||
or want to do it programatically? | |||
based on depth? | |||
Zoffix | IO::Path.add('../' x $depth) | 13:10 | |
samcv | just because there's one way to possibly do it doesn't mean there shouldn't be another | 13:11 | |
i don't like the idea of having to manipulate the path myself | |||
by multiplying strings | |||
and if we want people to use .child, it seems to follow that having .parent and being able to do a certain number of parents would make sense | 13:12 | ||
why even have parent at all if you can just do .add('../') ? | |||
Zoffix | samcv: don't really care about it one way or another, but feels like a YAGNI: adding a million of options just because you thought of them. Perl's App::ZofCMS has this problem with its plugins and their docs are a mile long just because they have to document all of these options that ultimately make no difference | 13:13 | |
samcv | curious what other peoples thoughts on this are? | ||
Zoffix | <Zoffix> samcv: is it different from IO::Path.add('../../') | 13:15 | |
Yeah, it is. | |||
m: .parent.parent.resolve.say with "foo".IO | |||
camelia | "/home".IO | ||
Zoffix | m: .add('../../').resolve.say with "foo".IO | ||
camelia | "/home/camelia/foo/../..".IO | ||
Zoffix | needs to be .parent.add('../' x $depth-1) to be the same | ||
samcv | m: say $*CWD.parent.add('../') | 13:16 | |
camelia | "/home/../".IO | ||
Zoffix | Ah, not even then. Looks like .parent is not symlink safe, while .add is | ||
m: my $p = "foo/bar/ber/meows".IO; my $depth = 3; $p .= parent xx $depth; say 4p | 13:17 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3depth = 3; $p .= parent xx $depth; say 47⏏5p |
||
Zoffix | m: my $p = "foo/bar/ber/meows".IO; my $depth = 3; $p .= parent xx $depth; say $p | ||
camelia | "foo".IO | ||
Zoffix | m: my $p = "foo/bar/ber/meows".IO; my $depth = 3; $p .= add('../') xx $depth; say $p | 13:18 | |
camelia | "foo/bar/ber/meows/../../../".IO | ||
Zoffix | samcv: well, you got the commit bit :) I have no opinion on this | ||
Zoffix & | |||
samcv | ok :) | ||
was also asking if adding just an int argument was fine with you, since you had done work on the IO operations arguments as well | 13:19 | ||
though i think .parent a number by itself not a named argument makes most sense | |||
also this: | 13:20 | ||
m: $*CWD.parent.add('../').absolute.say | |||
camelia | /home/.. | ||
samcv | so it seems to be different in general and i didn't know for sure about the symlink thing, but i had an inkling there was some difference | 13:21 | |
[Coke] | ff | 13:33 | |
[Coke] is using rakudo for some devops stuff at work and is happy. | 13:40 | ||
pmurias | jnthn: is there anything besides BUILDALL on the jvm backend that might be affected by a change to BUILDALLPLAN? | 13:50 | |
timotimo | lizmat: would be interested to hear startup timings with my last few moarvm commits | 13:57 | |
Zoffix bumps | 14:14 | ||
samcv: yeah, int argument sounds fine | 14:15 | ||
AlexDaniel | :o even better startup times? :o :o | ||
Zoffix | m: $*CWD.parent.add('../').resolve.absolute.say | ||
camelia | / | ||
Zoffix | m: 'foo'.IO.parent.parent.say | ||
camelia | "..".IO | ||
Zoffix | m: 'foo'.IO.parent.parent.resolve.say | 14:16 | |
camelia | "/home".IO | ||
Zoffix | m: 'foo'.IO.add('../..').resolve.say | ||
camelia | "/home/camelia/foo/../..".IO | ||
Zoffix | Basically .parent just chops off the path to get its value, while the .add() version adds the ../ things, which will stay if they can't be resolved. Were `foo` a symlink to some other dir, the result .parent could be said to be "wrong", as the '../' things would lead up the original dir. But I think doing `cd ..` in the shell would have the behaviour like what `.parent` does, so it makes sense to have two | 14:17 | |
versions to do this | |||
ZOFVM: Files=1277, Tests=152650, 153 wallclock secs (22.21 usr 3.38 sys + 3336.72 cusr 180.39 csys = 3542.70 CPU) | 14:22 | ||
Felt like tests were flying through a lot faster (need to take care of the few tests that sit there and hog everything eventually...) | |||
ZOFFLOP: t/spec/S17-procasync/kill.t | |||
Geth | nqp: e9bca388a7 | (Zoffix Znet)++ | tools/build/MOAR_REVISION Bump MoarVM |
14:23 | |
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...4-gb9d3f6d | |||
rakudo/nom: a0f29e0dfa | (Zoffix Znet)++ | tools/build/NQP_REVISION Bump NQP |
|||
¦ rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....4-ge9bca38 | |||
Zoffix | $ time ./perl6 -e '' real0m0.122s $ time perl6 -e '' real0m0.146s with ./perl6 being HEAD and perl6 being 2017.09-87-g6bdb2dd | 14:25 | |
m: say 146/122 | |||
camelia | 1.196721 | ||
Zoffix | sweet | ||
buggable | New CPAN upload: TimeUnit-0.1.0.tar.gz by ATROXAPER cpan.metacpan.org/authors/id/A/AT/...1.0.tar.gz | 14:26 | |
Zoffix | m: say 0.024*1277 | 14:31 | |
camelia | 30.648 | ||
Zoffix | So that shaved off 30s off the spectest (were it run on 1 core) | ||
off *stresstest | |||
AlexDaniel | :o | 14:38 | |
timotimo | what did? | ||
AlexDaniel | timo*++ | ||
timotimo | who, me? | ||
Zoffix | Yeah :) | 14:39 | |
timotimo | whoa | ||
Zoffix | 20% off startup | ||
AlexDaniel | Plz more? :) | ||
timotimo | it didn't make it much faster on my machine :( | ||
still 0.10s for every empty program | 14:40 | ||
Zoffix | perl -e '' is 0.003 :o | ||
timotimo | no way | ||
Zoffix | On my box, yeah | ||
timotimo | okay it goes down to 0.09 more than half the time now | ||
Zoffix | on same box perl6 -e '' is 0.177s this is 2017.09-223-gd565ded tho | 14:41 | |
AlexDaniel | It is, yeah | ||
Zoffix | m: say .177/.003 | ||
camelia | 59 | ||
timotimo | oh, sorry, i thought perl6 -e '' was 0.003 on your box | 14:42 | |
travis-ci | NQP build failed. Zoffix Znet 'Bump MoarVM' | ||
travis-ci.org/perl6/nqp/builds/286545373 github.com/perl6/nqp/compare/ebd18...bca388a765 | |||
timotimo | but it was perl5 | 14:43 | |
AlexDaniel | At this point we should be comparing it with python maybe | ||
Zoffix | time (for i in {1..85}; do perl -e ''; done) runs the same time as perl6 -e '' | ||
:) | |||
python takes .022s | 14:44 | ||
timotimo | how much time is one-core-stresstest on that same box, Zoffix? | ||
1277 seconds, is that what? | 14:45 | ||
Zoffix | `time (for i in {1..9}; do python -c ''; done)` takes same time a `perl6 e ''`... So we're within an order of magnitude. Pretty good! | ||
AlexDaniel- | yeah it's getting closer | ||
a few years ago it was unbearable | 14:46 | ||
Zoffix | timotimo: dunno, I never ran one-core stresstest. 1277 is the number of files in the stresstest, multiplied by the number of miliseconds the HEAD shaves off compared to older perl6 | ||
off start time | |||
timotimo | oh, ok | 14:48 | |
Zoffix | That was for Python 2.7.3 btw | ||
travis-ci | Rakudo build passed. Zoffix Znet 'Make `is default` on routines work earlier in setting | 14:52 | |
travis-ci.org/rakudo/rakudo/builds/286496865 github.com/rakudo/rakudo/compare/a...ae69e2be32 | |||
AlexDaniel- | hmmm. Here it went down from 0.161s to 0.156s | ||
just 3% or so but it adds up | 14:53 | ||
DrForr | fg | 15:00 | |
Zoffix | bash: fg: current: no such job | 15:01 | |
AlexDaniel- | hmm, it's 0.140s now… nevermind | 15:39 | |
I think I had some background crap running | |||
timotimo | hum. my static js doesn't reach the browser for some reason | 15:57 | |
oh, haha | |||
probably "cro trace"'s fault for trying to hexdump 1.2 megs of javasrcipt | |||
buggable | New CPAN upload: TimeUnit-0.1.1.tar.gz by ATROXAPER cpan.metacpan.org/authors/id/A/AT/...1.1.tar.gz | 16:06 | |
timotimo | huh. i start{} some stuff from the mainline of the main file but they only get run after i hit ctrl-c? | 16:09 | |
AlexDaniel- | timotimo: are you sure it's not output buffering? | 16:51 | |
travis-ci | Rakudo build passed. Timo Paulssen 'generalize constraint for append | 16:55 | |
travis-ci.org/rakudo/rakudo/builds/286508647 github.com/rakudo/rakudo/compare/f...4c188d4aa0 | |||
AlexDaniel- | Zoffix: so what if I move al 「testneeded」 tickets to roast issues and we make a roast squashathon next month? | 16:57 | |
does it make sense? | |||
timotimo | imgur.com/CziybHs | 16:59 | |
AlexDaniel-: it was in fact output buffering :) | |||
Zoffix | AlexDaniel-: I'm a bad person to ask this, because I don't like most of the PRs for tests :} | 17:01 | |
buggable: zen TESTING IS AN ART! | |||
buggable | Zoffix, "When an ordinary man attains knowledge, he is a sage; when a sage attains understanding, he is an ordinary man." | ||
Zoffix | ZofBot: what about an ordinary woman? | 17:02 | |
ZofBot | Zoffix, d, and who wants to do them | ||
Zoffix | ouch. Bad robot! | 17:03 | |
AlexDaniel- | hah | ||
so I couldn't sleep last night and was thinking about it | |||
so let's say we start moving RT testneeded tickets to roast github issues | |||
because, you know, squashathon and hacktoberfest and stuff, it's just so much easier this way | 17:04 | ||
problem is, some of these tickets should be resolved by tests in rakudo/t | 17:05 | ||
… so… at what point do we stop banging our heads against the wall and open up rakudo/issues on github? | |||
Zoffix | another problem is some of them ain't even fixed. | ||
Like the Duration.new(Inf) thing. The claimed fix just binds a Failure to a Rat attribute. Seems new behaviour is even worse. | 17:06 | ||
AlexDaniel- | well, great, then I'll move it back to RT :'( | ||
I mean, look, I see no problem having to refer to tickets as RT #666 and GH #666 | 17:07 | ||
so old tickets can stay there, I'm fine with that | |||
Zoffix | and a third problem is you often need to read back like miles of text just to understand what exactly was wrong and how to properly cover it | ||
AlexDaniel- | but it'd be so much easier… | ||
Zoffix | Feels like we need some TESTNEEDED task force and people who like writing tests close those tickets in higher priority, rather than leaving them off as LHF for newcomers to hack on | 17:08 | |
AlexDaniel- | hmmm | ||
Zoffix | I mean as a general thing, not as an argument against putting them for squashton | ||
buggable: tag testneeded | 17:09 | ||
buggable | Zoffix, There are 55 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details | ||
Zoffix puts money where the mouth is and goes to close a couple | |||
AlexDaniel- | my problem right now is that RT makes it a nightmare for me | 17:10 | |
I have to jump through all of these hoops just because it is RT | |||
Zoffix | lizmat doesn't like RT either... Seems to me it's 2 against RT and no one actively objecting :) | 17:11 | |
objecting migration I mean | 17:12 | ||
AlexDaniel- | and my proposed solution is really that simple – just *open* rakudo/issues and see how it goes. We already use “RT” prefix for tickets consistently, I see no problem whatsoever | ||
so I'm not proposing the massive migration just yet | |||
pmurias | Zoffix: what do you want to migrate RT to? | 17:13 | |
Zoffix | pmurias: I have no opinion on this matter. I'm a silent-ish observer :) | 17:14 | |
AlexDaniel-: you got the keys to enable it tho, don't you? | |||
AlexDaniel- | the keys were not given for that purpose | ||
Zoffix | :) | ||
Zoffix & | |||
AlexDaniel- | lizmat: what do you think about it? ↑ | 17:18 | |
do we even have anybody who is against using some other issue tracker in parallel to RT? | 17:19 | ||
and by “anybody” I'm thinking someone who is relatively active. I touch RT every day and I'm so sick of it. If someone never has to interact with it and they're against the change, I couldn't care less. | 17:20 | ||
Geth | roast: 6e6045b783 | (Zoffix Znet)++ | S12-meta/exporthow.t Test SUPERSEDE::class can be exported RT#132236: rt.perl.org/Ticket/Display.html?id=132236 Rakudo fix: github.com/rakudo/rakudo/commit/dd...d83edb3753 |
17:30 | |
synopsebot | RT#132236 [open]: rt.perl.org/Ticket/Display.html?id=132236 [REGRESSION] Meta object construction | ||
Zoffix | Hm. RT#132083 is marked as resolved but R6 still shows it | 17:32 | |
synopsebot | RT#132083 [resolved]: rt.perl.org/Ticket/Display.html?id=132083 [REGRESSION] Broken math (-2147483648 != -2147483648) | ||
Zoffix clicks the "Delete" button | 17:33 | ||
[Coke] | I'm against a full scale migration. I'm fine with opening a second one and letting RT eventually run out of live tickets. | ||
github issues ain't great, but it's not horrible. | 17:34 | ||
gfldex | I strongly dislike RT but I do like to get e-mails when tickets I created are closed. So I'm leaning towards slow transition. | ||
Zoffix | This is one of the examples I meant by how it's hard to know what to test for: rt.perl.org/Ticket/Display.html?id...et-history | 17:35 | |
gfldex | however, I'm all for making work smoother for those who do close those tickes | ||
Zoffix | Especially since precomp is involved and to verify my test covers the bug I have to do gymnastics with committable6 or build the buggy commit. | 17:36 | |
Geth | roast: 807ed8137f | (Zoffix Znet)++ | S32-io/dir.t Test concurrentyl using dir() works RT#129845: rt.perl.org/Ticket/Display.html?id=129845 Rakudo fix: github.com/rakudo/rakudo/commit/231cb3f |
17:47 | |
synopsebot | RT#129845 [open]: rt.perl.org/Ticket/Display.html?id=129845 [TESTNEEDED] [CONC] `.dir` returns corrupted `IO::Path`s under concurrent load | ||
Zoffix | umm | 17:48 | |
it's only ~.3s but I guess since it's just covering a non-dir-related bug... | |||
.in 4hr move this to stresstest github.com/perl6/roast/commit/807ed8137f | |||
yoleaux | Zoffix: I'll remind you at 21:48Z | ||
timotimo | Zoffix: i've tried the "say 'a' a million times" thing with "say 1" instead - in order to not do the braid switching - and it seems to make barely any difference at all in performance | 17:53 | |
Zoffix | timotimo: ah, too bad then. | 17:54 | |
timotimo | ;( | ||
5.37% time spent in or under find_symbol | 17:55 | ||
MATCH is responsible for 9.28% time but it also has 560k entries compared to 60k find_symbol | 17:56 | ||
visit_children from the optimizer also spends about 8.9% of the whole program time | |||
and 4.84% is under !alt | 17:57 | ||
!cursor_pass (which i believe is also responsible for calling action methods) has an inclusive time of 28% | |||
but funnily enough the first entry from Actions.nqp is at 8.17% inclusive (1.3% exclusive) time - it's term:sym<name> | 17:58 | ||
Zoffix | With `echo -n` echoing 10000x of these lines and measuring with `time perl6 -c` I get: `1.say;` = 6.9s; `1;` = 3.5s; `;` = 0m0.730s | 18:02 | |
timotimo | i wonder if we have a "shortcut" for ; separated by whitespace | ||
Zoffix | Ah prolly | 18:03 | |
AlexDaniel- | Zoffix: awwww I remember that ticket | 18:06 | |
maybe I can find the one liner that reproduces the issue… let's see… | 18:07 | ||
timotimo | only say(); over and over gets me to 4.37s (with say 1; it was 6.5s) | ||
Zoffix | AlexDaniel-: what issue? | 18:08 | |
AlexDaniel- | Zoffix: RT #131924. Ah also, I don't think you have to care about precomp when using committable | ||
synopsebot | RT#131924 [new]: rt.perl.org/Ticket/Display.html?id=131924 [REGRESSION] \n\r and string concatenation improvements | ||
Zoffix | Ah | ||
AlexDaniel- | Zoffix: I never did and it always works, I still don't know why | ||
I guess precomp files are different depending on what version you use? No idea actually… | |||
Zoffix | AlexDaniel-: I meant the bug manifests itself only in precomp | 18:09 | |
timotimo | i get 4.06s with code like "sub boop { say 'a' };" and then only "boop;" lines | ||
AlexDaniel- | hmmmmmm oh. | ||
timotimo | also: it's somewhat hilarious to run a file that consists only of "boop;" lines without the declaration | ||
imgur.com/ebkdPZQ | 18:10 | ||
AlexDaniel- | pwahahahah :D | 18:11 | |
masak | next up: compiler error art | ||
Zoffix | timotimo: what did you use to get your timings? | ||
timotimo | "time" | ||
the time that fish gives me | |||
Zoffix | I meant for "MATCH is responsible for 9.28% time" | 18:12 | |
timotimo | oh, that was --profile-compile | ||
Zoffix | Ah. I get 0.26% | ||
oh nm, there's more than one entry | |||
(I'm painfully navigating the callgraph :P) | |||
timotimo | yeah, you should use the routines tab instead and sort by "exclusive" time :) | 18:13 | |
Zoffix | ok :) | 18:14 | |
AlexDaniel- | c: 5363a0742d9e^,5363a0742d9e my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | ||
committable6 | AlexDaniel-, ¦5363a0742d9e^: «Cannot find this revision (did you mean “e73ff23”?)» ¦5363a07: «Cannot find this revision (did you mean “e192924”?)» | ||
AlexDaniel- | :| | ||
that's a moar sha | |||
c: 2017.08~100,HEAD my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | 18:15 | ||
committable6 | AlexDaniel-, ¦2017.08~100,HEAD(a0f29e0): «4» | ||
AlexDaniel- | c: 2017.08~50,HEAD my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | ||
committable6 | AlexDaniel-, ¦2017.08~50,HEAD(a0f29e0): «4» | ||
AlexDaniel- | c: 2017.08~200,HEAD my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | ||
committable6 | AlexDaniel-, ¦2017.08~200,HEAD(a0f29e0): «4» | ||
AlexDaniel- cries | |||
Zoffix | c: releases my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | ||
committable6 | Zoffix, ¦releases (23 commits): «4» | ||
AlexDaniel- | c: b81597bd,HEAD my $a = "a" ~ "\n\r"; my $b = "\n\r"; say ($a ~ $b).chars | ||
committable6 | AlexDaniel-, ¦b81597b,HEAD(a0f29e0): «4» | ||
jnthn | huh, surely that should be 3... | ||
timotimo | is that what you mean when you say \r gets turned into \n? | 18:16 | |
jnthn: did you see it's \n\r rather than \r\n? | |||
jnthn | Yes, but | ||
Zoffix | But when you concat you get \r\n in the middle | ||
timotimo | yeah | ||
AlexDaniel- | a \n \r\n \r | ||
jnthn | Oh! | 18:17 | |
I didn't see the a at the start | |||
Zoffix | ? | ||
Ah :) | |||
jnthn | So yeah, 4 is right | ||
AlexDaniel- | ok that's not the right snippet I think | ||
Zoffix | AlexDaniel-: doesn't the fix say "this only was problematic with precompilation"? | ||
jnthn blames post-dinner carb crash :) | 18:18 | ||
timotimo is pre-dinner-grocery-shopping even :| | |||
AlexDaniel- | Zoffix: of course it does, but I'm blind | ||
Zoffix | What does empty string do in grammar? github.com/rakudo/rakudo/blob/nom/....nqp#L1237 | ||
What does <!!{}> do in gammar? | 18:19 | ||
tyil | confuse people | ||
jnthn | timotimo: Ah, got delivery :) | ||
Lazy Wednesday :) | |||
timotimo | not a bad idea in itself | ||
jnthn | Zoffix: Note that it's a rule | 18:20 | |
Zoffix | Ah. OK. What about <!!{}? | ||
jnthn | Zoffix: Everything before that point is code decls and adverbs, so don't trigger sigspace. The '' is to force it | ||
timotimo | "4 years ago" :D | ||
Zoffix | `<!!{ $*LANG := $*LEAF := $/.clone_braid_from(self); 1 }>` | 18:21 | |
timotimo | indeed, the commit that introduced that line was all about turning tokens into rules | ||
github.com/rakudo/rakudo/commit/37...a783c61499 | |||
jnthn | Oh, wich something in it | ||
So a negative lookahed is not an LTM terminator | |||
While a positive lookahead or other code block is | 18:22 | ||
timotimo | what a nasty trick :) | ||
jnthn | So that's a sneaky way to run some code without it having any implication for LTM | ||
Zoffix | Oh lol :) | ||
jnthn | Yeah, :my $ = ...the code...; is the other trick :P | ||
AlexDaniel- | what about just {} ? | ||
timotimo | i wonder how completely that's going to break a future refactoring that passes LTM results down into recursive rules etc | 18:23 | |
well, { } immediately terminates LTM | |||
jnthn | AlexDaniel-: {} is an LTM terminator | ||
AlexDaniel- | e: run ‘wget’, ‘gist.githubusercontent.com/AlexDan...ader.pm6’, ‘-O’, ‘sandbox/Header.pm6’ | 18:29 | |
evalable6 | --2017-10-11 20:29:15-- gist.githubusercontent.com/AlexDan...5df0e643…» | ||
AlexDaniel-, Full output: gist.github.com/9a7c07b87ff102c5f6...28fd1460d4 | |||
AlexDaniel- | e: run ‘wget’, ‘gist.githubusercontent.com/AlexDan...mple.pm6’, ‘-O’, ‘sandbox/Simple.pm6’ | ||
evalable6 | --2017-10-11 20:29:40-- gist.githubusercontent.com/AlexDan...5df0e643…» | ||
AlexDaniel-, Full output: gist.github.com/3aa1874910e113456c...a97fa738d8 | |||
AlexDaniel- | c: HEAD gist.githubusercontent.com/AlexDan...e/basic.p6 | 18:30 | |
committable6 | AlexDaniel-, Successfully fetched the code from the provided URL. | ||
AlexDaniel-, ¦HEAD(a0f29e0): «Default constructor for 'Simple' only takes named arguments in block <unit> at /tmp/fdlvKoHhpc line 7 «exit code = 1»» | |||
AlexDaniel- | :| | ||
oh the test file is wrong | 18:31 | ||
actually, I really don't know what this whole thing is about anymore… nevermind I guess | |||
c: HEAD use lib ‘sandbox’; use Simple; say buggy-str | 18:32 | ||
committable6 | AlexDaniel-, ¦HEAD(a0f29e0): «: » | ||
AlexDaniel- | c: HEAD use lib ‘sandbox’; use Simple; say buggy-str eq “: \n\r\n\r” | 18:33 | |
committable6 | AlexDaniel-, ¦HEAD(a0f29e0): «04===SORRY!04=== Error while compiling /tmp/59bVh9RBUfUndeclared routine: eq used at line 1 «exit code = 1»» | ||
AlexDaniel- | c: HEAD use lib ‘sandbox’; use Simple; say buggy-str() eq “: \n\r\n\r” | ||
committable6 | AlexDaniel-, ¦HEAD(a0f29e0): «True» | ||
AlexDaniel- | c: b81597bd867a use lib ‘sandbox’; use Simple; say buggy-str() eq “: \n\r\n\r” | ||
committable6 | AlexDaniel-, ¦b81597b: «False» | ||
AlexDaniel- | \o/ \o/ \o/ \o/ | ||
Zoffix: yaayayay!! | |||
c: b81597bd867a use lib ‘sandbox’; use Simple; my $x = buggy-str(); say $x; say $x eq “: \n\r\n\r” | 18:34 | ||
committable6 | AlexDaniel-, ¦b81597b: «: False» | ||
AlexDaniel- | ok that doesn't help | ||
but yeah, that *is* the test case | |||
Zoffix | AlexDaniel-: what's "Simple"? | 18:35 | |
AlexDaniel- | Zoffix: unit class Simple; sub buggy-str is export { “: {‘’}\n\r” ~ “\n\r” } | ||
Zoffix | .oO( fetch all the files from multi-file gist ) |
18:36 | |
AlexDaniel- | you don't need one of the files! | ||
Zoffix | But you got Simple.pm6 on the bot box, dinnitu? | 18:37 | |
AlexDaniel- | Zoffix: I used 「run ‘wget’, …」 above to get it, yeah | ||
Zoffix | AlexDaniel-: is roast/t/spec/packages/Test/Util.pm somewhere on the box? | ||
AlexDaniel- | Zoffix: I've left a comment here: rt.perl.org/Ticket/Display.html?id...xn-1498385 | ||
e: run ‘git’, ‘clone’, ‘github.com/perl6/roast.git’, ‘sandbox/roast’ | 18:39 | ||
Zoffix | e: run «wget raw.githubusercontent.com/perl6/ro...st/Util.pm -O sandbox/Test/Util.pm» | ||
evalable6 | Cloning into 'sandbox/roast'... | ||
(exit code 1) sandbox/Test/Util.pm: No such file or directory The spawned command 'wget' exited unsuccessfully (exit code: 1) in block <unit> at /tmp/Rl5DqFmior line 1 |
|||
AlexDaniel- | will probably not make it in 10 seconds though | ||
Zoffix | e: use lib <sandbox/roast/packages/>; use Test::Util; say make-temp-dir | ||
evalable6 | "/tmp/perl6_roast_4uf4VGBnNR_line1_0_5513874120385511507747188".IO | ||
Zoffix | \o/ | ||
neat | |||
AlexDaniel- | but you have ssh access to it, you can do whatever you want | 18:40 | |
Zoffix: fwiw I think your last wget failed because sandbox/Test directory does not exist | 18:42 | ||
Zoffix | mhm | ||
AlexDaniel- | e: mkdir ‘sandbox/Test’; run «wget raw.githubusercontent.com/perl6/ro...st/Util.pm -O sandbox/Test/Util.pm» | ||
evalable6 | --2017-10-11 20:42:55-- raw.githubusercontent.com/perl6/ro...ages/Tes…» | ||
AlexDaniel-, Full output: gist.github.com/bb2582feeb6b93d9be...94200968fc | |||
AlexDaniel- | yep | 18:43 | |
Geth | roast: 28481cea18 | (Zoffix Znet)++ | S10-packages/precompilation.t No funny business in precomped string strands RT#131924: rt.perl.org/Ticket/Display.html?id=131924 MoarVM fix: github.com/MoarVM/MoarVM/commit/5363a0742 |
18:56 | |
synopsebot | RT#131924 [new]: rt.perl.org/Ticket/Display.html?id=131924 [REGRESSION] \n\r and string concatenation improvements | ||
AlexDaniel- | Zoffix++ | 18:58 | |
Zoffix: any other TESTNEEDED tickets you have problems with? | 18:59 | ||
Zoffix | not yet | 19:02 | |
AlexDaniel- | ugexe++ | 19:07 | |
Zoffix | ? | 19:08 | |
What happened? | |||
Zoffix is news-deprived | |||
Just learned that DDG has !p6mod bang | |||
AlexDaniel- | releasable6: status | ||
releasable6 | AlexDaniel-, Next release in 9 days and ≈23 hours. 1 blocker. Changelog for this release was not started yet | ||
AlexDaniel-, Details: gist.github.com/4ddde42705e2c6114d...2d5b3f7a37 | |||
AlexDaniel- | Zoffix: he submitted that ticket ↑ | 19:09 | |
Zoffix | ah | 19:10 | |
So Failure.self blows up the Failures and I thought it was awesome at the time, but I find myself needing to comment why the hell I'm adding .self into places :) | 19:11 | ||
Well, I guess it's still better than not having that option, but the method doesn't make the code self-describing | 19:12 | ||
ZofBot: .if-this-is-a-Failure-then-blow-it-up-otherwise-gimme-self | 19:13 | ||
ZofBot | Zoffix, anyway, this is not something we can close atm | ||
AlexDaniel- | “method self” | 19:14 | |
“Defined as:” | |||
“method exception(Failure:D: --> Failure:D)” | |||
huh? | |||
docs.perl6.org/type/Failure#method_self | |||
Zoffix | hm... t/spec/S32-io/dir.t flopped.. The new test that tests dir() does not produce crap results under load | 19:15 | |
AlexDaniel-: fixed | |||
AlexDaniel- | was just about to push… :) | ||
Zoffix | too slow | ||
Geth | rakudo/nom: 25c87d0d1c | (Zoffix Znet)++ | src/core/Duration.pm Blow up Failures in Duration.new Otherwise we end up binding it to Rat attribute and it explodes only later, producing really confusing errors |
19:16 | |
travis-ci | Rakudo build passed. Zoffix Znet 'Bump NQP' | 19:18 | |
travis-ci.org/rakudo/rakudo/builds/286545369 github.com/rakudo/rakudo/compare/7...f29e0dfad7 | |||
Zoffix | hm hm hm | 19:19 | |
Zoffix ponders Duration.new with zero-denominator Rats | 19:21 | ||
I guess it's fine to leave it in. We'll just need to improve the div-by-zero error to be more useful so when a zero-denomator Rat explodes somewhere, the error doesn't talk about "using `div`" | 19:22 | ||
m: say [ $_ ≤ $_ or $_ ≥ $_ ] with Duration.new(0/0) | 19:23 | ||
camelia | [False] | ||
Zoffix | :) | ||
m: say Duration.new(0/0) | |||
camelia | Attempt to divide by zero using div in block <unit> at <tmp> line 1 |
||
Zoffix | Yeah, more like attempt to give an unhelpful error | ||
m: my $d = Duration.new(0/0);  say "Computing";my $d2 = $d + 42; say "Done computing"; say $d2 | 19:24 | ||
camelia | Computing Attempt to divide by zero using div in block <unit> at <tmp> line 13 Done computing |
||
Zoffix | m: for $*OUT, $*ERR -> { .open: .path, :w, :0buffer }; my $d = Duration.new(0/0);  say "Computing";my $d2 = $d + 42; say "Done computing"; say $d2 | 19:25 | |
camelia | Too many positionals passed; expected 0 arguments but got 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: for $*OUT, $*ERR { .open: .path, :w, :0buffer }; my $d = Duration.new(0/0);  say "Computing";my $d2 = $d + 42; say "Done computing"; say $d2 | 19:26 | |
camelia | Too many positionals passed; expected 1 argument but got 2 in block <unit> at <tmp> line 1 |
||
Zoffix | Fine, be that way! | ||
m: my $d = Duration.new(0/0);  note "Computing";my $d2 = $d + 42; note "Done computing"; note $d2 | |||
camelia | Computing Done computing Attempt to divide by zero using div in block <unit> at <tmp> line 13 |
||
Zoffix | oh right, .open doesn't take a path, duh | 19:27 | |
pmurias | If I want to add a test to roast for a yet unfixed bug I should fudge it? | 19:29 | |
Zoffix | Yes | ||
Geth | roast: a821b71c7b | (Zoffix Znet)++ | S32-temporal/DateTime-Instant-Duration.t Test Duration.new with iffy values RT#127341: rt.perl.org/Ticket/Display.html?id=127341 - Nums representable as zero-denominator Rat work - Wrong type of arg throws |
19:34 | |
synopsebot | RT#127341 [open]: rt.perl.org/Ticket/Display.html?id=127341 [LTA] error message mentions $!tai ( Duration.new(∞) ) | ||
Geth | rakudo/nom: 5d3ebc09ba | (Zoffix Znet)++ | t/05-messages/01-errors.t Test Duration.new with bad args does not mention guts RT#127341: rt.perl.org/Ticket/Display.html?id=127341 |
19:37 | |
nqp: usev6++ created pull request #373: [jvm] Don't wait for child when program ends |
19:44 | ||
AlexDaniel- | .tell jnthn Can we open rakudo/issues on github? See irclog.perlgeek.de/perl6-dev/2017-...i_15289848 and the start of the discussion on irclog.perlgeek.de/perl6-dev/2017-...i_15289680 | 20:19 | |
yoleaux | AlexDaniel-: I'll pass your message to jnthn. | ||
Geth | nqp/jvm_killprocasync: c5f4c14055 | usev6++ | 2 files [jvm] Support signals 1, 9, 15 for killprocasync Since SIGHUP (1) is the default signal used in Rakudo when calling nqp::killprocasync we have to cheat and pretend we got a SIGTERM. The only other signal supported on the JVM is SIGKILL (used under the hood by destroyForcibly). For all remaining signals we throw an Exception. |
20:21 | |
bartolin | AlexDaniel-: one thought that crossed my mind was that it's somewhat difficult for non-insiders to choose the right place to open an issue: roast, rakudo, nqp, doc, moarvm ... IMHO it would be nice to have one place where different types of new issues are accepted (like RT was before). | 20:35 | |
AlexDaniel-: maybe something like github.com/google/github-issue-mover can be used to move issues to the appropriate repo (if needed). (I haven't tested that issue mover, but maybe we can find a good tool for something like that.) | 20:36 | ||
AlexDaniel-: all in all I'd be fine with using github issues for new bug reports | 20:38 | ||
AlexDaniel- | bartolin: is it really that big of a problem for non-insiders? There are only two choices: rakudo and doc | ||
moar and nqp problems are still rakudo issues and we want to have a ticket for that anyway, I think | 20:39 | ||
bartolin | well, it wasn't meant as an objection. I just thought about it when you talked about making rt tickets to roast issues. | 20:43 | |
AlexDaniel- | right | ||
pmurias | bartolin: the BUILDPLAN changes are causing a test failure on the JVM backend, but I can't figure out why | 20:46 | |
bartolin | pmurias: the failure in t/nqp/060-bigint.t ? | 20:49 | |
bartolin builds a fresh nqp | |||
pmurias | bartolin: yep | 20:55 | |
Geth | roast: 906d96ede1 | (Zoffix Znet)++ | S32-str/Collation.t Add "v" to "v6.d" to avoid potential grep missage |
21:18 | |
Zoffix | # TODO add test with "\c[woman facepalming]", "\c[man facepalming]" | ||
Test for what? Any idea? | |||
bottom of S32-str/Collation.t | |||
Geth | roast: 5091bdd995 | (Zoffix Znet)++ | S32-str/Collation.t Test collation with 'A' vs 'a' RT#132216: rt.perl.org/Ticket/Display.html?id=132216 MoarVM fix: github.com/MoarVM/MoarVM/commit/e9d331d4 |
21:21 | |
synopsebot | RT#132216 [new]: rt.perl.org/Ticket/Display.html?id=132216 [UNI] [TESTNEEDED] 'a' coll 'A" not Same but More with disabled tertiary and primary levels | ||
Geth | roast: 47a21ea017 | (Zoffix Znet)++ | S32-str/Collation.t Remove debug output from TAP |
||
AlexDaniel- | “Now, GitHub will help potential first-time contributors discover issues labeled with 「help wanted」 or 「good first issue」” | 21:22 | |
three word tag… awesome | 21:23 | ||
now what, mark issues with three tags at the same time? /o\ 「LHF」 「Hacktoberfest」 「good first issue」 | 21:24 | ||
teatime | please tell me there is literally one called [THREE WORD TAG] | 21:25 | |
if there is, Zoffix made it. I am sure. | |||
AlexDaniel- doesn't get the joke | |||
Geth | roast: 061b040e2b | (Zoffix Znet)++ | 2 files Move dir() stress test into stresstest Also bump number of iterations |
21:28 | |
rakudo/nom: de564a51b8 | (Zoffix Znet)++ | t/spectest.data Add S32-io/dir-stress.t to list of test files to run |
|||
teatime | AlexDaniel-: Three Word Tag is a Three Word Tag, like TLA | 21:31 | |
(Three Letter Acronyum) | |||
AlexDaniel- | ah | ||
Zoffix | Some of the fudges in S32-io/dir.t look bogus.... "dirname is not yet absolute RT #124786" It's not meant to be. "dir() returns IO::Local RT #124785" we ain't got an IO::Local | ||
synopsebot | RT#124786 [new]: rt.perl.org/Ticket/Display.html?id=124786 [IO] S32-io/dir.t line:18 reason: 'dirname is not yet absolute' | ||
RT#124785 [new]: rt.perl.org/Ticket/Display.html?id=124785 [IO] S32-io/dir.t line:16 reason: 'entries are still IO::Path' | |||
AlexDaniel- | like YABA… | 21:32 | |
Geth | roast: 73cb9e7ace | (Zoffix Znet)++ | S32-io/dir.t Remove/Unfudge test for IO::Local We don't have this type no more. Closes Rt#124785: rt.perl.org/Ticket/Display.html?id=124785 |
21:34 | |
Zoffix | m: dir.head.say | 21:35 | |
camelia | ".cpanm".IO | ||
Zoffix | ... the test looks for $*CWD :S | ||
Ah, .dirname ok | 21:36 | ||
Geth | roast: 66fb7a1a3b | (Zoffix Znet)++ | S32-io/dir.t Rewrite bogus-ish dir.head.dirname test The routine returns IO::Path objects which are composed of $!CWD and $!path. These objects can be made cheaper by setting $!CWD to the dir being dir()ed and $!path to the found stuff--without having to resolve anything. For this reason, it doesn't make much sense to require .dirname to be set to absolute paths. Change the test to instead test that the generated IO::Paths actually point to proper filesystem entities. |
21:47 | |
bartolin | pmurias: hmm, I don't think the nqp failure was caused by the BUILDPLAN changes. I reverted the commit from lizmat++ and still got that error. but if I change this line with the next one, all tests are clean: github.com/perl6/nqp/blob/e9bca388...e.java#L10 | 21:48 | |
yoleaux | Zoffix: move this to stresstest github.com/perl6/roast/commit/807ed8137f | ||
Zoffix | yoleaux: just did it bruh | 21:49 | |
oh haha | 21:50 | ||
m: IO::Local.new | |||
camelia | IO::Local 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 |
||
bartolin | pmurias: I don't understand why that makes a difference, but when I printed 'field' around here I got 'private static final BigInteger org.perl6.nqp.sixmodel.reprs.P6bigintInstance.SMALLEST_UNBOXABLE': github.com/perl6/nqp/blob/e9bca388...java#L2778 | 21:58 | |
Zoffix | ZOFLOP: t/spec/S17-supply/supplier-preserving.t | 22:07 | |
Seems only one test in the file " No races in Supplier::Preserving".. and the flop suggests there might be | |||
Oh | |||
Non-zero wait status: 11 | |||
Parse errors: Bad plan. You planned 1 tests but ran 0. | |||
So it was a SEGV. No idea why | |||
jnthn | :S | 22:08 | |
yoleaux | 20:19Z <AlexDaniel-> jnthn: Can we open rakudo/issues on github? See irclog.perlgeek.de/perl6-dev/2017-...i_15289848 and the start of the discussion on irclog.perlgeek.de/perl6-dev/2017-...i_15289680 | ||
Geth | rakudo/nom: 50a674346b | (Zoffix Znet)++ | src/RESTRICTED.setting Remove trailing whitespace |
||
rakudo/nom: 4b8a0ef651 | (Zoffix Znet)++ | src/RESTRICTED.setting Remove classes we no longer have in core |
|||
jnthn | Zoffix: I fixed a couple of SEGV sources yesterday; dunno if the revision files were bumped since | 22:09 | |
Zoffix | Yeah, they were. | ||
jnthn | Well, guess we know 2 bugs it isn't, at least... | 22:10 | |
Zoffix | :) | ||
FWIW, reproed with `while t/fudgeandrun t/spec/S17-supply/supplier-preserving.t; do true; done` on about 10th run | 22:11 | ||
No idea how to debug SEGVs; maybe dogbert2 will be able to offer his expertise | |||
MasterDuke | jnthn: any idea what could cause multis to always go through find_best_dispatchee? | ||
jnthn | MasterDuke: The result not being cacheable | ||
MasterDuke | and why might that be the case? too many arguments to the method? | 22:12 | |
jnthn | That can be because of a where clause, signature unpack, or because it was called with flattenned args | ||
May be other reasons but I can't think of them off hand | 22:13 | ||
Pretty sure the "too many arguments" thing can't happen any more | |||
Zoffix | Filed SEGV as rt.perl.org/Ticket/Display.html?id=132273 | ||
jnthn | (The old multi cache had a fixed limit, I think I elimianted it) | ||
timotimo | i wonder if reverting my recent commits helps that bug any? | 22:14 | |
Zoffix | I'm on HEAD | ||
MasterDuke | hm, this is INTERPOLATE after i broke it out into `proto (|), (Iterable:D \var, ...), (Callable:D \var, ...), (Mu:D \var, ...), (Mu:U \var, ...)` | ||
Zoffix | Oh reverting.. | ||
No idea | |||
MasterDuke | and i don't believe it's ever called with flattened args | ||
jnthn | MasterDuke: Hmm, then not immediately sure, but I'd start by looking at if add_to_cache is being called for that multi, and if so, would look in MVMMultiCache.c or whatever it's called | 22:16 | |
MasterDuke | will do, thanks | 22:17 | |
timotimo: i've seen that test flop before | |||
add_to_cache is being called the exact same number of times as find_best_dispatchee | 22:18 | ||
now off to see if there's anything interesting in MVMMultiCache.c... | 22:19 | ||
Geth | roast: 30e9d1624e | (Zoffix Znet)++ | fudgeandrun Propagate exit code |
22:27 | |
Zoffix | :| github changed again | 22:30 | |
ZofBot: I don't like things that are different! | |||
ZofBot | Zoffix, com/rakudo/rakudo/blob/4de858a555fe0f6abfa813f0ff29e32edc159c2f/src/Perl6/ModuleLoader | ||
Zoffix | Though this reminds how much the black bar annoyed me when it changed, but now I don't even pay attention to it | ||
buggable: zen | |||
buggable | Zoffix, "A follower of the way has neither form nor shape, neither root nor trunk; nor dwelling place; like a fish leaping in the water." | ||
MasterDuke | hm, not sure how to interpret the output of turning MVM_MULTICACHE_DEBUG on | 22:31 | |
jnthn | MasterDuke: That's likely not very interesting (it shows what's in the cache iirc, while I think what you're after is the resasons things don't get inserted) | 22:32 | |
MasterDuke | ah, so likely have to stick some fprintfs in MVM_multi_cache_add? | 22:33 | |
jnthn | Probably, yeah | 22:38 | |
MasterDuke | lots of `if (!cs->is_interned) return cache_obj;` happened. not the exact number of add_to_cache/find_best_dispatchee call though | 22:42 | |
timotimo | then check the callsite_try_intern code | 22:44 | |
it's got the logic for what is allowed to get inlined | |||
er, interned | |||
MasterDuke | a bunch of has_flattening and some num_flags >= MVM_INTERN_ARITY_LIMIT | 22:48 | |
not yet sure how to match them up to the INTERPOLATE calls | 22:50 | ||
afk for a bit, but thanks, making progress | |||
jnthn | Sleep time for me; 'night o/ | 22:53 | |
Zoffix | \o | 22:54 | |
timotimo | gnite jnthn :) | ||
i'll also go rest soon | |||
MasterDuke | ah, think it's arity | 23:12 | |
timotimo | hmpf, both JSON::Tiny and JSON::Fast generate invalid json when enum values are involved | 23:17 | |
c: use JSON::Fast; enum Blop <Moo Meep Squee>; say to-json([Moo, Meep, Squee]).perl; | |||
committable6 | timotimo, ¦use: «Cannot find this revision (did you mean “all”?)» | ||
timotimo | c: HEAD use JSON::Fast; enum Blop <Moo Meep Squee>; say to-json([Moo, Meep, Squee]).perl; | 23:18 | |
committable6 | timotimo, gist.github.com/2d51be550475556f1f...a12b20cf7e | ||
timotimo | oh, not available, eh? | ||
anyway, the output is just [ Moo, Meep, Squee ] i.e. missing quotation marks | |||
MasterDuke | i can reproduce it manually. `multi method f(Mu:D \v, int $i, int $m, int $monkey, int $s, int $a)` is ok, but add one more parameter and no caching | 23:19 | |
timotimo | oh? that's a somewhat low limit, isn't it? | ||
MasterDuke | src/core/callsite.h:106:#define MVM_INTERN_ARITY_LIMIT 8 | ||
timotimo | yeah, and with it being a method it counts the $self, too | 23:20 | |
MasterDuke | hm, comment right above it: /* Maximum arity + 1 that we'll intern callsites by. */ | ||
AlexDaniel- | c: HEAD use lib ‘data/all-modules/cpan/TIMOTIMO/JSON-Fast’; use JSON::Fast; enum Blop <Moo Meep Squee>; say to-json([Moo, Meep, Squee]).perl; | 23:22 | |
committable6 | AlexDaniel-, ¦HEAD(4b8a0ef): «"[\n 0,\n 1,\n 2\n]"» | ||
AlexDaniel- | timotimo: ↑ | ||
MasterDuke | ugh, can't just increase MVM_INTERN_ARITY_LIMIT, that causes segfaults | 23:26 | |
timotimo | oh? | 23:31 | |
i can't get it to output them as integer values | 23:34 | ||
something to figure out tomorrow. gnite! | |||
Zoffix | . | 23:49 | |
yoleaux | 23:07Z <HoboWithAShotgun> Zoffix: i saw your video ( www.youtube.com/watch?v=paa3niF72Nw ), that was very enjoyable. why not make a few more? | ||
Zoffix | haha: twitter.com/bcrypt/status/918222753500508160 | 23:52 | |
rakudo (nom)$ git log --all --pretty='%H %ae' | sort -k1,1 | head -1 | |||
00006b16dd961d20bc20e1ac1d32df6d44320e05 [email@hidden.address] | 23:53 | ||
:) | |||
cosimo for roast and smsl for docs :) |