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. |
|||
01:00
tyil left
|
|||
Geth | rakudo: b9ad5fd983 | (Vadim Belman)++ | t/02-rakudo/15-gh_1202.t Added test for async bug rakudo/rakudo#1202 |
01:19 | |
rakudo: 7f69ef1d22 | (Vadim Belman)++ | t/02-rakudo/15-gh_1202.t Followup to corrections from ugexe. |
|||
synopsebot | RAKUDO#1202 [open]: github.com/rakudo/rakudo/issues/1202 [SEGV][severe][tests needed] Async qqx sometimes hangs or dies ( await (^5).map({start { say qqx{… …} } }) ) | ||
rakudo: c0c99e77c7 | (Vadim Belman)++ (committed using GitHub Web editor) | t/02-rakudo/15-gh_1202.t Merge pull request #2966 from vrurg/rakudo_1202 Added test for async bug |
|||
01:52
tyilanmenyn joined
02:02
Kaiepi left
02:16
tyilanmenyn is now known as tyil
02:39
squashable6 left
02:42
squashable6 joined
03:09
epony joined
03:10
epony left
03:11
epony joined
03:20
Kaiepi joined
05:41
squashable6 left
05:47
squashable6 joined,
ChanServ sets mode: +v squashable6
05:51
squashable6 left
05:55
squashable6 joined
|
|||
lizmat | Files=1262, Tests=108018, 205 wallclock secs (26.74 usr 7.78 sys + 2863.29 cusr 283.35 csys = 3181.16 CPU) | 08:16 | |
10:50
camelia left
12:35
ggoebel joined
12:59
squashable6 left
13:05
squashable6 joined
|
|||
lizmat | status of from-json re-imagination: | 13:16 | |
1. passes all but a few pesky encoding tests... (12 in total) | 13:17 | ||
2. parses the 5MB example JSON in 2.3 seconds instead of 3 | |||
3. with significantly lower memory usage | 13:18 | ||
4. only hot block not JITted / inlined is the block with nqp::strfromcodes | |||
taking a break now to look later at the pesky failing tests | 13:19 | ||
Kaiepi | good work | 13:20 | |
lizmat | inlining nqp::strfromcodes could probably take it below 2 seconds | ||
(it's now taking 40% exclusive time) | |||
oh, and the failing tests are for unicode encoding errors not seen as errors | 13:21 | ||
jnthn | Don't see why it'd not be able to inline strfromcodes, but can easily imagine it missing JIT | 13:34 | |
Though I don't expet that's ave much aside from letting the surrounding things be JITted | |||
Since that op is backed by C code I guess | 13:35 | ||
May be a way to speed it up | |||
13:57
Kaiepi left
|
|||
jnthn | m: say 'aaa' ~~ /(.)+/ | 14:01 | |
evalable6 | 「aaa」 0 => 「a」 0 => 「a」 0 => 「a」 |
||
jnthn | m: nqp::push(nqp::create(Array), 'x') | 14:02 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/MSdmB4KdKk Could not find nqp::create, did you forget 'use nqp;' ? at /tmp/MSdmB4KdKk:1 ------> 03nqp::push(nqp::create(Array)08⏏04, 'x') |
||
jnthn | m: use nqp; nqp::push(nqp::create(Array), 'x') | ||
evalable6 | (exit code 1) This type (Array) does not support positional operations in block <unit> at /tmp/vBw56o18tz line 1 |
||
jnthn | heh, github.com/rakudo/rakudo/blob/mast...ch.pm6#L79 would be busted were it reachable | 14:03 | |
But the final part of the conditon at github.com/rakudo/rakudo/blob/mast...ch.pm6#L64 means it is not | 14:04 | ||
I'm guessing it was meant to be negated | |||
Debating whether to fix that or just toss the special case | |||
14:07
Kaiepi joined
|
|||
dogbert17 | jnthn: will the stuff you're tinkering with improve parse times? | 15:02 | |
jnthn | dogbert17: Yes. | 16:33 | |
Or at least, my initial measurements suggest it does; my VM on my home machine is quite noisy on timings, alas. | |||
The NQP part will help Rakudo's compilation time, and the Rakudo part should help regexes and grammars. | |||
Not tinkered much more today, though...expect the travel next week will be tiring, so should rest up well. | 16:37 | ||
16:43
ggoebel left
|
|||
Kaiepi | i looked through some of the js vm's code but my node's too rusty to do the big refactors i want to do | 17:03 | |
mainly i really, really don't like how STable.ObjConstructor is handled | 17:04 | ||
i'm thinking there's a way to write it so it doesn't use Proxy since Proxy has terrible performance and isn't intended to be object prototypes anyways | 17:05 | ||
something like an ES5 constructor or Object.create would probably work better | 17:06 | ||
actually re-reading it i don't think it's possible not to use Proxy in its current implementation | 17:20 | ||
global-context.js could certainly be refactored to just export one instance of a GlobalContext class though | 17:21 | ||
vrurg | jnthn: if you have 5 mins, just your "go/no go" for github.com/perl6/problem-solving/issues/3 | 18:05 | |
18:22
dogbert11 joined
18:23
vrurg left,
vrurg joined,
pyrimidi_ joined,
dogbert17 left,
pyrimidine left
|
|||
Geth | rakudo: 847a2f0d2b | (Kaz Wesley)++ (committed by Nick Logan) | t/04-nativecall/23-incomplete-types.t add tests for #2965 (#2967) This will segfault until it's built on MoarVM/MoarVM#1116 |
18:26 | |
synopsebot | RAKUDO#2965 [closed]: github.com/rakudo/rakudo/issues/2965 I can't HAS stub? | ||
ugexe | t\04-nativecall\04-pointers.t | 18:27 | |
failed on windows | |||
ci.appveyor.com/project/rakudo/rak...omsr#L4845 | |||
ci.appveyor.com/project/rakudo/rak...true#L2773 | 18:30 | ||
i got no ideas for this one | 18:31 | ||
Kaiepi | according to an ancient japanese legend an out of date version of nqp-configure is always lurking out of the corner of your eye, waiting to strike when you least expect it | 18:56 | |
ugexe | t\04-nativecall\04-pointers.t works for me on 2019.03.1, but fails every single time i run it on blead | 18:57 | |
again on windows | 18:58 | ||
timotimo | is that related to the PR that just got merged, i wonder? github.com/MoarVM/MoarVM/pull/1116 | 18:59 | |
ugexe | maybe, but i dont see how | ||
timotimo | yeah, that PR makes it throw exceptions; what does the failure look like? | ||
ugexe | no exceptions. looks like incorrect sizes | 19:01 | |
timotimo | oh? like nativesizeof returns the wrong thing? | 19:02 | |
ugexe | ci.appveyor.com/project/rakudo/rak...true#L2773 | ||
sure seems like rebuilding moar on windows is broken too.it just gets stuck at "Generating code" | 19:05 | ||
i think it might be time we require green builds to put stuff into master | 19:06 | ||
the first windows issue made things red, and then 3 other windows regressions snuck in | 19:07 | ||
19:08
AlexDaniel joined
|
|||
dogbert11 | there are also lots of spectext fails on (Linux) 32 bit | 19:08 | |
*spectest | |||
ugexe | dogbert11: did you try on master? the mp_digit thing should be fixed | 19:10 | |
dogbert11 | ugexe: yes I tried master | 19:11 | |
switching bigintops.c to the version released with 2019.03.1 makes all errors go away | 19:13 | ||
ugexe | i wonder if the spectest can be run fast enough to finish on a CI run | ||
19:13
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Kaz Wesley 'add tests for #2965 (#2967) | 19:13 | |
travis-ci.org/rakudo/rakudo/builds/543453547 github.com/rakudo/rakudo/compare/c...7a2f0d2b5e | |||
19:13
travis-ci left
|
|||
ugexe | could be on a once-a-day cron or something | 19:13 | |
looks like the new guy is off the hook for his two PRs at least | 19:15 | ||
timotimo | appveyor gives us 60 minutes of life time for each vm | 19:18 | |
Kaiepi | js backend rakudo builds are broken but i'm working on a fix for it | 19:43 | |
i think it's just a config error | |||
i'll find out when all three backends finish building | 19:44 | ||
b2gills | That last commit shouldn't have been applied until after a MoarVM and NQP bump. | 20:00 | |
ugexe | well the current windows failure goes back at least to last month | 20:01 | |
b2gills | It broke my build script | 20:02 | |
It also breaks --gen-moar | |||
ugexe | anything that builds rakudo master without building moar master is already broke | 20:03 | |
if you are building HEAD then you should be using --gen-moar=HEAD. sure you dont*have* to but then situations like this shouldnt be surprising | |||
b2gills | My build script uses NQP_REVISION to checkout NQP, and MOAR_REVISION to checkout MoarVM. It works very reliably. | 20:04 | |
ugexe | by sheer coincidence it has worked reliably based on the times you happened to run it | ||
b2gills | It works reliably because most commits that require a NQP or MoarVM bump are applied after said bump. | 20:05 | |
ugexe | im not sure you can quantify that "most" because my instinct tells me its not | 20:06 | |
b2gills | I purposely rebuild on commits that may be broken because of issues like that. | 20:07 | |
ugexe | CI will already catch those, as well as show that --gen-moar=HEAD indeed works | ||
b2gills | Which it just did catch. | 20:08 | |
ugexe | ...yes | 20:09 | |
it is almost like we wanted to see if --gen-moar=HEAD was fixed | 20:10 | ||
but really we wanted to break everyones build scripts on blead | |||
b2gills | I purposely made it so that it worked like --gen-moar, even though that is more work | 20:11 | |
ugexe | im done trying to find this windows regression so bump away | 20:13 | |
20:29
|Tux| left
|
|||
Geth | nqp: f2b319db94 | (Nick Logan)++ (committed using GitHub Web editor) | tools/templates/MOAR_REVISION Bump MoarVM |
20:35 | |
rakudo: 80a5a41a06 | (Nick Logan)++ (committed using GitHub Web editor) | tools/templates/NQP_REVISION Bump NQP |
20:36 | ||
rakudo: b8669fe6f5 | (Nick Logan)++ (committed using GitHub Web editor) | tools/templates/NQP_REVISION Bump NQP |
20:37 | ||
lizmat | hmmm... after this upgrade, I'm getting MVMArray: slice index out of bound :-( | 20:54 | |
ugexe | oops. i didnt spectest, i had tunnel vision re: CI going green | 20:56 | |
lizmat | in code that worked before the upgrade | ||
lizmat also runs spectest | 20:57 | ||
showing the values before the nqp::slice, it shows valid values :-( | 20:59 | ||
MasterDuke | lizmat: what's the code? | 21:00 | |
lizmat | start_pos = 1787140, end_pos = 1787152, elems = 5173603 | 21:01 | |
both values are within the 5M buffer, and start_pos is before the end_pos | |||
yet it decides to MVMArray: Slice index out of bounds | |||
ugexe: spectest is clean for me | 21:02 | ||
problem goes away with MVM_JIT_DISABLE=1 | 21:05 | ||
and returns with MVM_JIT_EXPR_DISABLE=1 | 21:06 | ||
since the actual code does nqp;:strfromcodes(nqp::slice(...)) | 21:07 | ||
and this moar has a JITted nqp::strfromcodes | |||
ugexe | i was just gonna say... try reverting 6053919 heh | 21:08 | |
lizmat | I have to assume that the problem is really with nqp::strfromcodes | ||
MasterDuke | lizmat: got a golf to share? | 21:12 | |
lizmat | alas, not really... it happens when running the new "from-json" on a 5MB unpretty JSON file | ||
ugexe | hmm. i ran my jit change on the ecosystem json 50 times as a benchmark | 21:13 | |
lizmat | the JSON::Fast test-suite passes (apart from a known issue wrt to wrongly encoded \u sequences | ||
ugexe | ah but it wouldnt have *your* new code | ||
MasterDuke | lizmat: hm, well mind sharing the json file? i can try adding some context to the 'MVMArray: Slice index out of bounds' error message to see if it helps | 21:14 | |
lizmat | MasterDuke: sorry, cannot share that with you :-( | 21:15 | |
MasterDuke | k, np | ||
21:16
|Tux| joined
|
|||
lizmat | hmmm... I seem to be able to work around it by putting the nqp::slice into a separate sub, and call that inside the nqp::strfromcodes | 21:20 | |
21:23
squashable6 left
21:24
squashable6 joined
|
|||
lizmat | also: --profile appears to be borked | 21:26 | |
ugexe | lizmat: maybe try reverting b55658b ? thats a different jit commit (so the op should still get jitted) | 21:27 | |
lizmat | the first 4 routines in the profile, all have exactly 25%, and the rest all 0% | ||
(exclusive time) | |||
21:27
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Nick Logan 'Bump NQP' | 21:27 | |
travis-ci.org/rakudo/rakudo/builds/543481558 github.com/rakudo/rakudo/compare/8...669fe6f581 | |||
21:27
travis-ci left
|
|||
lizmat | with the first 4 entries having more exclusive time than inclusive time | 21:28 | |
MasterDuke | lizmat: hm, that's likely a result of my recent change | ||
lizmat | MasterDuke: gist.github.com/lizmat/2ed4732f8ac...71a130b78c | 21:32 | |
2 profiles: the first ok, the second borked, basically the same code run | |||
MasterDuke | hm, i put in a check for that kind of overflow, but it wasn't *completely* rigorous. maybe that does in fact need to be beefed up... | 21:38 | |
lizmat | m: use nqp; my uint32 @a = 65..127; nqp::strfromcodes(nqp::slice(@a,10,13)) for ^100000 | 21:40 | |
evalable6 | (exit code 1) MVMArray: Slice index out of bounds in block <unit> at /tmp/R0WWal2rkf line 1 |
||
lizmat | ugexe: ^^^ golf | 21:41 | |
jnthn | D'oh, managed to pour boiling water over my fingers while cooking and it hurt too much to type for a few hours :/ | 21:49 | |
ugexe | lizmat: it must be my commit that breaks it. but there is nothing wrong with my commit either as far as i can tell | 21:51 | |
lizmat | yeah, so maybe it's tickling an underlying bug in the JIT | 21:52 | |
the fact that it happens at 57251, but not at 57250 iterations, feels like an inlining / OSR issue | 21:53 | ||
ugexe | locally for me it always happens between 3000-4000, otherwise it finishes | ||
use nqp; my uint32 @a = 65..127; say($++) && nqp::strfromcodes(nqp::slice(@a,10,13)) for ^100000 # although this say probably slows it down alot | 21:54 | ||
lizmat | yeah, for ma as well, around 3800 | 21:58 | |
lizmat calls it a day | 22:15 | ||
Geth | nqp/match-speedup: 335434dbb4 | (Jonathan Worthington)++ | src/core/NQPRoutine.nqp Bring back the onlyname optimization |
22:16 | |
nqp/match-speedup: 63d4b74efc | (Jonathan Worthington)++ | src/core/NQPRoutine.nqp Use flags/bitmask to cheapen/avoid some work Now cheaper to see if we have any captures at all, and if so to find out if any of them are quantified, which saves effort when none of them are. |
22:35 | ||
MasterDuke | lizmat: do you happen to have some code you can share to generate the broken profile? | 23:19 | |
jnthn | Urgh, `make` will now go and try to helpfully rebuild NQP for me? :/ | 23:34 | |
How do I get my "I worked on this thing for 10+ years and know what I'm doing" behavior back? | |||
I can kinda live with it automatically doing that as a default at configure time | 23:35 | ||
Well, maybe, but I think I still want an option to just complain about the NQP being out of date | 23:37 | ||
Since otherwise it goes and leaves my development NQP repo with a detached head | |||
Geth | rakudo/match-speedup: 4 commits pushed by (Jonathan Worthington)++ | 23:38 | |
jnthn | sleep & | 23:39 | |
evalable6 | Use of uninitialized value of type Callable in numeric context in block <unit> at /tmp/9… |
||
jnthn, Full output: gist.github.com/cd7a4c31f6c3bf8fbd...6571f2555b |