[Coke] | jdv also fine with no release this month. | 01:25 | |
06:03
Voldenet left,
Voldenet joined
|
|||
ab5tract | today's rubber ducking update: the issue appears to lie somewhere in the way we resolve pseudo packages (or at least the UNIT pseudo package) | 08:03 | |
written down, that comes across as quite obvious :) | |||
but at least I'm in the right part of the internals now | |||
SmokeMachine | Does anyone know what this error is about? I installed rakudo on iSH on my iPhone and when I run that, it get that error… usercontent.irccloud-cdn.com/file/...274104.JPG | 09:29 | |
Adding —ll-exception does not change the output | 09:32 | ||
lizmat | feels like a question you should ask on #moarvm | 09:48 | |
10:11
El_Che left
11:11
sivoais_ left,
sivoais joined
|
|||
nine | I guess whatever that iSH thing is, it defines __APPLE__ but unlike MacOS doesn't support pthread_getname_np so we fail in 3rdparty/libuv/src/unix/thread.c:956 | 11:16 | |
11:28
ab5tract_ joined
11:35
ugexe left,
ab5tract left,
ab5tract_ is now known as ab5tract,
ab5tract left,
ab5tract joined
|
|||
ab5tract | nine: afaict the issue with $=finish is that the CHECK code is running prior to the compunit installing its lexicals | 11:40 | |
11:40
ugexe joined
|
|||
ab5tract | But from there, I have very little clue for how to proceed | 11:40 | |
I have a naive fix but obviously fixing the underlying problem would be much preferred | 11:41 | ||
nine | ab5tract: What exactly do you mean by "installing its lexicals"? How did you determine that it hasn't done that yet? | 11:46 | |
ab5tract | what I mean is that they don't appear to be in the QAST. for instance, see this github.com/rakudo/rakudo/pull/5953...6a1af8R305 | 11:48 | |
but that's the "papered over" solution | 11:49 | ||
one other dynamic I've observed is that PsuedoStash's $!ctx is null during the CHECK-time resolution | 11:50 | ||
nine | Are they never included in the QAST at all? | 11:54 | |
ab5tract | nine: no they are in place by INIT | ||
nine | But, but, but the QAST is only generated once and then cached | 11:55 | |
ab5tract | hmm | ||
then I guess that line of thought is probably a red herring | |||
The PsuedoStash missing a `$!ctx` is probably a more fruitful avenue for me to investigate | 11:56 | ||
when it's null, the relevant sub returns Nil | 11:57 | ||
(the relevant code for that is in core.e/PseudoStash.rakumod) | 11:59 | ||
ah, this is interesting.. $!ctx *is* defined at first. but when we search for the context that has !UNIT_MARKER, it becomes null | 12:29 | ||
so maybe the CHECK is running prior to PRODUCE-IMPLICIT-DECLARATIONS? (still doesn't make much sense) | 12:30 | ||
okay, this is getting weird. I've put in some debug code gist.github.com/ab5tract/15cdd3d7d...0d926d2932 | 13:40 | ||
now, I expected the !UNIT_MARKER check to fail for `CHECK UNIT::<$=finish>` | |||
ab5tract sees flaw in debug code | 13:41 | ||
this is better: gist.github.com/ab5tract/15cdd3d7d...0d926d2932 | 13:48 | ||
So yeah, it seems that the implicit declarations aren't in place during CHECK | 13:49 | ||
Geth | rakudo/r5855-finish-shenigans: 4d934ec4df | ab5tract++ | 2 files working! |
14:29 | |
rakudo/r5855-finish-shenigans: d76f8e56a7 | ab5tract++ | src/Raku/ast/code.rakumod Make UNIT implicits available to dynamic code |
|||
rakudo/r5855-finish-shenigans: 019b117f79 | ab5tract++ | 3 files RakuAST - Make UNIT implicits available to dynamic code This fixes R#5855 (#5855), where `$=finish` was not available during `BEGIN/CHECK` time. Ensuring that all of the compunit's implicit declarations are available during dynamic code execution addresses the ... (5 more lines) |
14:42 | ||
linkable6 | R#5855 [open]: github.com/rakudo/rakudo/issues/5855 [RAKUDO_RAKUAST=1] Could not find a compile-time-value for lexical $=finish | ||
rakudo/r5855-finish-shenigans: e9b593d9d5 | ab5tract++ | 2 files RakuAST - Make UNIT implicits available to dynamic code This fixes R#5855 (#5855), where `$=finish` was not available during `BEGIN/CHECK` time. Ensuring that all of the compunit's implicit declarations are available during dynamic code execution addresses the ... (5 more lines) |
14:45 | ||
linkable6 | R#5855 [open]: github.com/rakudo/rakudo/issues/5855 [RAKUDO_RAKUAST=1] Could not find a compile-time-value for lexical $=finish | ||
ab5tract | turns out my first patch wasn't too far off :D | 14:54 | |
I could see this still being off, though.. the number of items in UNIT::.keys during CHECK is a small fraction of what it is at run time | 15:04 | ||
It feels like the right way for this to work would be `$resolver.create-scope-implicits`. It does not work, unfortunately | 15:06 | ||
15:21
librasteve_ joined
|
|||
nine | ab5tract: nice work on that PR! | 17:04 | |
ab5tract | Unfortunately it falls down in testing :( | 17:11 | |
17:56
librasteve_ left
|
|||
ab5tract | something is trying to re-introduce `$=data` (and I assume other doc vars) | 17:57 | |
18:34
ugexe left,
ugexe joined
19:11
Pixi` joined
19:14
JRaspass left
19:15
JRaspass joined,
Pixi left
|
|||
ab5tract | also getting: Object of type NativeCall in QAST::WVal, but not in SC | 19:16 | |
in t/02-rakudo/16-begin-time-eval.t | |||
23:17
guifa joined
|
|||
japhb | ab5tract: In your patch, you delete lines 383 and 384, which together did an ensure-sc on the current-package. Is that intentional? | 23:24 |