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:53 dogbert11 left 01:10 dogbert11 joined 02:10 evalable6 left, statisfiable6 left, unicodable6 left, nativecallable6 left, shareable6 left, squashable6 left, reportable6 left, greppable6 left, sourceable6 left, benchable6 left, bisectable6 left, quotable6 left, releasable6 left, bloatable6 left, tellable6 left, notable6 left, linkable6 left, coverable6 left, committable6 left 02:11 unicodable6 joined, coverable6 joined, releasable6 joined, squashable6 joined, bisectable6 joined, benchable6 joined 02:12 bloatable6 joined, statisfiable6 joined 02:13 evalable6 joined 03:11 committable6 joined, tellable6 joined 03:12 sourceable6 joined, reportable6 joined, quotable6 joined 03:13 greppable6 joined, linkable6 joined 04:11 nativecallable6 joined 05:11 evalable6 left, coverable6 left, committable6 left, squashable6 left, bloatable6 left, quotable6 left, sourceable6 left, benchable6 left, bisectable6 left, releasable6 left, greppable6 left, linkable6 left, unicodable6 left, tellable6 left, nativecallable6 left, statisfiable6 left, reportable6 left, committable6 joined 05:12 tellable6 joined 05:13 unicodable6 joined, quotable6 joined, greppable6 joined 05:14 statisfiable6 joined, releasable6 joined, sourceable6 joined, bisectable6 joined, evalable6 joined, squashable6 joined 06:12 nativecallable6 joined 06:13 benchable6 joined, linkable6 joined 06:14 notable6 joined 07:11 shareable6 joined 07:12 bloatable6 joined
Nicholas good *able6, #moarvm 07:17
08:09 frost joined
lizmat good moarning :-) 09:16
09:20 dogbert11 left 09:29 dogbert11 joined
jnthnwrthngtn moarning o/ 10:21
Nicholas \o 10:23
are you feeling better today?
jnthnwrthngtn Throat certainly feels less swollen. 10:26
And nose a bit less stuffy.
Brain feels like it's in backwards though. 10:27
lizmat consider using <== instead of ==> ? 10:37
jnthnwrthngtn :D 10:38
fwiw, suspect I'll be quite busy with current $dayjob thing for this/next week, but will have moar Raku time after that :)
10:39 evalable6 left, linkable6 left
nine jnthnwrthngtn: will you be able to review? 10:40
10:40 evalable6 joined
jnthnwrthngtn nine: Yes 10:41
And answer questions, as I have been. Just not writing much code. :) 10:42
At least that means I'm introducing less bugs!
nine fewer even :D
Nicholas I was going to say that too 10:43
but then I felt it rather optimisitc
countable bugs would imply finite bugs. It might be possible to find them all.
nine Well, no. Countable does not imply finite. "A countable set is either a finite set or a countably infinite set." according to Wikipedia. You are however absolutely right about the impossibility to find (and thus fix) all bugs, since every bugfix has a non-zero chance for introducing new bugs. So while lim(#bugs) -> 0, the number should actually never reach 0. 10:59
Geth MoarVM/fix_unwind_missing_frame: 9d794f8cad | (Stefan Seifert)++ | 2 files
Fix unwind missing a frame after special return

When we tried to add a special return handler onto the call stack and we had to allocate a new callstack region for this call stack record, the unwind following the execution of the special return handler missed a frame. This was because when we called MVM_callstack_unwind, on top of the callstack there was a region record instead of a frame. MVM_callstack_unwind however assumes that a region record instead of a frame. MVM_callstack_unwind however assumes that there is a frame on top and so didn't actually unwind the frame.
Fix by cleaning up the callstack before running a special return or unwind handler.
nine jnthnwrthngtn: while testing this ^ fix, I set MVM_CALLSTACK_DEFAULT_REGION_SIZE to 1024 to trigger the conditions more often. Since there's handling for allocations exceeding this default size, setting it so low should be safe, shouldn't it? Because some tests start to fail when I do 11:03
11:05 reportable6 joined
jnthnwrthngtn nine: I'd think so, and those failures are worth a look too. 11:12
nine on it
11:13 coverable6 joined 12:02 reportable6 left 12:05 reportable6 joined 12:28 frost left 12:40 linkable6 joined
nine Reduced region size may trigger it but what I then see looks more like a classic spesh issue (uninitialized register after deopt). The register in question should be written to by a PHI node and carries the appropriate deopt usage markers. The other side of the PHI (just one version) doesn't. So PEA optimized away the writer. 14:30
The PHI node is a converted return_o of an inlinee
15:22 evalable6 left, linkable6 left 15:23 evalable6 joined 15:25 patrickb joined 15:49 patrickb left
nine I could fix this particular segfault by copying the deopt_users from the PHI's target to the source in rewrite_returns. Don't know if that's a sensible fix though. 17:08
The other spec test failures with reduced region default size are all around signature unpacking. Unfortunately they are high level errors, so not as easy to debug. 17:10
See errors like "Too many positionals passed to 'foo'; expected 2 arguments but got 3 in sub-signature", "Type check failed in binding to parameter '$value'; expected Int but got Str ("x")", "Unexpected named argument 'her' passed in sub-signature of parameter c"
17:23 squashable6 left 17:24 linkable6 joined 17:25 squashable6 joined
lizmat nine: that feels like a bitmap got overridden somehow 17:59
18:02 reportable6 left 18:04 reportable6 joined 18:09 patrickb joined
patrickb nine: Unsure if it's relevant, but "Too many positionals passed to 'foo'; expected 2 arguments but got 3 in sub-signature" reminded me of github.com/croservices/cro-http/issues/128 18:10
18:25 patrickb left 19:54 lizmat_ joined, TempIRCLogger left 19:55 TempIRCLogger joined, RakuIRCLogger left, Geth joined 19:57 lizmat left 21:24 lizmat_ left, lizmat joined 22:21 squashable6 left, squashable6 joined 23:34 squashable6 left 23:36 squashable6 joined