These are race conditions and are notiously difficult to test for in Q&A.
I’ll explain racing concepts simply.
imagine you want to fry an egg. the steps are Crack egg, put in frying pan, fry egg. You expect to follow those steps in that order. But because of the scripting language they use, each step is a separate process, so imagine three people each with one task.
Some times, cook number two puts egg in frying pan before cook one cracks the egg. It almost never happens, but for some reason outside the frying egg rules something delays one of the cooks.
Now why is peralel programing used if these errors can happen? well, imagine four hungry people wanting fried eggs. You have four frying pans, you could use one pan at a time, or four pans and cook all four eggs at once. But there is a chance you could put two eggs in one pan because two cooks drop their eggs in at the same time.
Well, how can you prevent this? Why does it happen? Thats, ummm, complicated. The short answer is limitations in the scripting language, idiosyncrasies in the language between hardware platforms, and idiosyncrasies with the hardware and hardware 's operating system.
@Sirrian approved? lol