IRC channel logs

2026-10-16.log

back to list of logs

<mwette>If I want to generate a bunch of functions.
<mwette>thanks anyhow - congrat's on the grant
<ekaitz>i didn't get any! it's janneke's
<ekaitz>mwette: are you generating functions manually?
<ekaitz>did you read the tests, they might help you see
<mwette>ah, ok congrat's to janneke
<mwette>I'm playing around with some ideas. Maybe details later. I'll check the tests. Thanks.
<ekaitz>alright
<ekaitz>lightening is a little bit weird but you'll probably manage to read it easily
<ekaitz>you are a good programmer, you'll figure out
<ekaitz>in any case, GNU Lightning's documentation might help you a little, too
<mwette>I checked the doc. Nothing in there about that. I'll let you know if I figure it out.
<ekaitz>mwette: the leave_jit_abi is for preserving the registers
<ekaitz>and cleaning up the stack
<ekaitz>mwette: they create the entry point and the exit point of functions
<mwette>That's what it's looking like, prolog and epilog type stuff.
<ekaitz>if you see the tests, branches need to jit_leave_jit_abi but only one enter
<ekaitz>yes
<mwette>thx
<ekaitz>a different thing are the jit_begin/jit_end
<ekaitz>those initialize/cleanup the jit itself
<mwette>I guess those set up the jit-engine itself: init data structures etc.
<ekaitz>yes, exactly
<ekaitz>take a look, it's pretty readable
<yarl>hi
<isaneran>dariqq: I'm here now as well
<isaneran>I was actually just running the tests, though I'm not sure how long they are supposed to take
<isaneran>been stuck on `Testing dynamic-wind* in a loop with concurrency and preemption ...` for a while
<dariqq>Hi, I am not sure to what extent this should work on darwin (there might be more bugs here), On my linux system the whole tests take < 1min
<dariqq>if it takes significantly longer this looks like a problem
<isaneran>yeah it was stuck for probably at least 10 minutes before I cancelled
<isaneran>I will see what happens on 1.4.0
<isaneran>I think 1.4.1 or so was one that contained a breaking change where I couldn't even do a basic run-fibers test
<isaneran>yeah it's probably stuck on that test again, will let it run a bit longer, but it suggests that it has nothing to do with your patch at least! But something we can try to fix!
<dariqq>I can try to help you but i am not sure how useful I can be without a darwin machine in reach
<isaneran>Yeah understandable, I'll try to be a bit self sufficient, but I am new to the codebase and stuff so it's useful to be able to take some hints!
<isaneran>But yeah it's been spinning its wheels for ten minutes now, so it's definitely not working
<isaneran>I will try to play around with changing stuff in the test and get it "passing" so I get some indication of what might be the cause
<isaneran>just ended up falling down a sidequest of trying to get the erc track mode to be less noisy lol
<isaneran>dariqq: but yeah I think since this goes back to 1.4.0 you could do a PR with the fix or something! :)
<dariqq>i am also not super knowledgable, I just wanted to fix it on BSD
<ekaitz>isaneran: is the JIT enabled?
<isaneran>ekaitz: hmm not sure, is it on by default on darwin?
<dariqq>isaneran: it feels kind of weird for me to propose a darwin Fix when I cant verify it :)
<ekaitz>i guess so
<isaneran>dariqq: ah ye, I just thought it made sense since you were the one who made the patch, I can make a PR though if you'd rather save the effort. Didn't wanna steal your credit :)
<ekaitz>isaneran: what's the architecture?
<isaneran>ARM (m1)
<dariqq>(even though I slighly messed something up but that would not make any difference in the end)
<ekaitz>that's what I was expecting
<ekaitz>isaneran: try disabling the JIT first
<isaneran>oh?
<ekaitz>ACTION ported the JIT library to RISC-V
<isaneran>legend
<isaneran>yeah I'm just looking around in the manual to figure out how to do it haha
<ekaitz>GUILE_JIT_THRESHOLD is the env var you are looking for I think
<isaneran>yeah to -1
<ekaitz>there it is
<ekaitz>do that and run the tests again, several times if possible
<ekaitz>(they can pass just by chance)
<ekaitz>if they don't fail, it might be the JIT is producing wrong code
<isaneran>yeah I thought that was a possibility
<ekaitz>for barriers or atomics
<isaneran>intriguing
<ekaitz>ACTION also produced fibers bugs when the JIT port was done
<ekaitz>ACTION has been there
<isaneran>I wouldn't say the tests necessarily pass now but I do get a new result
<dariqq>it could also be something with the macos libc/pthread failing unexpectedly
<isaneran>hmm it aborts with trap 6 on that test
<isaneran>But this probably means that what this is testing doesn't work on darwin on own, but the fact that it gets stuck / fails a different way probably means the JIT might have some issues as well
<isaneran>(fails differently with jit*)
<ekaitz>yep
<ekaitz>that might be
<isaneran>I should try this on main instead though, cuz I realized I'm still on 1.4.0 now haha
<ekaitz>if it doens't work, open an issue on guile/lightening
<isaneran>yeah though should probably try to fix the non-jit related issue first maybe
<isaneran>or idk, it's good to report the issue regardless, but I feel like it is harder to diagnose it without getting it working jitless first
<isaneran>or at least challenging to not make an incoherent ramble about what issue I am running into haha
<isaneran>luckily no need to worry about that! the tests pass on main (after applying dariqq's patch)
<isaneran>(the tests in basic.scm) I didn't run all of the tests
<isaneran>ah but right actually they do fail sometimes since it's not deterministically reproducable
<isaneran>dariqq: it looks like your risc-v work isn't in a PR so I assume you have commit access, do you remember roughly which files were relevant for the atomics and barrier stuff?
<old>what's the issue here?
<isaneran>fibers on darwin
<old>wrt to the JIT ?
<old>I've fixed something in the JIT lately IIRC
<dariqq>isaneran: I think you mean ekaitz? I
<isaneran>ah yes sorry
<isaneran>old: in that case I should maybe try to build a newer guile or a newer guile with a newer lightening to try
<ekaitz>isaneran: i do have commit access now
<ekaitz>the files are the {$ARCH}-cpu.c if i'm not mistaken
<isaneran>thank you!
<old>see 098b15134a101e35437ffaa9de5bcde76f5fe8c7
<isaneran>old: in guile or lightening?
<isaneran>nvm, in guile :)
<dsmith>1.4.0 ? *Guile* 1.4.0?
<rlb>ACTION guessed fibers
<ekaitz>yes
<ekaitz>not guile
<lechner>Interesting
<ArneBab>old: do you mean a tree-il expander for min and max instead of in Scheme? There are quite a few corner cases – can these be represented as clearly as a tree-il expander?
<kestrelwx>untrusem: ping.