Tony Garnock-Jones writes: > I'm seeing some very strange behaviour from `atomic-box-swap!` (but > not `atomic-box-compare-and-swap!`) on Guile 3.0.9 from Homebrew on > OSX Sonoma using an M3 Pro cpu. The issue does not seem to manifest on > x86_64. Could it be some interaction between Guile and M3 CPUs? > > Or am I just doing something very silly that shouldn't work at all and > just happens to look like it works on x86_64? > > Here's the program that fails. It will run for a few hundred million > rounds and then yield "q null in get". Note that using CAS seems to > work, but plain old swap doesn't. There are known issue(s) with Guile JIT and atomics on ARM (e.g. [1]). If the problem doesn't appear when disabling JIT, then you're probably seeing the same issue. 1: https://github.com/wingo/fibers/issues/83