Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
00:02
reportable6 left
00:05
reportable6 joined
00:59
vrurg left
01:10
kjp left
01:20
vrurg joined
02:20
evalable6 left,
linkable6 left
02:23
linkable6 joined
03:00
Xliff_ left
04:14
frost joined
04:21
evalable6 joined
05:58
linkable6 left,
quotable6 left,
nativecallable6 left,
bisectable6 left,
releasable6 left,
notable6 left,
bloatable6 left,
unicodable6 left,
evalable6 left,
statisfiable6 left,
greppable6 left,
shareable6 left,
benchable6 left,
squashable6 left,
committable6 left,
sourceable6 left,
reportable6 left,
tellable6 left,
coverable6 left,
releasable6 joined
05:59
notable6 joined,
unicodable6 joined,
coverable6 joined,
nativecallable6 joined
06:00
benchable6 joined,
greppable6 joined,
committable6 joined,
squashable6 joined
06:01
tellable6 joined,
bisectable6 joined
06:04
reportable6 joined
06:58
quotable6 joined
07:00
linkable6 joined
07:01
sourceable6 joined
07:21
dogbert17 left
07:29
dogbert17 joined
07:59
evalable6 joined,
shareable6 joined
08:15
dogbert17 left
|
|||
lizmat | hmmm... I just noticed that just starting "raku" and letting it sit in the repl, grows at about 2MB / minute | 09:09 | |
raku -e 'sleep' does not do that, but that doesn't have the supervisor thread running | 09:10 | ||
so it feels to me the supervisor thread itself is leaking | |||
sadly a --profile of sitting in the REPL for a while, does not produce a HTML file that has something deciperable | 09:14 | ||
apart from the fact that for the 42 seconds it ran, it did 6 garbage collections | 09:15 | ||
09:15
evalable6 left,
linkable6 left
09:17
linkable6 joined
09:24
dogbert17 joined
|
|||
nine | Any full collections? | 09:30 | |
lizmat | no | 09:35 | |
"There were 0 full collections involving the entire heap." | |||
nine | Then it might not be an actual leak, but simply objects making it into gen2 which keeps growing until one of the thresholds for a gen2 collection is reached | 09:37 | |
lizmat | but how can it be growing if the supervisor thread is supposed not to be allocating anything? | 09:40 | |
timo | i did measure recently that it does allocate some closure clones or something | 09:44 | |
lizmat | also: spectest does appear to still be significantly slower :-( | 09:47 | |
it's been a while since I regularly ran spectests, but: | 09:52 | ||
Files=1349, Tests=117859, 616 wallclock secs | |||
is a value for wallclock I have never seen on my machine | |||
10:00
bloatable6 joined,
statisfiable6 joined
10:02
raydiak left
|
|||
lizmat | git revert fbb5228e8ed0e566 33296d406511557a2b6 --no-commit | 10:04 | |
brings this back to: | |||
Files=1349, Tests=117859, 357 wallclock secs | |||
timo | i wonder what RMD would say about this | 10:13 | |
lizmat | a lot, probably :-) | 10:21 | |
in any case: github.com/rakudo/rakudo/pull/4577 | |||
nine | Since that commit was a correctness fix, I'd hesitate to revert it. No point in delivering a wrong result faster | 10:22 | |
lizmat | Well, I'd like to see it reverted before the 2021.10 release, to give us more time to figure out what causes the spectest slowdown | 10:23 | |
11:17
evalable6 joined
12:03
reportable6 left
12:05
reportable6 joined
12:06
squashable6 left
12:08
squashable6 joined
|
|||
Geth | MoarVM/fix_segfault_finding_dynamics_after_deopt: bce19e6663 | (Stefan Seifert)++ | 5 files Fix segfault when thread deopts while another tries to find a dynamic Commit e94893f897495f3de16d4898279c87e356058acb fixed a possible segfault in the frame walkercaused by a concurrent deopt in a different thread. The fix was to use a local copy of the frame's spesh_cand pointer. However MVM_spesh_deopt_find_inactive_frame_deopt_idx which is called by the same code also accesses the frame's spesh_cand. So this function could still end up ... (5 more lines) |
12:46 | |
MoarVM/fix_segfault_finding_dynamics_after_deopt: e1e9acac86 | (Stefan Seifert)++ | src/spesh/frame_walker.c Fix segfault in frame walker when other thread clears the frame's extra Similar to another thread clearing a frame's spesh_cand leading to issues fixed in commit bce19e6663aba5e32f2b6e1a8b8c1a2856b70f6a, it's also possible that another thread clears a frame's extra, right after we checked it for non-NULL and before we try to dereference it. Fix by taking a local copy of the pointer before we check and dereference it. |
|||
12:46
squashable6 left
|
|||
MoarVM: niner++ created pull request #1568: Fix segfault finding dynamics after deopt |
12:47 | ||
13:21
frost left
|
|||
Geth | MoarVM/fix_segfault_finding_dynamics_after_deopt: 74c35679a3 | (Stefan Seifert)++ | 5 files Fix segfault when thread deopts while another tries to find a dynamic Commit e94893f897495f3de16d4898279c87e356058acb fixed a possible segfault in the frame walkercaused by a concurrent deopt in a different thread. The fix was to use a local copy of the frame's spesh_cand pointer. However MVM_spesh_deopt_find_inactive_frame_deopt_idx which is called by the same code also accesses the frame's spesh_cand. So this function could still end up ... (5 more lines) |
13:32 | |
MoarVM/fix_segfault_finding_dynamics_after_deopt: 80f8edf947 | (Stefan Seifert)++ | src/spesh/frame_walker.c Fix segfault in frame walker when other thread clears the frame's extra Similar to another thread clearing a frame's spesh_cand leading to issues fixed in commit 74c35679a3fba707ad695c53c28918aca30b95b5, it's also possible that another thread clears a frame's extra, right after we checked it for non-NULL and before we try to dereference it. Fix by taking a local copy of the pointer before we check and dereference it. |
|||
nine | CI found an editing mistake that only showed up in non-JITed code | 13:33 | |
14:21
linkable6 left,
evalable6 left,
evalable6 joined
14:45
patrickb joined
14:47
squashable6 joined
15:47
evalable6 left
16:03
colemanx joined
16:27
Kaiepi left,
Kaiepi joined
17:21
linkable6 joined
17:24
Kaipi joined
17:25
Kaiepi left
17:28
Kaipi left,
Kaipi joined
17:32
Xliff joined
|
|||
Xliff | I am getting the following from Raukdo: "lang-call cannot invoke object of type 'VMNull' belonging to no language" | 17:34 | |
Is this a new-disp error? | |||
Geth | MoarVM/new-disp-nativecall: 9 commits pushed by (Stefan Seifert)++
|
17:36 | |
nine | Xliff: can't tell from that message alone | 17:37 | |
Xliff: the message is new-dispish, but the condition could just as well have led to a different error message (something like "Cannot invoke an object of type VMNull") before. | 17:38 | ||
Xliff | nine: I have a small program that invokes it. Would that help? | 17:46 | |
m: role IdentityAttibute { }; multi sub trait_mod:<is> (Attribute $attr, :$identity-data-store!) is export { $attr does IdentityAttribute; }; class A { has $!a; has $!b is identity-data-store; } | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> lang-call cannot invoke object of type 'VMNull' belonging to no language at <tmp>:1 |
||
timo | i can not speak for nine, but i assume "yes" | 17:47 | |
nine | On 2021.08 this gives: Cannot invoke this object (REPR: Null; VMNull) | ||
timo | interesting, i wonder how that does not explode in any ecosystem modules already | 17:48 | |
its not because of private vs public attributes i assume | |||
17:48
evalable6 joined
|
|||
nine | Huh: | 17:57 | |
m: multi sub trait_mod:<is> (Attribute $attr, :$identity-data-store!) is export { $attr does role IdentityAttribute { }; }; class A { has $!a; has $!b is identity-data-store; } | |||
camelia | ( no output ) | ||
18:03
reportable6 left
18:06
reportable6 joined
|
|||
Xliff | Huh! | 18:28 | |
So you pun the role directly to the Attribute and it works? | 18:29 | ||
18:55
Kaipi left,
Kaipi joined
|
|||
Geth | MoarVM/master: 7 commits pushed by (Daniel Green)++, MasterDuke17++
|
19:01 | |
19:06
sena_kun left,
sena_kun joined
19:10
Merfont joined,
Kaipi left
19:18
Kaipi joined,
Merfont left
19:32
linkable6 left
19:35
linkable6 joined
19:42
Merfont joined,
Kaipi left
19:47
Kaipi joined
19:48
Merfont left
20:09
patrickb left
20:25
Kaipi left,
Kaipi joined
20:27
Merfont joined,
Kaipi left
21:19
Merfont left,
Merfont joined
22:19
evalable6 left,
linkable6 left
22:22
colemanx left
22:59
Merfont left
23:00
Merfont joined
23:20
linkable6 joined
23:21
Kaipi joined
23:22
Merfont left
23:49
Merfont joined
23:50
Kaipi left
23:58
Merfont left
|