github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:17
Kaiepi left,
Kaiepi joined,
vrurg joined
00:22
vrurg left
00:54
vrurg joined,
vrurg left,
vrurg joined
02:23
bisectable6 left,
statisfiable6 left,
greppable6 left,
tellable6 left,
benchable6 left,
unicodable6 left,
linkable6 left,
evalable6 left,
releasable6 left,
quotable6 left,
coverable6 left,
notable6 left,
sourceable6 left,
bloatable6 left,
shareable6 left,
nativecallable6 left,
committable6 left,
squashable6 left
02:24
greppable6 joined,
linkable6 joined,
quotable6 joined,
benchable6 joined,
squashable6 joined,
sourceable6 joined
02:25
committable6 joined,
evalable6 joined,
bisectable6 joined,
notable6 joined,
statisfiable6 joined,
unicodable6 joined
02:26
shareable6 joined,
coverable6 joined,
tellable6 joined,
bloatable6 joined,
releasable6 joined,
nativecallable6 joined
03:50
sxmx left
06:52
domidumont joined
06:57
patrickb joined,
sxmx joined
|
|||
Geth | MoarVM/master: 4 commits pushed by (Salvador Ortiz)++, MasterDuke17++ | 07:43 | |
MoarVM: 726447d71a | (Salvador Ortiz)++ | src/6model/reprs/VMArray.c VMArray: Check slot type for read_buf and write_buf Those operations are only valid when the array_type is of some integer kind. Should closes #1310 |
|||
MoarVM: c49482208e | MasterDuke17++ (committed using GitHub Web editor) | src/6model/reprs/VMArray.c Merge pull request #1440 from salortiz/array-check-slot VMArray: Check slot type for read_buf and write_buf |
|||
07:43
linkable6 left
07:45
linkable6 joined
07:48
zakharyas joined
|
|||
Geth | MoarVM: 0fa3555648 | (Stefan Seifert)++ | src/moar.c Fix possible segfault on exit when using spesh log A normal exit without --full-cleanup did not stop the spesh thread. So spesh may actually still be active and try to print things to the spesh log when MVM_vm_exit closes the spesh log file handle. This would lead to a segfault in vfprintf. Fix by stoping and joining the spesh thread even in MVM_vm_exit if spesh logging is active. Fixes GH #1434 |
08:40 | |
MoarVM: b77d328328 | niner++ (committed using GitHub Web editor) | src/moar.c Merge pull request #1458 from MoarVM/fix_segfault_on_exit_with_spesh_log Fix possible segfault on exit when using spesh log |
|||
08:40
linkable6 left
08:43
linkable6 joined
08:56
frost-lab joined
|
|||
lizmat feels a bump is in the air | 09:30 | ||
anybody against it? | 09:31 | ||
MasterDuke | how about i merge the decont PR first? | 09:33 | |
lizmat | sure! | 09:34 | |
Geth | MoarVM: 9b94bab9eb | (Daniel Green)++ | src/core/interp.c Always log the type coming out of an nqp::decont Before, it would only log if a decont was actually performed. That was usually fine because most of the time there always was or wasn't a container. If there was a container we logged the type, and if there wasn't we usually could throw out the decont op altogether. However, in the cases where there *was* a mix, the stats could be misleading. Given ... (5 more lines) |
09:38 | |
MoarVM: ba124ad128 | MasterDuke17++ (committed using GitHub Web editor) | src/core/interp.c Merge pull request #1438 from MasterDuke17/always_log_type_in_decont Always log the type coming out of an nqp::decont |
|||
lizmat | are we ready to do the bump? | ||
lizmat cues disco music | |||
MasterDuke | should be | ||
lizmat | ok, working on it | 09:40 | |
bumped, including the NQP PR merge | 09:58 | ||
lizmat switches back to listening to XTC | |||
MasterDuke would que up some adam ant if i had any, just to be competative | 10:03 | ||
lizmat | .oO( Antmusic ) |
10:10 | |
MasterDuke | the only thing i know about xtc and adam ant is from the TMBG song | 10:16 | |
jnthn is currently listening to Turbulence (prog metal from Lebanon), which is pretty nice :) | 10:18 | ||
tellable6 | hey jnthn, you have a message: gist.github.com/78c15c8e6a4f695168...2778fda397 | ||
jnthn | lol, "really soon" :P | 10:19 | |
I can't even remember what the multi refactor in question was | |||
I am pretty sure there will be another multi refactor soon anyway though | |||
Because new-disp | |||
MasterDuke | i'm on a minor kick of looking at the various XXXs in moarvm/nqp/rakudo to see if they're still relevant and can be fixed, or just removed | 10:21 | |
any thoughts about that one? | 10:22 | ||
it's used here github.com/Raku/nqp/blame/master/s...s.nqp#L903 | |||
jnthn | I honestly can't remember :/ | 10:24 | |
lizmat | jnthn: you qualify to be Dutch PM :-) | 10:25 | |
jnthn | I'm guessing I was planning to change something about multi methods to look more like how Rakudo does it | ||
lizmat: Better than qualifying to be Czech health minister; those seem to have a half life of six months... | 10:26 | ||
lizmat | ah, yes, the Dutch PM is now 3rd longest sitting PM | ||
jnthn | Maybe sitting around for so long is bad for memory? | 10:28 | |
lizmat | "Functie elders" has been in the news a lot in NL, and the source of many jokes / memes | 10:29 | |
basically "Job elsewhere" | 10:30 | ||
during preliminary negotiations for a new government, this leaked out as a talking point about the most active / prominent member of parliament | 10:31 | ||
generally interpreted as "how do we defuse this guy" | |||
our PM claimed to have "no active memory" of that discussion point | 10:32 | ||
it leaked because of a picture of a pile of papers with that on top :-) | |||
jnthn | :D | ||
dogbert17 | there's a test failure in t/spec/S15-unicode-information/unimatch-general.t if run with MVM_SPESH_BLOCKING=1 | 10:49 | |
not ok 2 - ''.unimatch yields Nil | 10:50 | ||
correction, it can fail even without MVM_SPESH_BLOCKING=1 | 10:51 | ||
lizmat | doesn't for me? | 10:52 | |
dogbert17 | hmm, have you bumped your own machine? | 10:53 | |
lizmat | that's where I pushed the bumps from :-) | ||
dogbert17 | odd | ||
lizmat | but /me is running on MacOS | ||
MasterDuke | yeah, i can repro | 10:54 | |
lizmat | in any case, it fails for me reliably with MVM_SPESH_BLOCKING=1 | ||
dogbert17 | which I guess it shouldn't | ||
to be fair, I have a few gc related setting changes on my system, that's might be why it fails even without the blocking flag set | 10:56 | ||
lizmat | interesting bit in that piece of code is, it returning Nil with a --> Bool:D signature | ||
and the error value being False | |||
m: dd Nil.Bool | 10:57 | ||
camelia | Bool::False | ||
lizmat | m: sub a(--> Bool:D) { Nil }; dd a | ||
camelia | Nil | ||
lizmat | perhaps that's a pointer ? | ||
10:59
zakharyas left
|
|||
MasterDuke | the test that fails works fine from the command line `MVM_SPESH_BLOCKING=1 ./rakudo-m -I lib/ -e 'use Test; is unimatch("", "Nd"), Nil; is "".unimatch("Nd"), Nil'` | 11:02 | |
dogbert17 | Interesting things happen if the last test becomes: is "".unimatch("Nd"), Nil for ^300 | 11:07 | |
lizmat | dogbert17: .unimatch on an Int cannot return Nil | 11:11 | |
nine | MasterDuke: run that code twice in the same process | ||
and with MVM_SPESH_NODELAY=1 | |||
lizmat | nine dogbert17 Int.unimatch(..) can not return Nil | 11:13 | |
Str.unimatch(...) returns Nil only if the string is empty, so there's no codepoint to work on | |||
11:29
MasterDuke left,
MasterDuke joined
|
|||
MasterDuke | dogbert17: ha, always starts to succeed after 178 fails | 11:31 | |
lizmat | so what is the test being done ? | 11:33 | |
MasterDuke | MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 ./rakudo-m -I lib/ -e 'use Test; is "".unimatch("Nd"), Nil for ^200' | 11:38 | |
lizmat | doesn't start succeeding for me | 11:40 | |
starts failing for me at test #58 | |||
12:08
frost-lab left
|
|||
Geth | MoarVM: MasterDuke17++ created pull request #1464: Make smrt_intify specializable like other smrt_* ops |
12:19 | |
lizmat | MasterDuke: is that all that was needed ? | 12:20 | |
MasterDuke | oh, completely unrelated | ||
lizmat | yeah, I realize that, but just setting a few flags seems like: not enough ? | 12:21 | |
MasterDuke | just going by github.com/MasterDuke17/MoarVM/blo...st#L55-L57 | 12:23 | |
dogbert17 | lizmat: I merely wanted to show that the test behaviour changed depending on the amount of iterations | 12:40 | |
lizmat | ah, ok :-) | 12:41 | |
MasterDuke | all iterations succeed with MVM_SPESH_DISABLE=1, but fail with any of the specific disables (OSR, PEA, INLINE) | 12:43 | |
dogbert17 | MasterDuke: have you tried turning off the jit? | 12:45 | |
MasterDuke | all succeed | 12:46 | |
could try jit-bisecting it | 12:47 | ||
13:00
zakharyas joined
|
|||
MasterDuke | huh, can't seem to get jit-bisect to work with this | 14:13 | |
14:27
patrickb left
17:17
domidumont left
|
|||
dogbert17 | MasterDuke: I tried spesh-bisect, it shows som numbers and stops at MVM_SPESH_LIMIT=49. What do I do with that information? | 17:26 | |
17:40
sena_kun left
17:41
sena_kun joined
|
|||
nine | dogbert17: there now should be a spesh-49.log or something like that | 17:52 | |
dogbert17 | nine: can't find anything. Perhaps I should run with MVM_SPESH_LOG set? | 18:00 | |
nine | tools/jit-bisect.pl already runs with MVM_SPESH_LOG | 18:01 | |
should be spesh-49.txt | |||
It should also have said "SPESH Acquiring log: spesh-49.txt" | |||
dogbert17 | aha, but jit-bisect only says 'This program cannot be bisected: 256' | 18:02 | |
nine | Oh, you tried spesh-bisect, not jit-bisect | ||
dogbert17 | I tried with MVM_SPESH_BLOCKING=1 nqp/MoarVM/tools/jit-bisect.pl ./perl6-m bug.pl6 | 18:03 | |
nine | add --spesh | ||
No need for MVM_SPESH_BLOCKING, the script adds that anyway | 18:04 | ||
dogbert17 | aha | ||
it's looking more promising ... | |||
SPESH Broken frame: 2688. | 18:05 | ||
SPESH Acquiring log: spesh-2688.txt | |||
ran it twice, same result | |||
file is 35 kB | |||
should I gist the entire file? | 18:08 | ||
nine | sure | 18:09 | |
dogbert17 | gist.github.com/dogbert17/232897a9...ea2b84688d | 18:11 | |
18:20
sena_kun left,
sena_kun joined
18:32
zakharyas left
|
|||
nine | Spesh of 'unimatch' (cuid: 18154, file: SETTING::src/core.c/unicodey.pm6:500) | 18:38 | |
certainly fits the problem | |||
lizmat | the problem being? returning Nil on a --> Bool:D sig ? | 18:44 | |
nine | I think Nil is always allowed | 18:52 | |
m: sub foo(--> Bool:D) { Nil } ; dd foo | |||
camelia | Nil | ||
lizmat | yeah, but maybe something somewhere disagrees (sometimes) ? | 18:55 | |
and decides to coerce ? | |||
m: dd Nil:Bool | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid type smiley ':Bool' used, only ':D', ':U' and ':_' are allowed at <tmp>:1 ------> 3dd Nil:Bool7ā5<EOL> expecting any of: pair value |
||
lizmat | m: dd Nil.Bool | ||
camelia | Bool::False | ||
19:21
patrickb joined
19:51
brrt joined
20:13
zakharyas joined
|
|||
nine | MVM_SPESH_BLOCKING=1 rakudo -e 'use nqp; sub foo(--> Bool:D) { nqp::iseq_i((my int $ord = nqp::ord("")), -1) ?? Nil !! True }; dd foo for ^200' | 20:19 | |
Changes its output from Nil to Bool::True after ~ 150 iterations | |||
dogbert17 | which sounds a bit buggy | 20:23 | |
MasterDuke | bisectable6: use nqp; sub foo(--> Bool:D) { nqp::iseq_i((my int $ord = nqp::ord("")), -1) ?? Nil !! True }; my $a; $a := foo for ^2_000; say $a | 20:24 | |
bisectable6 | MasterDuke, Will bisect the whole range automagically because no endpoints were provided, hang tight | ||
MasterDuke, Output on all releases: gist.github.com/025603cb4d23030645...0b5f0a6c0c | 20:25 | ||
MasterDuke, More than 4 changes to bisect, please try a narrower range like old=2018.12 new=HEAD | |||
MasterDuke | evalable6: use nqp; sub foo(--> Bool:D) { nqp::iseq_i((my int $ord = nqp::ord("")), -1) ?? Nil !! True }; my $a; $a := foo for ^20_000; say $a | ||
evalable6 | True | ||
20:25
eater joined
|
|||
nine | Got it down to just: use nqp; sub foo() { nqp::ord("") == -1 ?? Nil !! True }; dd foo for ^200 | 20:26 | |
MasterDuke | bisectable6: use nqp; sub foo(--> Bool:D) { nqp::iseq_i((my int $ord = nqp::ord("")), -1) ?? Nil !! True }; my $a; $a := foo for ^20_000; say $a | ||
bisectable6 | MasterDuke, Will bisect the whole range automagically because no endpoints were provided, hang tight | ||
MasterDuke, Output on all releases: gist.github.com/6723a1c358858f7c24...871aa676fe | |||
MasterDuke, More than 4 changes to bisect, please try a narrower range like old=2018.05 new=HEAD | |||
20:26
eaterof left
|
|||
MasterDuke | bisectable6: old=2018.05 use nqp; sub foo(--> Bool:D) { nqp::iseq_i((my int $ord = nqp::ord("")), -1) ?? Nil !! True }; my $a; $a := foo for ^20_000; say $a | 20:27 | |
bisectable6 | MasterDuke, Bisecting by output (old=2018.05 new=a26ff40) because on both starting points the exit code is 0 | ||
[Coke] | if someone has approved my PR, is it gauche to merge it myself? | ||
bisectable6 | MasterDuke, bisect log: gist.github.com/a5f8cd49b97fb1f7c3...bffa818050 | 20:28 | |
MasterDuke, (2018-07-09) github.com/rakudo/rakudo/commit/bd...6f154413dd | |||
[Coke] | (was just 1455, smol README updates) | ||
nine | [Coke]: yes | 20:30 | |
20:30
brrt left
|
|||
Geth | MoarVM: 8a5e05b0ac | Coke++ | README.markdown Minor README updates * cleanup old claims * mention JS * encourage IRC, not private email |
20:31 | |
MoarVM: fb696f18aa | MasterDuke17++ (committed using GitHub Web editor) | README.markdown Merge pull request #1455 from coke/master Minor README updates |
|||
nine | Actually, it's embarassingly short: use nqp; note nqp::ord("") for ^200' | 20:52 | |
Because it's actually a JIT bug | |||
MVM_string_ord_at returns a MVMGrapheme32 which is a 32 bit signed integer. However we treat it as a 64 bit integer without proper sign extension, which turns a -1 into 4294967295 | 20:55 | ||
Same bug is present in both the lego jit version (where I know how to fix it) and the expr jit version (where I don't) | 20:56 | ||
20:56
linkable6 left
20:57
linkable6 joined
|
|||
nine | And now I do | 21:00 | |
21:02
zakharyas left
|
|||
Geth | MoarVM/fix_ord_jit: 3a62bdf77a | (Stefan Seifert)++ | 2 files Fix JITed ordfirst/ordat/ordbaseat returning 4294967295 instead of -1 MVM_string_ord_at returns a MVMGrapheme32 which is a 32 bit signed integer. However we treated it as a 64 bit integer without proper sign extension, which turned a -1 into 4294967295. Fix by sign extend the result to a full 64 bit signed integer. |
21:02 | |
MoarVM: niner++ created pull request #1465: Fix JITed ordfirst/ordat/ordbaseat returning 4294967295 instead of -1 |
|||
21:12
patrickb left
|
|||
[Coke] | nine++ nice fix. | 21:22 | |
21:43
Kaiepi left
21:55
Geth left
21:56
Geth joined
21:58
sxmx left
22:03
sxmx joined
|