08:19 vrurg left 08:20 vrurg joined 13:03 vrurg_ joined 13:05 vrurg left
patrickb It seems that for a thread gc status the value `MVMGCStatus_NONE | MVMSuspendState_SUSPEND_REQUEST` is invalid (looking at github.com/MoarVM/MoarVM/blob/main...e.c#L337). 17:28
Still state is set in the debugserver here github.com/MoarVM/MoarVM/blob/main...ver.c#L697 17:29
I'm not entirely clear on the invariants of the GC status and how the different status' and suspendstates are meant to interact. 17:30
Can someone (timo?) clarify?
(I'm AFK soon, but will backlog!)
timo hm, could be that one is just tricky to hit in normal operation as another code path that checks the gc status for having to enter gc from interrupt would be running more often or something? seems like it should be allowed in the first link you posted 17:55
18:44 vrurg_ left
patrickb Ah, I think I got it. MVM_GC_enter_from_interrupt is able to deal with MVMSuspendState_SUSPEND_REQUEST. So I'll just need to adapt the if condition. Nice! Thanks for the quick help! 18:55
wait that's wrong. I hit that code path with a plain SUSPEND_REQUEST. I'll probably need to cas it to UNABLE | SUSPEND_REQUEST. Does that sound about right? 19:12
20:29 vrurg joined