07:50 lizmat left, lizmat joined 09:05 finanalyst left 11:29 librasteve_ left
nine Building with RAKUDO_RAKUAST=1 still requires this patch: github.com/rakudo/rakudo/commit/61...4c51e4c956 12:34
timo should we put in a "hack" to make this patch work fine with the legacy grammar? 17:48
nine Might avoid this unfortunate kind of confusion 17:49
17:50 librasteve_ joined
lizmat looks that Slang::Roman also got broken on RakuAST sometime in the past months :-( 18:15
looks like Slang::Roman needs a fix 18:23
20:00 MasterDuke joined
MasterDuke i had forgot that patch was needed for main to build with `RAKUDO_RAKUAST=1`. but unfortunately now my multi-part-name-fix branch gets in an infinite loop when building rakudo... 20:04
huh, why is it reading /proc/self/stat in a loop? 20:11
memory use is slowly increasing 20:15
gist.github.com/MasterDuke17/f882a...9e947a3655 has a snipped of an MVM_dump_backtrace 20:28
timo that would be the supervisor thread
MasterDuke gist updated with the start of the backtrace 20:30
timo well, "build-exception" sounds suspicious 20:33
it's trying to create an exception and first it has to compile something?
maybe it's trying to use a exception and it first has to instantiate the role by compiling and running the role body and that's actually where the problem is occuring? 20:34
MasterDuke it looks like it trying to compile something first, then tries to build the exception
timo oh, what's the call to "gist" in the middle for? 20:35
`<unknown>:1 (/home/dan/Source/raku/rakudo/blib/Perl6/BOOTSTRAP/v6c.moarvm:)` i would assume is one of our dispatchers
they all don't have names assigned to them 20:36
MasterDuke if i'm reading it correctly, it's trying to compile a constant, which causes BEGIN-time interpretation, then compilation of some new class created dynamically. that throws, and then somehow we're in an infinite loop? 20:39
timo i'm not yet familiar with all the IMPL-* methods that exist in rakuast 20:44
but yeah, from "scoped" -> "constant" i assume it's a "my constant" somewhere 20:45
and that constant looks to be located inside of a class block
MasterDuke i wonder if it's the new wrappers 20:46
timo from the implementation of .assuming? 20:47
MasterDuke eh, not sure 20:51
ugh, the merge doesn't simply revert 21:07
i believe it's `src/core.c/Rakudo/Iterator.rakumod:1760:Ā  Ā  my constant EmptyIterator = Empty.new;` 21:13
but the code near there hasn't been touched in 4 years 21:15
but that's the last call to `type-declarator:sym<constant>` in src/Raku/Actions.nqp before infinite loop 21:24
yeah, and then it's IMPL-INTERPRETing `new` 21:30
i don't see anything in the recent commits that's obviously related 21:46
huh. when we're looping, in IMPL-FIXUP-DYNAMICALLY-COMPILED-BLOCK right before trying to build-exception, `$visit.name` is `&infix:<==>`. the first time it's `&infix:<->` 22:09
timo have you been able to find why it's running into an exception, or what the exception is or is supposed to be?
MasterDuke wasn't expecting those
well, it's this block github.com/rakudo/rakudo/blob/main...#L342-L349 22:10
timo could just be it's got trouble looking up any infixes at all and the first code it's trying to interpret has a == as the first infix mentioned and in the process of creating the exception the first infix mentioned in the code it tries to interpret is -
or maybe we're so early in the code that these infixes truly aren't defined yet? 22:11
i'm not sure where Iterator.rakumod lives in the grand map of things
line 19628 has proto sub infix:<==> but EmptyIterator = Empty.new seems to be line 7644 22:15
MasterDuke well, github.com/rakudo/rakudo/blob/main...1748-L1761 doesn't obviously have either of those
timo that's why i think the problem happens when trying to build an exception while trying to run `Empty.new` there 22:16
MasterDuke right 22:17
that's not the most complicated `new()` i've ever seen 22:20
timo if you run again with spesh inlining turned off via env var, the backtrace may look different and may have slightly more helpful information 22:21
i also wonder if this is just the first mention of a constructor being compile-time evaluated that's blowing up and if just making it runtime instead will just go to the next BEGIN or constant 22:28
MasterDuke backtrace looks the same 22:29
timo hm, ok. maybe it doesn't work the way i thought 22:32
MasterDuke changing it to `my \EmptyIterator = Empty.new;` gets farther
but it still dies when it didn't before 22:33
gist.github.com/MasterDuke17/d9e7f...1e73428c39 22:34
timo trying to compile a signature of a method in a role and not finding a type name? 22:37
MasterDuke doesn't like `Iterate-int:D`
that's from `typo-typename` 22:38
timo welp, gotta run 22:42
MasterDuke later... 22:43
oh. looks like github.com/rakudo/rakudo/blob/main...4965-L4992 is missing github.com/rakudo/rakudo/blob/main...3419-L3424 22:50
how did rakudo build without that before? 23:02
hm, what has `.O()` become in rakuast? 23:16
well, will have to look into this more later 23:20
23:24 MasterDuke left