🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
01:36 sjn_ joined, sivoais_ joined, andinus2 joined 01:40 bloatable6 left, quotable6 left, releasable6 left, shareable6 left, committable6 left, notable6 left, linkable6 left, epony left, sivoais left, sjn left, tellable6 left, unicodable6 left, evalable6 left, andinus left, shareable6 joined, releasable6 joined, committable6 joined, bloatable6 joined, quotable6 joined, unicodable6 joined, evalable6 joined, tellable6 joined, notable6 joined 01:41 epony joined, linkable6 joined 02:59 MasterDuke joined
MasterDuke my rakudo build (at 2024.01-32-g5c9156e26) is now dying because of the OOM killer when compiling CORE.c 03:01
tellable6 2024-02-12T09:12:56Z #raku-dev <nine> MasterDuke: pushed a fix for unsigned num
MasterDuke i even restarted because i thought it might have been because of a recent kernel update, but still happens after the restart. i can see the rss quickly climbing and i only have 32gb on this machine 03:03
japhb MasterDuke: If you just build the previous release (meaning 2024.01) does it do the same? 03:16
MasterDuke well, i assume it's a commit from the past ~30h, i was able to build yesterday afternoon 03:17
build with moarvm at HEAD and nqp at 94ee052770e28adc03e217b66210c8e5956c448d and rakudo at e93208ce71c3c51ea3b0c2bf9414d2000139f14c (i.e., latest moarvm, but right before the most recent nqp bump) 03:22
linkable6 (2024-02-12) github.com/Raku/nqp/commit/94ee052770 Bump MoarVM for the latest tweaks/optimizations
(2024-02-11) github.com/rakudo/rakudo/commit/e93208ce71 Remove read lock on MRO
japhb MasterDuke: I was just talking about ruling out something on your system *other* than Rakudo/NQP/MoarVM changes, and giving a solid starting point for bisection. 03:24
Habit, sorry. :-) 03:25
MasterDuke i did suspect the kernel-related stuff, but now i think it's the nqp/rakudo changes 03:26
3291cb41ce862163cb186b00900a864cf5766c7a looks like a decent possibility 03:28
linkable6 (2024-02-12) github.com/Raku/nqp/commit/3291cb41ce Streamline NQPClassHOW
MasterDuke nqp doesn't seem to use a lot of ram to build 03:31
unfortunately i can't see what's happening with heaptrack 04:08
backing up to the working build, we coerce a lot of largish ints to strs when compiling CORE.c (e.g.,  coerced 6445646954776 to a str 3314 times) 04:17
and heaptrack reports a max rss of 2g 04:18
04:18 epony left
MasterDuke we also coerce 64 to a str 42k times. maybe we should increase MVM_INT_TO_STR_CACHE_SIZE from 64 to 65 04:21
i'm guessing those large numbers are pointer addresses for WHICHes, but i don't know why we coerce the same ones multiple times 04:25
anyway, off to sleep & 04:28
04:33 andinus2 left 04:34 andinus joined 05:55 andinus left, andinus joined 06:31 MasterDuke left 09:11 sena_kun joined 09:29 sjn_ is now known as sjn
lizmat MasterDuke: that's probably my work on NQP streamlining NQPClassHOW :-( 10:52
tellable6 lizmat, I'll pass your message to MasterDuke
lizmat MasterDuke: sadly, the problem didn't expose itself in NQP itself :-( 10:53
tellable6 lizmat, I'll pass your message to MasterDuke
lizmat MasterDuke: am working on it
tellable6 lizmat, I'll pass your message to MasterDuke
11:19 epony joined 12:07 finanalyst joined
lizmat MasterDuke: fwiw, 6445646954776 appears to be an objectid this is used as a key in the typecache, and thus needs stringification 12:14
tellable6 lizmat, I'll pass your message to MasterDuke
lizmat perhaps the typecache could be a list 12:15
MasterDuke: looks like the issue in rakudo is caused by some circularity in setting up the type cache: a class having roles having classes that have the same roles or some such 12:43
tellable6 lizmat, I'll pass your message to MasterDuke
12:56 epony left
Geth nqp/main: 23194f5714 | (Elizabeth Mattijsen)++ | src/how/NQPClassHOW.nqp
Only add unique types to the typecache

One of the changes in 3291cb41ce862163cb18 was that recursion on roles in the typecache was unlimited, rather than only one level deep. This tripped something in the Rakudo build causing it to infiniloop on the build, presumably because of a type having a role having that same type, etc. etc. ... (5 more lines)
rakudo/main: 93f0d69675 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get latest NQPClassHOW tweaks
lizmat MasterDuke: all should be well again now
tellable6 lizmat, I'll pass your message to MasterDuke
Geth nqp/main: 57311710fa | (Elizabeth Mattijsen)++ | src/how/NQPClassHOW.nqp
Add support for TWEAK method

By popular demand, should be helpful in the Rakudo metamodel and bootstrap
13:36 sena_kun left 13:38 sena_kun joined
Geth rakudo/main: febe8ee862 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get support for TWEAK in NQP

For use in the metamodel and possibly bootstrap
14:00 Altai-man joined 14:01 sena_kun left
Geth nqp/main: 6f65509180 | (Elizabeth Mattijsen)++ | src/how/NQPAttribute.nqp
Streamline NQPAttribute

  - mostly cosmetic
  - remove unnecessary tests for !nqpisnull(foo) && foo: if foo is
   trueish, it cannot be nqp::isnull, so the first part of the check
   doesn't make sense, so remove it
  - add some comments
14:16 finanalyst left 14:38 epony joined 16:03 epony left 16:08 epony joined 16:20 epony left 16:36 epony joined 17:32 finanalyst joined 17:40 epony left 17:57 epony joined
Geth nqp/main: bd14e3d0df | (Elizabeth Mattijsen)++ | 2 files
Generalize handling of TWEAK

Adds a $!tweaks attribute to NQPClassHOW: a list with codeblocks to be executed at the end of the local BUILDPLAN. This should allow TWEAK blocks from roles to be added to a class, and thus provide a consistent means to initialize attributes of a role that is consumed by a class.
Also add some basic testing of BUILD / TWEAK: they did not appear to be tested as such yet.
19:07 epony left 19:08 epony joined 19:40 finanalyst left 20:16 epony left 20:17 epony joined 21:42 librasteve_ joined 22:46 epony left 22:47 epony joined 23:38 Altai-man left