scalafmt
on your change? And there are a couple of instances where two words do not have a space between them in the reindeer description (“themto”, “is both”, etc). Thanks so much!
debug-santa-claus
that you might want to look at. At the moment, all it has is two print statements looping in fibers but the interesting thing is that they keep printing even when the santa problem stops so I don’t think we have thread deadlock. It looks to me like we aren’t correctly identifying/tracking opporunities to retry txns. The print shows that it gets stuck in a state where there are some pending transactions that never get retried
It looks to me like we aren’t correctly identifying/tracking opporunities to retry txns
I had exactly the same issue in my STM, btw, and it was due to two threads acting on retries in parallel, one beginning a retry the very same moment another added one on top.
STM.synchronized { ... }
instead of semaphore for easy scala-js compatibility (synchronized does nothing on SJS, but using Java semaphore causes linking errors)