ab5tract I wonder if there is some sort of prize available for such intrepid code as can trigger buffer overflows on the JVM 00:00
furthermore, is this an underlying JVM change that made otherwise excellent NQP code fail 00:01
Or is this an underlying JVM change that surfaced an ugly truth in the NQP implementation 00:02
Tune in next week on ONLY THE KEPT PROMISE WILL EVER KNOW (tm) 00:03
00:51 MasterDuke joined
MasterDuke jdv++ 00:51
timo: amazing find on that jvm stuff. i was trying to make the jvm backend's runNFA faster by porting old moarvm optimizations, but that blows everything i was trying out of the water 00:52
ab5tract, patrickb: i think the best long-term direction for the jvm backend is the truffle work pmurias started. it was showing *great* promise, but i didn't understand it well enough to continue it myself when he didn't have the time 00:54
but i think it could give moarvm a run for its money, and enable near-seamless use of other languages libraries/modules/packages 00:55
Geth rakudo/main: e1a77dc34d | (Daniel Green)++ | 3 files
Use binding for all sub aliases

Using assignment doesn't cause a segfault if you multi the alias name anymore (what 998a1ef fixed in the past), but might as well make them all consistent.
00:57
rakudo/main: 361cf23106 | MasterDuke17++ (committed using GitHub Web editor) | 3 files
Merge pull request #5631 from MasterDuke17/use_binding_for_all_aliases

Use binding for all sub aliases
02:49 MasterDuke left 06:49 sena_kun joined 07:04 dawids joined 07:08 dawids left 07:24 sena_kun left 07:39 finanalyst joined
nine ab5tract: still looks good 08:00
Geth nqp/main: 63731d9083 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for latest MasterDuke++ tweaks
08:20
rakudo/main: bd85145ee8 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP for latest MasterDuke++ MoarVM tweaks
08:41
09:00 finanalyst left
Geth Ā¦ rakudo: lizmat self-assigned [rakuast-highlight] problems with =finish github.com/rakudo/rakudo/issues/5633 11:04
rakudo/main: c2c8d7a013 | ab5tract++ | 14 files
[6.e] Provide `is revision-gated("6.x")` trait

This trait is primarily intended for allowing multi candidates to be considered for dispatch only when the caller's compiler version is above a certain revision.
By applying the trait to the proto at its minimum compatible ... (15 more lines)
11:12
rakudo/main: 778c7a63d2 | (Elizabeth Mattijsen)++ | 2 files
RakuAST: last statement in ::CompUnit is not in sink context

because there's nothing to sink to. This effectively ensures that the last statement in a ::CompUnit will have a closing semi-colon.
12:04
patrickb Master Duke: I agree that Truffle is the strategically best way forward for the JVM backend. Still I believe that Inline ::* is the better option for integrating different ecosystems. I think language ports to other VMs will always suffer from subtle incompatibilities. Inline::* sidesteps that issue entirely. 14:04
Also I've never seen stuff similar to I::* in any other language. I::P5 is simply amazing. 14:08
ab5tract I do wonder about how tricky it will be to hook into the JVM using NativeCall. There are a few missing pieces in current NativeCall that make it even straightforward libraries like raylib tricky to fully wrap. 15:35
I donā€™t intend to be discouraging in any way, I think Inline::Java would be an incredible thing to see 15:36
[Coke] Is there a guide on implementing an Inline other than "Read ::P5"? 15:40
I also think .NET would get us some converts as well.
(and might be easier than nqp.NET) 15:41
ab5tract [Coke]: it's definitely the reference implementation by which everything else must be built 16:34
as it more or less defines the expectations of an Inline:: module 16:35
so, that is to say, no there is no such guide
17:40 guest555 joined
Geth rakudo/main: 46d219b4c0 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c
spell out MVMROOT macro for now for compatibility

Moar just changed the macro definition, with this change we don't need to tiptoe around required revisions and bumpings and such.
17:51
lizmat timo: a simple recompile yields a broken raku installation, at least for me 18:06
lizmat nukes the install dir 18:07
and runs Configure again
timo uhhhh ok let me see 18:09
how broken exactly is it? 18:10
lizmat % raku
zsh: killed raku
timo i can "make test" just fine
ah
Geth rakudo/main: e94758306b | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c
Fix copy-pasto from previous commit
18:12
timo sorry for the noise
thanks for catching it so quickly
lizmat % raku 18:19
zsh: killed raku
lizmat nukes install again
timo any chance you could get me a stack trace? 18:21
lizmat alas, no
timo can you "lldb raku" then "run" or something?
lizmat I've gotten so used to crashes after rebuilding core setting, that I don't spend any time on it anymore, I just nuke everything 18:22
I think you should be able to reproduced by checking out 778c7a63d2
linkable6 (2024-08-30) github.com/rakudo/rakudo/commit/778c7a63d2 RakuAST: last statement in ::CompUnit is not in sink context
lizmat then build from there (with Configure.pl) 18:23
then advance to 46d219b4c0
linkable6 (2024-08-30) github.com/rakudo/rakudo/commit/46d219b4c0 spell out MVMROOT macro for now for compatibility
lizmat and run "make install"
timo ok, i'm using --gen-moar and currently building nqp 18:25
by "build from there" you also mean "make" right?
lizmat perl Configure.pl --gen-moar --make-install; actually 18:26
timo ok 18:27
well, 46d219b4c0 was wrong and e94758306b should be fixed compared to that 18:28
linkable6 (2024-08-30) github.com/rakudo/rakudo/commit/46d219b4c0 spell out MVMROOT macro for now for compatibility
(2024-08-30) github.com/rakudo/rakudo/commit/e94758306b Fix copy-pasto from previous commit
timo i followed the steps you gave me and am currently running "make spectest" and getting lots of "ok" 18:32
lizmat ok, how is "raku" in your path ?
timo ./install/bin/raku -e 'say "hi"'; that lies under /tmp/tmp.suz2KelKdL/rakudo/ 18:33
lizmat ok, how is "raku" in your PATH :-)
timo that's from ~/raku/prefix/bin/raku and it's also happy 18:34
lizmat I don't have a ~/raku ? 18:35
timo yeah that's mine
i made a clean clone of raku, nqp, and moarvm under /tmp/blah and used Configure.pl --gen-moar there
to make sure that even if my ~/raku/ stuff has any changes you don't have, it doesn't cause trouble wtih reproducing the crash 18:36
lizmat /Users/liz/Github/rakudo/install/bin is in my path 18:37
timo my $PATH raku has Rakudoā„¢ v2024.08-6-g778c7a63d / MoarVM version 2024.08-6-gf2dcdcae0. and my freshly made raku has Rakudoā„¢ v2024.08-6-g778c7a63d / MoarVM version 2024.08-5-g2b5dcaee9.
lizmat well, then I give up :-(
timo but you can build a raku that runs after cleaning your install from the newest rakudo commit? 18:38
rakudo's CI is happy with the latest commit, including the macos job
lizmat yeah, that's my point: that's why I nuke install and build from scratch, just like CI does 18:39
timo oh
one of these days i need to come visit you again maybe we can figure it out when sitting at the same table 18:40
lizmat sounds like a plan to me :-)
it is mightily annoying to the point I've all but automated installing zef and all the modules that I need, so that it only takes 2 minutes or so and no interventionn 18:41
timo right
18:49 sena_kun joined
ab5tract I recently discovered that rakubrew can point the shim towards a local checkout 18:54
The only caveat is that I need to incorporate make install into my ā€˜make-rakudoā€™ shell function (which I still havenā€™t done, but easy enough)
19:00 guest555 left
Geth rakudo/raku-ast-compiler-shorter-LTM: 81d43af66e | (Timo Paulssen)++ | tools/build/raku-ast-compiler.nqp
drastically speed up raku-ast-compiler.nqp

Terminating the LTM immediately after opening paren, bracket, or brace prevents the NFA from running all the way to the end of the file whenever it encounters an nqp-code token. This makes nqp-m finish the raku-ast-compiler in 4 seconds instead of 1600, and moar is a bit faster, too (but already plenty fast)
19:07
rakudo: timo++ created pull request #5635:
drastically speed up raku-ast-compiler.nqp
19:08
timo the push was just a rebase on latest main. now there's a pull request to go with it
coolroot is now merged inside moarvm \o/ 19:13
Geth nqp/main: c450b5b96d | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for Timo's MVMROOT changes
19:20
rakudo/main: 23da1ce118 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump Nqp for Timo's MoarVM MVMROOT changes
19:31
lizmat hmmmm make test / spectest are ok 19:36
but now the REA harvester is broken
% raku -e 'use Ecosystem::Archive::Update' 19:37
zsh: segmentation fault raku -e 'use Ecosystem::Archive::Update
gist.github.com/lizmat/afa393276e2...d88c0512ef 19:39
ab5tract We do kind of need blin-as-a-service, eh? 19:44
not an automated CI/CD, but a big red button to press once and a while
lizmat if you mean jdv ? 19:48
looks like the zef installation problem was caused by a borked Staging module, fixed now 19:49
ab5tract lizmat: no, I do not mean jdv should be considered blin-as-a-service :) 19:57
I'm saying that it was two and a half pains in the butt to get blin running on my laptop
It would be infinitely better to have the option to, for example, kick off a blin run based on the new MVMROOT changes 19:58
that "anyone" could initiate, with ease and minimal fuss
that way we might get additional data points on what is broken and how 19:59
lizmat sadly, I don't know of such a button :-(
ab5tract there's got to be some kind of at-will pipeline option in github 20:02
I'll look into it
It would be interesting just to find out what it costs to do a blin on azure 20:03
patrickb ab5tract: Re raylib vs NativeCall, that's just because moar currently doesn't accept externally spawned threads. Incidentally fixing that is also on my to-do list (though way above) :-D 20:06
If it interests someone, I have my to-do list on the webs: boekernet.de/~patrick/finger.txt 20:08
[Coke] (blin on azure) I could give that a shot. I had been using azure to test some windows stuff ocassionally, but setting up a linux vm for blin should be triviail) 20:10
ab5tract [Coke]: that would be awesome 20:12
I'd even cover the costs of running it, assuming we can put a cap on it to ensure that we never go above $x/month 20:13
patrickb: ah, yeah there is that part indeed! For some reason I recall there being another really annoying thing to try and work around that was more API related, but I admit at the moment it completely escapes me 20:14
patrickb Non pointer structs is impossible to do ATM iirc 20:15
ab5tract that's a big one, yeah
ISTR nine had some ideas for a big NativeCall refresh that would cover that and some other issues 20:16
one step at a time, I guess :)
I wonder what macros might add to the binding story, if anything
[Coke] is ubuntu a reasonable choice for blin? 20:18
(any 64bit linux, seems)
ab5tract one second, let me see what I was using locally
[Coke] Apparently I was using debian/bookworm-slim as an image 20:19
which indicates that ubuntu would indeed be a fine fit
patrickb: `my $image = image-text('*', 32, $white);` <--- snowfall simulator is stuck in ASCII 20:20
I couldn't get the cascade of function calls required to use unicode to work correctly. I have a feeling that it's the struct issue you mentioned.. 20:21
[Coke] The estimated cost isn't worth complaining about at this point, let me see if I can get something started. 20:23
ab5tract [Coke]: awesome! 20:26
patrickb: it is indeed... the Font struct does not seemed to be referenced via pointer in raylib 20:27
curse me and my lack of knowledge in this domain.. I would love to be able to fix this
[Coke]: regarding cost, I believe blin took something like 8-12 hours on (a docker image) on my M2 20:28
but let's see how it goes 20:29
[Coke] I couldn't get it to even run on docker on my m2. :) 20:30
patrickb ab5tract: Can't do everything at once. One thing after the other. I for one will work on the debugger for the next few months at least. Then the next thing. :-)
ab5tract patrickb: I hear that indeed 20:31
patrickb On that note, I'm still searching for a good name. ladybug is sadly taken.
ab5tract which is why I'm bemoaning my lack of ABI skillz :)
[Coke] installing build tools but heading afk for a bit. Keeping pinging me, I'll get it setup.
ab5tract [Coke]: regarding that, github.com/ab5tract/Blin/commit/d9...3627458a4b
[Coke] ... ok, on to building rakudo 20:32
patrickb Currently I'm pondering "rad" the RAku Debugger. Unsure if that word is too overloaded already though.
ab5tract [Coke]: the most relevant non-arm64 thing in there is the `single-revision` stuff: this is more or a less a must-have for the concept of the Big Red Blin Button 20:33
patrickb: I knew a Radmila once, and she was a lovely person. Always thought it was a cool name too 20:34
(re: single-revision -- it allows you to specify a commit that isn't necessarily merged yet) 20:35
&sleep \o 20:40
22:17 sena_kun left